atl_modg_2d_ensure_pos_facemean Subroutine

public subroutine atl_modg_2d_ensure_pos_facemean(nElems_fluid, volState, faceRep, nScalars, ensure_positivity)

Lift the mean on the face to a positive value if necessary.

In some equations, some variables may not be allowed to be negative, for example the density and energy in flow simulations. With this routine we enforce this limitation for the projected mean state on the element surfaces.

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: nElems_fluid

Number of fluid elements

real(kind=rk), intent(in) :: volState(:,:,:)

Volumetric modal states for each element

type(atl_faceRep_type), intent(inout) :: faceRep(:)

Modal representation on the face that might need limiting.

All means below 0 of variables where positivity is to be ensured will be increased to a small value above 0.

integer, intent(in) :: nScalars

Number of variables

logical, intent(in) :: ensure_positivity(:)

Indication for each variable, whether positivity is to be ensured or not.

Only variables where this is set to .true. will be modified by this routine.


Called by

proc~~atl_modg_2d_ensure_pos_facemean~~CalledByGraph proc~atl_modg_2d_ensure_pos_facemean atl_modg_2d_ensure_pos_facemean proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->proc~atl_modg_2d_ensure_pos_facemean interface~atl_preprocess_rhs atl_preprocess_rhs interface~atl_preprocess_rhs->proc~preprocess_rhs_cubes proc~rktaylor_substep rktaylor_substep proc~rktaylor_substep->interface~atl_preprocess_rhs proc~rktaylor_substep->proc~rktaylor_substep proc~rk2_substep rk2_substep proc~rk2_substep->interface~atl_preprocess_rhs proc~rk2_substep->proc~rk2_substep proc~rk4_substep rk4_substep proc~rk4_substep->interface~atl_preprocess_rhs proc~rk4_substep->proc~rk4_substep proc~imexrk_substep imexrk_substep proc~imexrk_substep->interface~atl_preprocess_rhs proc~imexrk_substep->proc~imexrk_substep proc~mesh_timestep_euler mesh_timestep_euler proc~mesh_timestep_euler->interface~atl_preprocess_rhs proc~mesh_timestep_euler->proc~mesh_timestep_euler proc~global_corrector_substep global_corrector_substep proc~global_corrector_substep->interface~atl_preprocess_rhs proc~mesh_timestep_rktaylor mesh_timestep_rktaylor proc~mesh_timestep_rktaylor->proc~rktaylor_substep proc~mesh_timestep_predcor_cerk4 mesh_timestep_predcor_cerk4 proc~mesh_timestep_predcor_cerk4->proc~global_corrector_substep none~substep substep none~substep->proc~rk4_substep proc~mesh_timestep_imexrk mesh_timestep_imexrk proc~mesh_timestep_imexrk->proc~imexrk_substep proc~mesh_timestep_ssprk2 mesh_timestep_ssprk2 proc~mesh_timestep_ssprk2->proc~rk2_substep

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iVar
integer, private :: iDir
real(kind=rk), private :: epsfact