atl_modg_2d_fineToCoarseFace Subroutine

public subroutine atl_modg_2d_fineToCoarseFace(minLevel, maxLevel, currentLevel, mesh, facedata, scheme, nScalars)

difference between coarser and finer faces has to be 1).

Interpolates functions defined on finer faces to faces of the current level.\n \n faces on fine face on current level level ------------------------ ------------------------ | | | | | | 3 | 4 | | | | | | | | ------------------------ ---------->> | 5 | | | | | | | 1 | 2 | | | | | | | | ------------------------ ------------------------ \n This is accomplished with lower complexity (with respect to the polynomial degree) by a dimension by dimension approach: \n \n faces on fine face on current \n level level \n ------------------------ ------------------------ \n | | | | | \n | 3 | 4 | | | \n | | | | | \n ------------------------ ---------->> | 5 | \n | | | | | \n | 1 | 2 | | | \n | | | | | \n ------------------------ ------------------------ \n \ / \n \ / \n \ / \n \ / \n ------------------------ \n | | \n | b | \n | | \n ------------------------ \n | | \n | a | \n | | \n ------------------------ \n

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: minLevel

The minumum level of the mesh.

integer, intent(in) :: maxLevel

The maximum level of the mesh.

integer, intent(in) :: currentLevel

The current level (i.e. the coarse level).

type(atl_cube_elem_type), intent(in) :: mesh(minLevel:maxLevel)

The mesh representation.

type(atl_facedata_type), intent(inout) :: facedata(minLevel:maxLevel)

The face representations (finer faces are interpolated from coarser ones).

type(atl_scheme_type), intent(in) :: scheme(minLevel:maxLevel)

The schemes on the different levels.

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.


Calls

proc~~atl_modg_2d_finetocoarseface~~CallsGraph proc~atl_modg_2d_finetocoarseface atl_modg_2d_fineToCoarseFace proc~tem_starttimer tem_startTimer proc~atl_modg_2d_finetocoarseface->proc~tem_starttimer proc~modg_2d_semicoarseface modg_2d_semiCoarseFace proc~atl_modg_2d_finetocoarseface->proc~modg_2d_semicoarseface proc~tem_stoptimer tem_stopTimer proc~atl_modg_2d_finetocoarseface->proc~tem_stoptimer

Called by

proc~~atl_modg_2d_finetocoarseface~~CalledByGraph proc~atl_modg_2d_finetocoarseface atl_modg_2d_fineToCoarseFace proc~compute_rhs_cubes_modg_2d compute_rhs_cubes_modg_2d proc~compute_rhs_cubes_modg_2d->proc~atl_modg_2d_finetocoarseface proc~compute_rhs_cubes compute_rhs_cubes proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg_2d interface~atl_compute_rhs atl_compute_rhs interface~atl_compute_rhs->proc~compute_rhs_cubes proc~rktaylor_substep rktaylor_substep proc~rktaylor_substep->interface~atl_compute_rhs proc~rk2_substep rk2_substep proc~rk2_substep->interface~atl_compute_rhs proc~rk4_substep rk4_substep proc~rk4_substep->interface~atl_compute_rhs proc~imexrk_substep imexrk_substep proc~imexrk_substep->interface~atl_compute_rhs proc~mesh_timestep_euler mesh_timestep_euler proc~mesh_timestep_euler->interface~atl_compute_rhs proc~global_corrector_substep global_corrector_substep proc~global_corrector_substep->interface~atl_compute_rhs

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iDir
integer, private :: iAlign
integer, private :: iFace
integer, private :: invAlign
integer, private :: i
integer, private :: iVar
integer, private :: iDof
integer, private :: yshift
integer, private :: cp1
integer, private :: cp2
integer, private :: nDofsCoarse
integer, private :: nDofsFine
integer, private :: nDofsInter
integer, private :: nFluids
integer, private :: elemPos
integer, private :: childPos(4)
integer, private :: totpos
real(kind=rk), private, allocatable:: faceDat(:,:)
real(kind=rk), private, allocatable:: aFace(:,:)
real(kind=rk), private, allocatable:: fineDat(:,:)