Routines for stabilization of a spectral scheme.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private, | allocatable | :: | orders(:) |
Solve for admissible state of the conservative positivity preserving limiter.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | isen_coef | |||
real(kind=rk), | intent(in) | :: | my_eps | |||
real(kind=rk), | intent(in) | :: | mean(5) | |||
real(kind=rk), | intent(in) | :: | limitedDens | |||
real(kind=rk), | intent(in) | :: | momEnerg(2:5) |
Solve for admissible state of the conservative positivity preserving limiter.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | isen_coef | |||
real(kind=rk), | intent(in) | :: | my_eps | |||
real(kind=rk), | intent(in) | :: | mean(4) | |||
real(kind=rk), | intent(in) | :: | limitedDens | |||
real(kind=rk), | intent(in) | :: | momEnerg(2:4) |
Subroutine to apply the stabilization procedure to the state vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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) |
Apply conservative limitation of denisty and energy to ensure positivity for density and pressure.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Apply conservative limitation of denisty and energy to ensure positivity for density and pressure.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
Apply pointwise limitation of denisty and energy to ensure positivity for density and pressure.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_statedata_type), | intent(inout) | :: | state | |||
type(atl_cube_elem_type), | intent(in) | :: | mesh | |||
type(atl_positivity_preserv_type), | intent(in) | :: | filter | |||
type(atl_euler_type), | intent(in) | :: | euler | |||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj |
Apply pointwise limitation of denisty and energy to ensure positivity for density and pressure.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_statedata_type), | intent(inout) | :: | state | |||
type(atl_cube_elem_type), | intent(in) | :: | mesh | |||
type(atl_positivity_preserv_type), | intent(in) | :: | filter | |||
type(atl_euler_type), | intent(in) | :: | euler | |||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj |
Covolume filtering for 3D equation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minlevel | The minimal refinement level of the mesh. |
||
integer, | intent(in) | :: | maxlevel | The maximal refinement level of the mesh. |
||
type(atl_statedata_type), | intent(inout) | :: | state(minlevel:maxlevel) | State to be filtered (input and output) |
||
type(atl_statedata_type), | intent(inout) | :: | state_stab(minlevel:maxlevel,1:3) | |||
type(atl_cube_elem_type), | intent(inout) | :: | mesh(minlevel:maxlevel) | Mesh information for all the levels. |
||
type(atl_covolume_type), | intent(in) | :: | filter | The actual co-volume filter to be applied. |
||
type(atl_scheme_type), | intent(inout) | :: | scheme(minlevel:maxlevel) | List of numerical schemes for all the levels. |
||
type(atl_Equations_type), | intent(in) | :: | equation | Equation kind information |
||
type(treelmesh_type), | intent(in) | :: | tree | treelm mesh |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj(:) | The list of projections. |
||
integer, | intent(inout) | :: | poly_proj_pos(minlevel:maxlevel) | The mapping from each level to the projections. |
||
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_adaptive_orders_type), | intent(in), | optional | :: | adaptive_orders(minlevel:maxlevel) | The filters orders, if adaptive filter is applied |
Recursive routine to project the state from primal mesh to covolume mesh.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minlevel | The minimal refinement level of the mesh. |
||
integer, | intent(in) | :: | maxlevel | The maximal refinement level of the mesh. |
||
integer, | intent(in) | :: | iDir | The spatial direction for the projection: 1 -> x direction \n 2 -> y direction \n 3 -> z direction \n |
||
type(atl_statedata_type), | intent(inout) | :: | state(minlevel:maxlevel) | State to be filtered |
||
type(atl_statedata_type), | intent(inout) | :: | state_stab(minlevel:maxlevel,1:3) | |||
type(atl_cube_elem_type), | intent(inout) | :: | mesh(minlevel:maxlevel) | Mesh information for all the levels. |
||
type(atl_covolume_type), | intent(in) | :: | filter | The actual co-volume filter to be applied. |
||
type(atl_scheme_type), | intent(inout) | :: | scheme(minlevel:maxlevel) | List of numerical schemes for all the levels. |
||
type(atl_Equations_type), | intent(in) | :: | equation | Equation kind information |
||
type(treelmesh_type), | intent(in) | :: | tree | treelm mesh |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj(:) | The list of projections. |
||
integer, | intent(inout) | :: | poly_proj_pos(minlevel:maxlevel) | The mapping from each level to the projections. |
||
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_adaptive_orders_type), | intent(in), | optional | :: | adaptive_orders(minlevel:maxlevel) | The filters orders, if adaptive filter is applied |
Recursive interpolation of element states among the levels of the mesh.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minlevel | The minimal refinement level of the mesh. |
||
integer, | intent(in) | :: | maxlevel | The maximal refinement level of the mesh. |
||
integer, | intent(in) | :: | iLevel | The current level. |
||
integer, | intent(in) | :: | iDir | The direction to interpolate |
||
type(atl_statedata_type), | intent(inout) | :: | state(minlevel:maxlevel) | State to be filtered (input and output) |
||
type(atl_statedata_type), | intent(inout) | :: | state_stab(minlevel:maxlevel,1:3) | |||
type(atl_cube_elem_type), | intent(inout) | :: | mesh(minlevel:maxlevel) | Mesh information for all the levels. |
||
type(atl_scheme_type), | intent(inout) | :: | scheme(minlevel:maxlevel) | List of numerical schemes for all the levels. |
||
type(atl_Equations_type), | intent(in) | :: | equation | Equation kind information |
||
type(treelmesh_type), | intent(in) | :: | tree | treelm mesh |
||
integer, | intent(in) | :: | dimen | The spatial dimension under consideration. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj(:) | The list of projections. |
||
integer, | intent(inout) | :: | poly_proj_pos(minlevel:maxlevel) | The mapping from each level to the projections. |
||
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. |
Covolume filtering for 2D equation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minlevel | The minimal refinement level of the mesh. |
||
integer, | intent(in) | :: | maxlevel | The maximal refinement level of the mesh. |
||
type(atl_statedata_type), | intent(inout) | :: | state(minlevel:maxlevel) | State to be filtered (input and output) |
||
type(atl_statedata_type), | intent(inout) | :: | state_stab(minlevel:maxlevel,1:3) | |||
type(atl_cube_elem_type), | intent(inout) | :: | mesh(minlevel:maxlevel) | Mesh information for all the levels. |
||
type(atl_covolume_type), | intent(in) | :: | filter | The actual co-volume filter to be applied. |
||
type(atl_scheme_type), | intent(inout) | :: | scheme(minlevel:maxlevel) | List of numerical schemes for all the levels. |
||
type(atl_Equations_type), | intent(in) | :: | equation | Equation kind information |
||
type(treelmesh_type), | intent(in) | :: | tree | treelm mesh |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj(:) | The list of projections. |
||
integer, | intent(inout) | :: | poly_proj_pos(minlevel:maxlevel) | The mapping from each level to the projections. |
||
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_adaptive_orders_type), | intent(in), | optional | :: | adaptive_orders(minlevel:maxlevel) | The filters orders, if adaptive filter is applied |
Recursive routine to project the state from primal mesh to covolume mesh.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minlevel | The minimal refinement level of the mesh. |
||
integer, | intent(in) | :: | maxlevel | The maximal refinement level of the mesh. |
||
integer, | intent(in) | :: | iDir | The spatial direction for the projection: 1 -> x direction \n 2 -> y direction \n 3 -> z direction \n |
||
type(atl_statedata_type), | intent(inout) | :: | state(minlevel:maxlevel) | State to be filtered |
||
type(atl_statedata_type), | intent(inout) | :: | state_stab(minlevel:maxlevel,1:3) | |||
type(atl_cube_elem_type), | intent(inout) | :: | mesh(minlevel:maxlevel) | Mesh information for all the levels. |
||
type(atl_covolume_type), | intent(in) | :: | filter | The actual co-volume filter to be applied. |
||
type(atl_scheme_type), | intent(inout) | :: | scheme(minlevel:maxlevel) | List of numerical schemes for all the levels. |
||
type(atl_Equations_type), | intent(in) | :: | equation | Equation kind information |
||
type(treelmesh_type), | intent(in) | :: | tree | treelm mesh |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj(:) | The list of projections. |
||
integer, | intent(inout) | :: | poly_proj_pos(minlevel:maxlevel) | The mapping from each level to the projections. |
||
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_adaptive_orders_type), | intent(in), | optional | :: | adaptive_orders(minlevel:maxlevel) | The filters orders, if adaptive filter is applied |
Covolume filtering for 1D equation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minlevel | The minimal refinement level of the mesh. |
||
integer, | intent(in) | :: | maxlevel | The maximal refinement level of the mesh. |
||
type(atl_statedata_type), | intent(inout) | :: | state(minlevel:maxlevel) | State to be filtered (input and output) |
||
type(atl_statedata_type), | intent(inout) | :: | state_stab(minlevel:maxlevel,1:3) | |||
type(atl_cube_elem_type), | intent(inout) | :: | mesh(minlevel:maxlevel) | Mesh information for all the levels. |
||
type(atl_covolume_type), | intent(in) | :: | filter | The actual co-volume filter to be applied. |
||
type(atl_scheme_type), | intent(inout) | :: | scheme(minlevel:maxlevel) | List of numerical schemes for all the levels. |
||
type(atl_Equations_type), | intent(in) | :: | equation | Equation kind information |
||
type(treelmesh_type), | intent(in) | :: | tree | treelm mesh |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj(:) | The list of projections. |
||
integer, | intent(inout) | :: | poly_proj_pos(minlevel:maxlevel) | The mapping from each level to the projections. |
||
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. |
Recursive routine to project the state from primal mesh to covolume mesh.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minlevel | The minimal refinement level of the mesh. |
||
integer, | intent(in) | :: | maxlevel | The maximal refinement level of the mesh. |
||
integer, | intent(in) | :: | iDir | The spatial direction for the projection: 1 -> x direction \n 2 -> y direction \n 3 -> z direction \n |
||
type(atl_statedata_type), | intent(inout) | :: | state(minlevel:maxlevel) | State to be filtered |
||
type(atl_statedata_type), | intent(inout) | :: | state_stab(minlevel:maxlevel,1:3) | |||
type(atl_cube_elem_type), | intent(inout) | :: | mesh(minlevel:maxlevel) | Mesh information for all the levels. |
||
type(atl_covolume_type), | intent(in) | :: | filter | The actual co-volume filter to be applied. |
||
type(atl_scheme_type), | intent(inout) | :: | scheme(minlevel:maxlevel) | List of numerical schemes for all the levels. |
||
type(atl_Equations_type), | intent(in) | :: | equation | Equation kind information |
||
type(treelmesh_type), | intent(in) | :: | tree | treelm mesh |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj(:) | The list of projections. |
||
integer, | intent(inout) | :: | poly_proj_pos(minlevel:maxlevel) | The mapping from each level to the projections. |
||
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. |
Damp )the modal coefficients of the state vector by a given spectral viscosity method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_statedata_type), | intent(inout) | :: | state | |||
type(atl_cube_elem_type), | intent(in) | :: | mesh | |||
type(atl_spectral_visc_type), | intent(in) | :: | filter | |||
integer, | intent(in) | :: | maxPolyDeg |
Damp )the modal coefficients of the state vector by a given spectral viscosity method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_statedata_type), | intent(inout) | :: | state | |||
type(atl_cube_elem_type), | intent(in) | :: | mesh | |||
type(atl_spectral_visc_type), | intent(in) | :: | filter | |||
integer, | intent(in) | :: | maxPolyDeg | |||
real(kind=rk), | intent(in), | optional | :: | orders(:) |
Damp )the modal coefficients of the state vector by a given spectral viscosity method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_statedata_type), | intent(inout) | :: | state | |||
type(atl_cube_elem_type), | intent(in) | :: | mesh | |||
type(atl_spectral_visc_type), | intent(in) | :: | filter | |||
integer, | intent(in) | :: | maxPolyDeg | |||
real(kind=rk), | intent(in), | optional | :: | orders(:) |
Damp the modal coefficients of the state vector by a given spectral viscosity method.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_statedata_type), | intent(inout) | :: | state | |||
type(atl_cube_elem_type), | intent(in) | :: | mesh | |||
type(atl_spectral_visc_type), | intent(in) | :: | filter | |||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | |||
integer, | intent(in) | :: | maxPolyDeg |