atl_modg_1d_ensure_pos_face Subroutine

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

Lift the value 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

Type IntentOptional Attributes Name
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_1d_ensure_pos_face~~CalledByGraph proc~atl_modg_1d_ensure_pos_face atl_modg_1d_ensure_pos_face proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->proc~atl_modg_1d_ensure_pos_face interface~atl_preprocess_rhs atl_preprocess_rhs interface~atl_preprocess_rhs->proc~preprocess_rhs_cubes proc~global_corrector_substep global_corrector_substep proc~global_corrector_substep->interface~atl_preprocess_rhs 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~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~rktaylor_substep rktaylor_substep proc~rktaylor_substep->interface~atl_preprocess_rhs proc~rktaylor_substep->proc~rktaylor_substep proc~mesh_timestep_imexrk mesh_timestep_imexrk proc~mesh_timestep_imexrk->proc~imexrk_substep proc~mesh_timestep_predcor_cerk4 mesh_timestep_predcor_cerk4 proc~mesh_timestep_predcor_cerk4->proc~global_corrector_substep proc~mesh_timestep_rk4 mesh_timestep_rk4 proc~mesh_timestep_rk4->proc~rk4_substep proc~mesh_timestep_rktaylor mesh_timestep_rktaylor proc~mesh_timestep_rktaylor->proc~rktaylor_substep proc~mesh_timestep_ssprk2 mesh_timestep_ssprk2 proc~mesh_timestep_ssprk2->proc~rk2_substep