atl_modg_1d_coarseToFineFace Subroutine

public subroutine atl_modg_1d_coarseToFineFace(minLevel, maxLevel, currentLevel, mesh, facedata, nScalars)

\brief Interpolate modal face representation from coarse to next finer faces (level 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).

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.


Called by

proc~~atl_modg_1d_coarsetofineface~~CalledByGraph proc~atl_modg_1d_coarsetofineface atl_modg_1d_coarseToFineFace proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->proc~atl_modg_1d_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 :: nDofsCoarse
integer, private :: nDofsFine
integer, private :: nDofsInter
integer, private :: elemPos
integer, private :: childPos(4)
real(kind=rk), private, allocatable:: faceDat(:,:)
real(kind=rk), private, allocatable:: aFace(:,:)
real(kind=rk), private, allocatable:: bFace(:,:)
real(kind=rk), private, allocatable:: firstFace(:,:)
real(kind=rk), private, allocatable:: secondFace(:,:)
real(kind=rk), private, allocatable:: thirdFace(:,:)
real(kind=rk), private, allocatable:: fourthFace(:,:)