atl_cons_positivity_preserv_2d Subroutine

public subroutine atl_cons_positivity_preserv_2d(state, mesh, filter, euler, poly_proj)

Apply conservative limitation of denisty and energy to ensure positivity for density and pressure.

Arguments

TypeIntentOptionalAttributesName
type(atl_statedata_type), intent(inout) :: state
type(atl_cube_elem_type), intent(in) :: mesh
type(atl_cons_positivity_preserv_type), intent(in) :: filter
type(atl_euler_type), intent(in) :: euler
type(ply_poly_project_type), intent(inout) :: poly_proj

Calls

proc~~atl_cons_positivity_preserv_2d~~CallsGraph proc~atl_cons_positivity_preserv_2d atl_cons_positivity_preserv_2d interface~ply_poly_project_n2m ply_poly_project_n2m proc~atl_cons_positivity_preserv_2d->interface~ply_poly_project_n2m interface~ply_poly_project_m2n ply_poly_project_m2n proc~atl_cons_positivity_preserv_2d->interface~ply_poly_project_m2n proc~ply_convert2oversample ply_convert2oversample proc~atl_cons_positivity_preserv_2d->proc~ply_convert2oversample proc~solve_admissible_state_2d solve_admissible_state_2d proc~atl_cons_positivity_preserv_2d->proc~solve_admissible_state_2d proc~ply_convertfromoversample ply_convertFromOversample proc~atl_cons_positivity_preserv_2d->proc~ply_convertfromoversample proc~ply_poly_project_n2m_multivar ply_poly_project_n2m_multiVar interface~ply_poly_project_n2m->proc~ply_poly_project_n2m_multivar proc~ply_poly_project_m2n_multivar ply_poly_project_m2n_multiVar interface~ply_poly_project_m2n->proc~ply_poly_project_m2n_multivar proc~ply_convert2oversample_2d ply_convert2oversample_2d proc~ply_convert2oversample->proc~ply_convert2oversample_2d proc~ply_convert2oversample_3d ply_convert2oversample_3d proc~ply_convert2oversample->proc~ply_convert2oversample_3d proc~ply_convert2oversample_1d ply_convert2oversample_1d proc~ply_convert2oversample->proc~ply_convert2oversample_1d proc~tem_abort tem_abort proc~solve_admissible_state_2d->proc~tem_abort proc~ply_convertfromoversample_3d ply_convertFromOversample_3d proc~ply_convertfromoversample->proc~ply_convertfromoversample_3d proc~ply_convertfromoversample_1d ply_convertFromOversample_1d proc~ply_convertfromoversample->proc~ply_convertfromoversample_1d proc~ply_convertfromoversample_2d ply_convertFromOversample_2d proc~ply_convertfromoversample->proc~ply_convertfromoversample_2d proc~ply_fxt_n2m_1d ply_fxt_n2m_1D proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_1d interface~ply_pnttoleg_2d ply_pntToLeg_2D proc~ply_poly_project_n2m_multivar->interface~ply_pnttoleg_2d proc~ply_l2p_trafo_2d ply_l2p_trafo_2D proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_2d proc~ply_fxt_n2m_3d ply_fxt_n2m_3D proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_3d proc~ply_fxt_n2m_2d ply_fxt_n2m_2D proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_2d proc~ply_l2p_trafo_1d ply_l2p_trafo_1D proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_1d proc~ply_l2p_trafo_3d ply_l2p_trafo_3D proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_3d interface~ply_pnttoleg_3d ply_pntToLeg_3D proc~ply_poly_project_n2m_multivar->interface~ply_pnttoleg_3d proc~ply_fxt_m2n_3d ply_fxt_m2n_3D proc~ply_poly_project_m2n_multivar->proc~ply_fxt_m2n_3d interface~ply_legtopnt_2d ply_legToPnt_2D proc~ply_poly_project_m2n_multivar->interface~ply_legtopnt_2d proc~ply_fxt_m2n_1d ply_fxt_m2n_1D proc~ply_poly_project_m2n_multivar->proc~ply_fxt_m2n_1d proc~ply_poly_project_m2n_multivar->proc~ply_l2p_trafo_2d proc~ply_fxt_m2n_2d ply_fxt_m2n_2D proc~ply_poly_project_m2n_multivar->proc~ply_fxt_m2n_2d proc~ply_poly_project_m2n_multivar->proc~ply_l2p_trafo_1d proc~ply_poly_project_m2n_multivar->proc~ply_l2p_trafo_3d interface~ply_legtopnt_3d ply_LegTopnt_3D proc~ply_poly_project_m2n_multivar->interface~ply_legtopnt_3d

Called by

proc~~atl_cons_positivity_preserv_2d~~CalledByGraph proc~atl_cons_positivity_preserv_2d atl_cons_positivity_preserv_2d proc~atl_stabilize atl_stabilize proc~atl_stabilize->proc~atl_cons_positivity_preserv_2d proc~mesh_timestep_rktaylor mesh_timestep_rktaylor proc~mesh_timestep_rktaylor->proc~atl_stabilize proc~mesh_timestep_euler mesh_timestep_euler proc~mesh_timestep_euler->proc~atl_stabilize proc~mesh_timestep_euler->proc~mesh_timestep_euler none~substep substep none~substep->proc~atl_stabilize proc~mesh_timestep_imexrk mesh_timestep_imexrk proc~mesh_timestep_imexrk->proc~atl_stabilize proc~mesh_timestep_ssprk2 mesh_timestep_ssprk2 proc~mesh_timestep_ssprk2->proc~atl_stabilize program~atl_harvesting atl_harvesting program~atl_harvesting->proc~atl_stabilize proc~mesh_timestep_rk4 mesh_timestep_rk4 proc~mesh_timestep_rk4->none~substep

Contents


Variables

TypeVisibilityAttributesNameInitial
real(kind=rk), private, allocatable:: modalCoeffs(:,:)
real(kind=rk), private, allocatable:: pointVal(:,:)
real(kind=rk), private, allocatable:: hatDens(:)
real(kind=rk), private, allocatable:: t_vec(:)
real(kind=rk), private, allocatable:: limitedPntVal(:,:)
real(kind=rk), private :: mean(4)
integer, private :: iElem
integer, private :: iPoint
integer, private :: iVar
integer, private :: j
real(kind=rk), private :: minDens
real(kind=rk), private :: theta_1
real(kind=rk), private :: theta_2
real(kind=rk), private :: momSq
real(kind=rk), private :: tmpPressure
real(kind=rk), private :: my_eps
real(kind=rk), private :: pressMean
integer, private :: nquadpoints
integer, private :: oversamp_dofs