allocate array memory for data communication
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(controltype), | intent(in) | :: | control | Control parameters |
||
type(schemetype), | intent(in) | :: | scheme | finite-volume Schemes |
||
type(flowtype), | intent(in) | :: | flow | Information about fluid flow: freestream-speed, ref-viscosity,etc. |
||
type(extent), | intent(in) | :: | dims | Extent of the domain:imx,jmx,kmx |
subroutine setup_lusgs(control, scheme, flow, dims)
!< allocate array memory for data communication
implicit none
type(controltype), intent(in) :: control
!< Control parameters
type(schemetype), intent(in) :: scheme
!< finite-volume Schemes
type(flowtype), intent(in) :: flow
!< Information about fluid flow: freestream-speed, ref-viscosity,etc.
type(extent), intent(in) :: dims
!< Extent of the domain:imx,jmx,kmx
character(len=*), parameter :: errmsg="module: LUSGS, subrouinte setup"
!< Error message
imx = dims%imx
jmx = dims%jmx
kmx = dims%kmx
n_var = control%n_var
gm = flow%gm
mu_ref = flow%mu_ref
Reynolds_number = flow%Reynolds_number
free_stream_tu = flow%tu_inf
tk_inf = flow%tk_inf
tkl_inf = flow%tkl_inf
tpr = flow%tpr
pr = flow%pr
R_gas = flow%R_gas
call alloc(delQ, 0, imx, 0, jmx, 0, kmx, 1, n_var)
call alloc(delQstar, 0, imx, 0, jmx, 0, kmx, 1, n_var)
if(mu_ref==0.0 .or. scheme%turbulence=='none') then
call alloc(dummy, 0, imx, 0, jmx, 0, kmx)
dummy = 0.0
end if
if(mu_ref==0.0)then
mmu => dummy
else
mmu => mu
end if
if(trim(scheme%turbulence)=='none')then
tmu => dummy
else
tmu => mu_t
end if
end subroutine setup_lusgs