atl_modg_2d_coarseToFineFace Subroutine

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

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

Interpolates functions defined on faces of the current level to faces of the next finer level. \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 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_coarsetofineface~~CallsGraph proc~atl_modg_2d_coarsetofineface atl_modg_2d_coarseToFineFace proc~tem_starttimer tem_startTimer proc~atl_modg_2d_coarsetofineface->proc~tem_starttimer proc~modg_2d_semirefineface modg_2d_semiRefineFace proc~atl_modg_2d_coarsetofineface->proc~modg_2d_semirefineface proc~tem_stoptimer tem_stopTimer proc~atl_modg_2d_coarsetofineface->proc~tem_stoptimer

Called by

proc~~atl_modg_2d_coarsetofineface~~CalledByGraph proc~atl_modg_2d_coarsetofineface atl_modg_2d_coarseToFineFace proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->proc~atl_modg_2d_coarsetofineface interface~atl_preprocess_rhs atl_preprocess_rhs interface~atl_preprocess_rhs->proc~preprocess_rhs_cubes proc~rktaylor_substep rktaylor_substep proc~rktaylor_substep->interface~atl_preprocess_rhs proc~rktaylor_substep->proc~rktaylor_substep proc~rk2_substep rk2_substep proc~rk2_substep->interface~atl_preprocess_rhs proc~rk2_substep->proc~rk2_substep proc~rk4_substep rk4_substep proc~rk4_substep->interface~atl_preprocess_rhs proc~rk4_substep->proc~rk4_substep proc~imexrk_substep imexrk_substep proc~imexrk_substep->interface~atl_preprocess_rhs proc~imexrk_substep->proc~imexrk_substep proc~mesh_timestep_euler mesh_timestep_euler proc~mesh_timestep_euler->interface~atl_preprocess_rhs proc~mesh_timestep_euler->proc~mesh_timestep_euler proc~global_corrector_substep global_corrector_substep proc~global_corrector_substep->interface~atl_preprocess_rhs proc~mesh_timestep_rktaylor mesh_timestep_rktaylor proc~mesh_timestep_rktaylor->proc~rktaylor_substep proc~mesh_timestep_predcor_cerk4 mesh_timestep_predcor_cerk4 proc~mesh_timestep_predcor_cerk4->proc~global_corrector_substep none~substep substep none~substep->proc~rk4_substep proc~mesh_timestep_imexrk mesh_timestep_imexrk proc~mesh_timestep_imexrk->proc~imexrk_substep proc~mesh_timestep_ssprk2 mesh_timestep_ssprk2 proc~mesh_timestep_ssprk2->proc~rk2_substep

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iDir
integer, private :: iAlign
integer, private :: iFace
integer, private :: invAlign
integer, private :: iChild
integer, private :: i
integer, private :: iDof
integer, private :: iVar
integer, private :: nDofsCoarse
integer, private :: nDofsFine
integer, private :: nDofsInter
integer, private :: nFluids
integer, private :: elemPos
integer, private :: childPos(4)
integer, private :: totpos
integer, private :: coff
integer, private :: yshift
integer, private :: nFaces
real(kind=rk), private, allocatable:: faceDat(:,:)
real(kind=rk), private, allocatable:: aFace(:,:)
real(kind=rk), private, allocatable:: firstFace(:,:)
real(kind=rk), private, allocatable:: secondFace(:,:)