atl_stabilize Subroutine

public subroutine atl_stabilize(minlevel, maxlevel, statedata_list, statedata_stab_list, mesh_list, scheme_list, poly_proj_pos, poly_proj_list, equation, tree, bc, boundary, general, commStateTimer, material_list)

Subroutine to apply the stabilization procedure to the state vector.

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: minlevel
integer, intent(in) :: maxlevel
type(atl_statedata_type), intent(inout) :: statedata_list(minlevel:maxlevel)
type(atl_statedata_type), intent(inout) :: statedata_stab_list(minlevel:maxlevel)
type(atl_cube_elem_type), intent(inout) :: mesh_list(minlevel:maxlevel)
type(atl_scheme_type), intent(inout) :: scheme_list(minlevel:maxlevel)
integer, intent(inout) :: poly_proj_pos(minlevel:maxlevel)
type(ply_poly_project_type), intent(inout) :: poly_proj_list(:)
type(atl_Equations_type), intent(in) :: equation
type(treelmesh_type), intent(in) :: tree

treelm mesh

type(atl_boundary_type), intent(in) :: bc(:)

The global description of the boundaries.

type(atl_level_boundary_type), intent(in) :: boundary(minlevel:maxlevel)

The levelwise collection of boundary elements and boundary faces.

type(tem_general_type), intent(inout) :: general

General treelm settings.

integer, intent(inout) :: commStateTimer

Timer for measuring the communication time inside this routine.

type(atl_material_type), intent(in) :: material_list(minlevel:maxlevel)

Calls

proc~~atl_stabilize~~CallsGraph proc~atl_stabilize atl_stabilize proc~atl_positivity_preserv_2d atl_positivity_preserv_2d proc~atl_stabilize->proc~atl_positivity_preserv_2d proc~atl_spectral_visc_3d atl_spectral_visc_3d proc~atl_stabilize->proc~atl_spectral_visc_3d proc~atl_get_numbndelems atl_get_numBndElems proc~atl_stabilize->proc~atl_get_numbndelems proc~tem_stoptimer tem_stopTimer proc~atl_stabilize->proc~tem_stoptimer interface~ply_poly_project_m2n ply_poly_project_m2n proc~atl_stabilize->interface~ply_poly_project_m2n proc~tem_abort tem_abort proc~atl_stabilize->proc~tem_abort proc~ply_convert2oversample ply_convert2oversample proc~atl_stabilize->proc~ply_convert2oversample proc~atl_cheb_spectral_visc_1d atl_cheb_spectral_visc_1d proc~atl_stabilize->proc~atl_cheb_spectral_visc_1d proc~atl_covolume_1d atl_covolume_1d proc~atl_stabilize->proc~atl_covolume_1d proc~atl_spectral_visc_1d atl_spectral_visc_1d proc~atl_stabilize->proc~atl_spectral_visc_1d proc~atl_cons_positivity_preserv_2d atl_cons_positivity_preserv_2d proc~atl_stabilize->proc~atl_cons_positivity_preserv_2d proc~tem_starttimer tem_startTimer proc~atl_stabilize->proc~tem_starttimer proc~atl_covolume atl_covolume proc~atl_stabilize->proc~atl_covolume proc~atl_spectral_visc_2d atl_spectral_visc_2d proc~atl_stabilize->proc~atl_spectral_visc_2d proc~ply_change_poly_space ply_change_poly_space proc~atl_stabilize->proc~ply_change_poly_space proc~atl_cons_positivity_preserv atl_cons_positivity_preserv proc~atl_stabilize->proc~atl_cons_positivity_preserv proc~atl_covolume_2d atl_covolume_2d proc~atl_stabilize->proc~atl_covolume_2d proc~atl_positivity_preserv atl_positivity_preserv proc~atl_stabilize->proc~atl_positivity_preserv proc~atl_positivity_preserv_2d->interface~ply_poly_project_m2n proc~atl_positivity_preserv_2d->proc~ply_convert2oversample interface~ply_poly_project_n2m ply_poly_project_n2m proc~atl_positivity_preserv_2d->interface~ply_poly_project_n2m proc~ply_convertfromoversample ply_convertFromOversample proc~atl_positivity_preserv_2d->proc~ply_convertfromoversample proc~atl_spectral_visc_3d->proc~tem_abort 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_1d ply_convert2oversample_1d proc~ply_convert2oversample->proc~ply_convert2oversample_1d 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~atl_cheb_spectral_visc_1d->proc~tem_abort proc~ply_fpt_exec_striped ply_fpt_exec_striped proc~atl_cheb_spectral_visc_1d->proc~ply_fpt_exec_striped proc~atl_covolume_tocovolume_1d atl_covolume_tocovolume_1d proc~atl_covolume_1d->proc~atl_covolume_tocovolume_1d proc~atl_spectral_visc_1d->proc~tem_abort proc~atl_cons_positivity_preserv_2d->interface~ply_poly_project_m2n proc~atl_cons_positivity_preserv_2d->proc~ply_convert2oversample proc~atl_cons_positivity_preserv_2d->interface~ply_poly_project_n2m proc~solve_admissible_state_2d solve_admissible_state_2d proc~atl_cons_positivity_preserv_2d->proc~solve_admissible_state_2d proc~atl_cons_positivity_preserv_2d->proc~ply_convertfromoversample proc~atl_covolume_tocovolume atl_covolume_tocovolume proc~atl_covolume->proc~atl_covolume_tocovolume proc~atl_spectral_visc_2d->proc~tem_abort proc~atl_cons_positivity_preserv->interface~ply_poly_project_m2n proc~atl_cons_positivity_preserv->proc~ply_convert2oversample proc~atl_cons_positivity_preserv->interface~ply_poly_project_n2m proc~solve_admissible_state solve_admissible_state proc~atl_cons_positivity_preserv->proc~solve_admissible_state proc~atl_cons_positivity_preserv->proc~ply_convertfromoversample proc~atl_covolume_tocovolume_2d atl_covolume_tocovolume_2d proc~atl_covolume_2d->proc~atl_covolume_tocovolume_2d proc~atl_positivity_preserv->interface~ply_poly_project_m2n proc~atl_positivity_preserv->proc~ply_convert2oversample proc~atl_positivity_preserv->interface~ply_poly_project_n2m proc~atl_positivity_preserv->proc~ply_convertfromoversample

Called by

proc~~atl_stabilize~~CalledByGraph proc~atl_stabilize atl_stabilize 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
integer, private :: iLevel
integer, private :: iStab
integer, private :: iDir
integer, private :: nStabs
integer, private :: nElems
integer, private :: nScalars
integer, private :: nDofs
integer, private :: nTotal
real(kind=rk), private :: ref_order
real(kind=rk), private :: recovery_order
real(kind=rk), private :: pressure
real(kind=rk), private :: mach
real(kind=rk), private, allocatable:: velocity(:)
integer, private :: oversamp_dofs
integer, private :: iElem
integer, private :: nquadpoints
integer, private :: iPoint
type(atl_adaptive_orders_type), private :: adaptive_orders(minlevel:maxlevel)
real(kind=rk), private, allocatable:: modalCoeffs(:,:)
real(kind=rk), private, allocatable:: pointVal(:,:)
type(atl_statedata_type), private, allocatable:: Q_statedata_list(:)
type(atl_statedata_type), private, allocatable:: Q_statedata_stab_list(:,:)
integer, private :: nBndStabElems(minLevel:maxLevel,1:3)
integer, private :: maxPolyDeg