voutletarea Subroutine

public subroutine voutletarea(area)

Uses

  • proc~~voutletarea~~UsesGraph proc~voutletarea voutletarea module~modfields modfields proc~voutletarea->module~modfields module~modglobal modglobal proc~voutletarea->module~modglobal module~modmpi modmpi proc~voutletarea->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~~voutletarea~~CallsGraph proc~voutletarea voutletarea proc~sumx_ibm sumx_ibm proc~voutletarea->proc~sumx_ibm mpi_allreduce mpi_allreduce proc~sumx_ibm->mpi_allreduce

Called by

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

Source Code

  subroutine voutletarea(area)
    ! calculates outlet area of domain for v-velocity excluding blocks

    use modglobal, only : ib,ie,jb,je,kb,ke,dxf,dzf,jerank
    use modfields, only : IIc
    use modmpi,    only : sumx_ibm

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

    sumx = 0.
    ! integrate fluid area at outflow plane in x
    ! Assumes je=jtot
    call sumx_ibm(sumx,IIc(ib:ie,je,kb:ke)*dxf(1),ib,ie,je,je,kb,ke,IIc(ib:ie,je,kb:ke))

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

  end subroutine voutletarea