uoutletarea Subroutine

public subroutine uoutletarea(area)

Uses

  • proc~~uoutletarea~~UsesGraph proc~uoutletarea uoutletarea module~modfields modfields proc~uoutletarea->module~modfields module~modglobal modglobal proc~uoutletarea->module~modglobal module~modmpi modmpi proc~uoutletarea->module~modmpi decomp_2d decomp_2d module~modfields->decomp_2d mpi mpi module~modmpi->mpi

Arguments

Type IntentOptional Attributes Name
real, intent(out) :: area

Calls

proc~~uoutletarea~~CallsGraph proc~uoutletarea uoutletarea proc~sumy_ibm sumy_ibm proc~uoutletarea->proc~sumy_ibm mpi_allreduce mpi_allreduce proc~sumy_ibm->mpi_allreduce

Called by

proc~~uoutletarea~~CalledByGraph proc~uoutletarea uoutletarea proc~calcfluidvolumes calcfluidvolumes proc~calcfluidvolumes->proc~uoutletarea program~dalesurban DALESURBAN program~dalesurban->proc~calcfluidvolumes

Source Code

  subroutine uoutletarea(area)
    ! calculates outlet area of domain for u-velocity excluding blocks

    use modglobal, only   : ib,ie,jb,je,kb,ke,dy,dzf,ierank
    use modfields, only   : IIc
    use modmpi, only      : sumy_ibm

    implicit none
    real, intent(out)       :: area
    real, dimension(kb:ke)  :: sumy
    integer                    k

    sumy = 0.
    ! integrate fluid area at outflow plane in y
    ! Assumes ie=itot
    call sumy_ibm(sumy,IIc(ie,jb:je,kb:ke)*dy,ie,ie,jb,je,kb,ke,IIc(ie,jb:je,kb:ke))

    ! integrate fluid area at outflow plane in z
    do k=kb,ke
      sumy(k) = sumy(k)*dzf(k)
    end do
    area = sum(sumy(kb:ke))

  end subroutine uoutletarea