momentumthicknessexp Subroutine

public subroutine momentumthicknessexp(output, uinput)

Uses

  • proc~~momentumthicknessexp~~UsesGraph proc~momentumthicknessexp modinlet::momentumthicknessexp module~modglobal modglobal proc~momentumthicknessexp->module~modglobal module~modinletdata modinletdata proc~momentumthicknessexp->module~modinletdata module~modmpi modmpi proc~momentumthicknessexp->module~modmpi mpi mpi module~modmpi->mpi

Arguments

Type IntentOptional Attributes Name
real, intent(out) :: output
real, intent(in), dimension(kb:ke) :: uinput

Called by

proc~~momentumthicknessexp~~CalledByGraph proc~momentumthicknessexp modinlet::momentumthicknessexp proc~inletgen modinlet::inletgen proc~inletgen->proc~momentumthicknessexp proc~inletgennotemp modinlet::inletgennotemp proc~inletgennotemp->proc~momentumthicknessexp proc~boundary modboundary::boundary proc~boundary->proc~inletgen proc~boundary->proc~inletgennotemp 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 momentumthicknessexp(output,uinput)

    use modglobal, only : jb,kb,ke,dzf !,Uinf
    use modinletdata, only : ubulk
    use modmpi, only    : myid
    implicit none

       real, dimension(kb:ke), intent(in) :: uinput  !< input velocity
       real, intent(out)                  :: output  !< momentum thickness
       real, dimension(kb:ke)             :: mthick
!       real    :: umax
       integer :: k 
     
!      write(6,*) 'uinletbc(jb,ke),Uinl(ke)=', uinletbc(jb,ke),uinput(ke)
!       umax = maxval(uinput)
       do k=kb,ke
         mthick(k) = ((uinput(k)/uinput(ke)) - (uinput(k)**2. / uinput(ke)**2.) )*dzf(k)
!         mthick(k) = ((uinput(k)/umax) - (uinput(k)**2. / umax**2.) )*dzf(k)

       end do
       output   = sum(mthick)  ! momentum thickness

  end subroutine momentumthicknessexp