atl_covolume_tocovolume_1d Subroutine

private subroutine atl_covolume_tocovolume_1d(minlevel, maxlevel, iDir, state, state_stab, mesh, filter, scheme, equation, tree, poly_proj, poly_proj_pos, bc, boundary, general, commStateTimer)

Recursive routine to project the state from primal mesh to covolume mesh.

This routine is a recursive subroutine to project from the primal mesh to the covolume mesh. It interpolates to/from the finer level (if available) and calls itself on the next finer level. The projection is carried out by a L2 projection.

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) :: 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.


Calls

proc~~atl_covolume_tocovolume_1d~~CallsGraph proc~atl_covolume_tocovolume_1d atl_covolume_tocovolume_1d nelems nelems proc~atl_covolume_tocovolume_1d->nelems nghelems nghelems proc~atl_covolume_tocovolume_1d->nghelems proc~atl_covolume_to_primal_projection_1d atl_covolume_to_primal_projection_1d proc~atl_covolume_tocovolume_1d->proc~atl_covolume_to_primal_projection_1d proc~atl_interpolate_elemstate atl_interpolate_elemstate proc~atl_covolume_tocovolume_1d->proc~atl_interpolate_elemstate proc~atl_primal_to_covolume_projection_1d atl_primal_to_covolume_projection_1d proc~atl_covolume_tocovolume_1d->proc~atl_primal_to_covolume_projection_1d proc~atl_interpolate_elemstate->nelems proc~atl_interpolate_elemstate->proc~atl_interpolate_elemstate dimbydimdesc dimbydimdesc proc~atl_interpolate_elemstate->dimbydimdesc exchange_real exchange_real proc~atl_interpolate_elemstate->exchange_real proc~atl_modg_coarsetofineelem atl_modg_coarseToFineElem proc~atl_interpolate_elemstate->proc~atl_modg_coarsetofineelem proc~atl_modg_coarsetofineelem_1d atl_modg_coarseToFineElem_1d proc~atl_interpolate_elemstate->proc~atl_modg_coarsetofineelem_1d proc~atl_modg_coarsetofineelem_2d atl_modg_coarseToFineElem_2d proc~atl_interpolate_elemstate->proc~atl_modg_coarsetofineelem_2d proc~atl_modg_finetocoarseelem atl_modg_fineToCoarseElem proc~atl_interpolate_elemstate->proc~atl_modg_finetocoarseelem proc~atl_modg_finetocoarseelem_1d atl_modg_fineToCoarseElem_1d proc~atl_interpolate_elemstate->proc~atl_modg_finetocoarseelem_1d proc~atl_modg_finetocoarseelem_2d atl_modg_fineToCoarseElem_2d proc~atl_interpolate_elemstate->proc~atl_modg_finetocoarseelem_2d proc~atl_set_covolume_bnd atl_set_covolume_bnd proc~atl_interpolate_elemstate->proc~atl_set_covolume_bnd tem_abort tem_abort proc~atl_interpolate_elemstate->tem_abort tem_startTimer tem_startTimer proc~atl_interpolate_elemstate->tem_startTimer tem_stopTimer tem_stopTimer proc~atl_interpolate_elemstate->tem_stopTimer

Called by

proc~~atl_covolume_tocovolume_1d~~CalledByGraph proc~atl_covolume_tocovolume_1d atl_covolume_tocovolume_1d proc~atl_covolume_1d atl_covolume_1d proc~atl_covolume_1d->proc~atl_covolume_tocovolume_1d proc~atl_stabilize atl_stabilize proc~atl_stabilize->proc~atl_covolume_1d proc~mesh_timestep_euler mesh_timestep_euler proc~mesh_timestep_euler->proc~atl_stabilize proc~mesh_timestep_euler->proc~mesh_timestep_euler proc~mesh_timestep_imexrk mesh_timestep_imexrk proc~mesh_timestep_imexrk->proc~atl_stabilize proc~mesh_timestep_rk4 mesh_timestep_rk4 proc~mesh_timestep_rk4->proc~atl_stabilize proc~mesh_timestep_rktaylor mesh_timestep_rktaylor proc~mesh_timestep_rktaylor->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