Helper routines for the euler equation system.
An indicator that completely deactivates linearization.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_euler_type), | intent(in) | :: | euler | Description of the equation |
||
real(kind=rk), | intent(in) | :: | mean(:) | The mean value of each state |
||
real(kind=rk), | intent(in) | :: | deviation(:) | Maximal deviation of each state |
An indicator to decide whether linearization of fluxes is tolerable based on the density.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_euler_type), | intent(in) | :: | euler | Description of the equation |
||
real(kind=rk), | intent(in) | :: | mean(:) | The mean value of each state |
||
real(kind=rk), | intent(in) | :: | deviation(:) | Maximal deviation of each state |
An indicator to decide whether linearization of fluxes is tolerable based on the energy in 3D.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_euler_type), | intent(in) | :: | euler | Description of the equation |
||
real(kind=rk), | intent(in) | :: | mean(:) | The mean value of each state |
||
real(kind=rk), | intent(in) | :: | deviation(:) | Maximal deviation of each state |
An indicator to decide whether linearization of fluxes is tolerable based on the energy in 2D.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_euler_type), | intent(in) | :: | euler | Description of the equation |
||
real(kind=rk), | intent(in) | :: | mean(:) | The mean value of each state |
||
real(kind=rk), | intent(in) | :: | deviation(:) | Maximal deviation of each state |
An indicator to decide whether linearization of fluxes is tolerable based on the energy in 2D.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_euler_type), | intent(in) | :: | euler | Description of the equation |
||
real(kind=rk), | intent(in) | :: | mean(:) | The mean value of each state |
||
real(kind=rk), | intent(in) | :: | deviation(:) | Maximal deviation of each state |
An indicator to decide whether linearization of fluxes is tolerable based on the error estimate.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_euler_type), | intent(in) | :: | euler | Description of the equation |
||
real(kind=rk), | intent(in) | :: | mean(:) | The mean value of each state |
||
real(kind=rk), | intent(in) | :: | deviation(:) | Maximal deviation of each state |
An indicator to decide whether linearization of fluxes is tolerable based on the error estimate.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_euler_type), | intent(in) | :: | euler | Description of the equation |
||
real(kind=rk), | intent(in) | :: | mean(:) | The mean value of each state |
||
real(kind=rk), | intent(in) | :: | deviation(:) | Maximal deviation of each state |
An indicator to decide whether linearization of fluxes is tolerable based on the error estimate.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_euler_type), | intent(in) | :: | euler | Description of the equation |
||
real(kind=rk), | intent(in) | :: | mean(:) | The mean value of each state |
||
real(kind=rk), | intent(in) | :: | deviation(:) | Maximal deviation of each state |
Initialization of the Euler equation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(flu_State), | intent(in) | :: | conf | Handle to the Lua configuration |
||
integer, | intent(in) | :: | thandle | Handle to the equation table in the Lua script given in conf. |
||
type(atl_Equations_type), | intent(inout) | :: | equation | Equation system to set with this routine. |
||
integer, | intent(in) | :: | nDimensions | Number of spatial dimensions, the Euler equations should live on. Has to be 1, 2 or 3. |
||
type(atl_init_source_type), | intent(inout) | :: | initSource | Type to be filled with the possible source variables for the equation system. These source variables are later on used to extract the corresponding information from the configuration file. |
||
type(atl_init_material_type), | intent(inout) | :: | initMaterial | Type to be filled with the possible material variables for the equation system. These material variables are later on used to extract the corresponding information from the configuration file. |
||
type(atl_varSys_solverData_type), | intent(inout) | :: | varSys_data | the pointer to the data required for the varsys |
Reading boundary conditions for the euler equations.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atl_Equations_type), | intent(inout) | :: | equation | |||
type(tem_bc_state_type), | intent(out), | allocatable | :: | bc_state(:) | ||
type(tem_bc_state_type), | intent(out), | allocatable | :: | bc_state_gradient(:) | ||
type(grw_stringkeyvaluepairarray_type), | intent(out) | :: | bc_varDict | Dictionary of boundary variables in bc_state |
||
type(grw_stringkeyvaluepairarray_type), | intent(out) | :: | bc_varDict_gradient | Dictionary of boundary variables in bc_state_gradient |
||
logical, | intent(out) | :: | bc_normal_vec | |||
logical, | intent(out) | :: | bc_normal_vec_gradient | |||
type(atl_eqn_var_trafo_type), | intent(out) | :: | bc_trafo | |||
type(atl_eqn_var_trafo_type), | intent(out) | :: | bc_trafo_gradient | |||
character(len=*), | intent(in) | :: | bc_label | |||
character(len=*), | intent(in) | :: | bc_kind | |||
integer, | intent(in) | :: | thandle | |||
type(flu_State) | :: | conf |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_euler_type), | intent(inout) | :: | euler | The equations type to set the numerical flux in. |
||
type(flu_state) | :: | conf | Configuration file handle to get the numerical flux setting from. |
|||
integer, | intent(in) | :: | eqn_handle | Handle to the equation table in the configuration script. |
||
integer, | intent(in) | :: | eqn_dim | Dimension of the equation to set the flux for. |
Getting the linearization indicator for Euler equations from the config.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_euler_type), | intent(inout) | :: | euler | The equations type to set the numerical flux in. |
||
type(flu_state) | :: | conf | Configuration file handle to get the numerical flux setting from. |
|||
integer, | intent(in) | :: | eqn_handle | Handle to the equation table in the configuration script. |
||
integer, | intent(in) | :: | eqn_dim | Dimension of the equation to set the flux for. |
Solve the equation system with just the penalization terms to find an implicit update for the IMEX timestepping procedure.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_material_type), | intent(in) | :: | material | Definition of the material, which directly describes the penalization. We expect the mask function Chi to be defined in materialdat(:,:,1), the obstacle velocity U_o in materialdat(:,:,2:nDims+1) and the obstacle Temperature T_o in materialdat(:,:,nDims+2). |
||
type(atl_euler_type), | intent(in) | :: | eqn | Definition of parameters in the Euler equations. This has to provide cv, the viscous permeability and the thermal permeability. |
||
real(kind=rk), | intent(in) | :: | weighted_dt | Timestep which is already weighted by the time integration scheme. |
||
integer, | intent(in) | :: | ndims | Number of dimensions, the equation system is computed in (2 or 3). |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Description of the projection for the material. |
||
real(kind=rk), | intent(inout) | :: | state(:,:,:) | The state variables of the equation system, they will be updated to the solution of the implicit computation for penalization. |
||
real(kind=rk), | intent(out) | :: | timestep_rhs(:,:,:) | Right hand side contribution by the implicit calculation. |