Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(out), | dimension(ib:ie) | :: | output |
subroutine dispthickness(output) ! output is an array of length (ib:ie)) containing displacement thickness values use modglobal, only : ib,ie,kb,ke,dzf,xf,Uinf,numol implicit none real, dimension(ib:ie), intent(out) :: output !< dispacement thickness ! real, dimension(kb:ke) :: dthick real :: dispm real :: disp2m real :: xfdispm real :: ustar,blth real :: B = 5.0 ! Wake parameter real :: C = 0.5 ! Coles parameter real :: kappa = 0.41 ! Von k�r�n constant real :: lam ! = Uinf/ustar integer :: i do i=ib,ie ustar = sqrt(abs(2*numol* Utav(i,kb)/dzf(kb))) ! average streamwise friction lam = Uinf / ustar blth = (lam*numol/Uinf) * exp( kappa * (lam - B) - 2.*C) ! See App. Lund et al. output(i) = ((1. + C) / (kappa*lam) ) * blth end do dispm = sum(output(ib:ie))/(ie-ib+1) ! mean(displacement) disp2m = sum(output(ib:ie)**2.)/(ie-ib+1) ! mean(displacement^2) xfdispm = sum(xf(ib:ie)*output(ib:ie))/(ie-ib+1) ! mean(xf*displ) ddispdx = (xfdispm - (xfm*dispm)) / (xf2m -xfm**2.) ! this is d/dx(delta*) end subroutine dispthickness