Module containing subroutines for building MUSUBI specific absorbLayer source variables
Make target_pressure and target_velocity as stFun.
Stores time average values of density and velocity for dynamic absorbLayer
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private, | allocatable | :: | dens(:) | density time average in lattice unit |
||
real(kind=rk), | private, | allocatable | :: | velX(:) | velocity time average in lattice unit |
||
real(kind=rk), | private, | allocatable | :: | velY(:) | |||
real(kind=rk), | private, | allocatable | :: | velZ(:) | |||
logical, | private | :: | isInitDens | = | .true. | It is used to initialiye dynamic average density with initial condition |
|
logical, | private | :: | isInitVel | = | .true. | It is used to initialiye dynamic average velocity with initial condition |
Contains information for absorblayer
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(absorbLayer_config_type), | private | :: | config | Information loaded from configuration file |
|||
real(kind=rk), | private | :: | smoothFac | Smoothing factor for expoential moving average = 2 / (nRecord+1) |
Contains additional information for absorblayer source
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private | :: | target_pressure | target pressure |
|||
real(kind=rk), | private | :: | target_velocity(3) | target velocityX, velocityY and velocityZ |
|||
logical, | private | :: | isPressDyn | = | .false. | Use time average for pressure. Default: false. |
|
logical, | private | :: | isVelDyn | = | .false. | Use time average for Velocity. Default: false. |
|
integer, | private | :: | nRecord | = | 100 | Number of iterations to record for time-averaging |
This routine load additional information for absorblayer
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(absorbLayer_config_type), | intent(out) | :: | me | Absorb layer |
||
type(flu_State) | :: | conf | flu state |
|||
character(len=*), | intent(in) | :: | key | Table name to load target states |
||
integer, | intent(in) | :: | parent | parent source handle |
||
logical, | intent(in) | :: | loadPres | Load pressure if true else set to dynamic |
||
logical, | intent(in) | :: | loadVel | Load velocity if true else set to dynamic |
Initialize arrays to store time average density and velocity for dynamic absorbing layer. \todo KM: 20210301 Allocate only pressure or velocity depending on absorb_layer_inlet or absorb_layer_outlet
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_absorbLayer_type), | intent(inout) | :: | absLayer | Absorblayer type |
||
type(mus_absorbLayer_dynAvg_type), | intent(inout) | :: | dynAvg | Contains dynamic average density and velocity for absorblayer |
||
integer, | intent(in) | :: | nElems | Number of source elements |