inlettop Subroutine

private subroutine inlettop()

Uses

  • proc~~inlettop~~UsesGraph proc~inlettop modboundary::inlettop module~modfields modfields proc~inlettop->module~modfields module~modglobal modglobal proc~inlettop->module~modglobal module~modinletdata modinletdata proc~inlettop->module~modinletdata module~modmpi modmpi proc~inlettop->module~modmpi mpi mpi module~modmpi->mpi

Arguments

None

Calls

proc~~inlettop~~CallsGraph proc~inlettop modboundary::inlettop proc~slabsumi modmpi::slabsumi proc~inlettop->proc~slabsumi mpi_allreduce mpi_allreduce proc~slabsumi->mpi_allreduce

Called by

proc~~inlettop~~CalledByGraph proc~inlettop modboundary::inlettop proc~boundary modboundary::boundary proc~boundary->proc~inlettop proc~readinitfiles modstartup::readinitfiles proc~readinitfiles->proc~boundary program~dalesurban DALESURBAN program~dalesurban->proc~boundary proc~startup modstartup::startup program~dalesurban->proc~startup proc~startup->proc~readinitfiles

Contents

Source Code


Source Code

   subroutine inlettop

      use modglobal, only:ib, ie, jb, je, kb, ke, ih, jh, kh, dzh, dzf, &
         e12min, dxfi, dxf, dxhi, xh, jgb, jge, Uinf, dzfi
      use modfields, only:w0, wm, wout, wouttot
      use modinletdata, only:Uinl, ddispdxold
      use modmpi, only:slabsumi, myid
      implicit none
      integer :: i
      real    :: nji

      do i = ib, ie
         w0(i, :, ke + 1) = Uinf*ddispdxold
         wm(i, :, ke + 1) = Uinf*ddispdxold
      end do
      call slabsumi(wout, ib, ie, w0, ib - ih, ie + ih, jb - jh, je + jh, kb - kh, ke + kh, ib, ie, jb, je, ke + 1, ke + 1) ! determine vertical (j) average outflow velocity
      nji = 1./(jge - jgb + 1)
      do i = ib, ie
         wout(i) = wout(i)*dxf(i)*nji
      end do
      wouttot = sum(wout(ib:ie))/(xh(ie + 1) - xh(ib)) ! Area-averaged outflow velocity

      return
   end subroutine inlettop