atl_interpolate_elemstate Subroutine

private recursive subroutine atl_interpolate_elemstate(minlevel, maxlevel, iLevel, iDir, state, state_stab, mesh, scheme, equation, tree, dimen, poly_proj, poly_proj_pos, bc, boundary, general, commStateTimer)

Recursive interpolation of element states among the levels of the mesh.

Arguments

Type IntentOptional 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.