atl_modg_volToFace_grad_Q Subroutine

public subroutine atl_modg_volToFace_grad_Q(nScalars, volState, maxPolyDegree, faceDir, nElems, elemLength, faceState)

Project modal representation of gradients of an element to one of its faces for Q space.

Project modal representation of gradient of an element onto one of its faces. Therefore, this function returns the modal representation of the solution on the face. This function can project onto an arbitrary face direction.

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: nScalars
real(kind=rk), intent(in) :: volState(:,:,:)

The modal representation in the volume. First dimension is the number of voluemtrix numbers of degrees of freedom and second dimension is the number of scalar variables in the equation system.

integer, intent(in) :: maxPolyDegree

The maximal polynomial degree per spatial direction.

integer, intent(in) :: faceDir

The face to project the modal representation to. Use one of the first six directions of \link tem_param_module \endlink, e.g. \link tem_param_module::q__e \endlink

integer, intent(in) :: nElems

The number of elements

real(kind=rk), intent(in) :: elemLength

The lenght of an element

real(kind=rk), intent(inout) :: faceState(:,:,:,:)

The modal representation on the face


Calls

proc~~atl_modg_voltoface_grad_q~~CallsGraph proc~atl_modg_voltoface_grad_q atl_modg_volToFace_grad_Q proc~tem_abort tem_abort proc~atl_modg_voltoface_grad_q->proc~tem_abort proc~ply_calcdiff_leg ply_calcDiff_leg proc~atl_modg_voltoface_grad_q->proc~ply_calcdiff_leg proc~ply_facevalleftbndans ply_faceValLeftBndAns proc~atl_modg_voltoface_grad_q->proc~ply_facevalleftbndans proc~ply_calcdiff_leg_z_vec ply_calcDiff_leg_z_vec proc~ply_calcdiff_leg->proc~ply_calcdiff_leg_z_vec proc~ply_calcdiff_leg_y_vec ply_calcDiff_leg_y_vec proc~ply_calcdiff_leg->proc~ply_calcdiff_leg_y_vec proc~ply_calcdiff_leg_x_vec ply_calcDiff_leg_x_vec proc~ply_calcdiff_leg->proc~ply_calcdiff_leg_x_vec

Called by

proc~~atl_modg_voltoface_grad_q~~CalledByGraph proc~atl_modg_voltoface_grad_q atl_modg_volToFace_grad_Q proc~atl_modg_modalvoltomodalface atl_modg_modalVolToModalFace proc~atl_modg_modalvoltomodalface->proc~atl_modg_voltoface_grad_q proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->proc~atl_modg_modalvoltomodalface 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~rk2_substep rk2_substep proc~rk2_substep->interface~atl_preprocess_rhs proc~rk4_substep rk4_substep proc~rk4_substep->interface~atl_preprocess_rhs proc~imexrk_substep imexrk_substep proc~imexrk_substep->interface~atl_preprocess_rhs proc~mesh_timestep_euler mesh_timestep_euler proc~mesh_timestep_euler->interface~atl_preprocess_rhs proc~global_corrector_substep global_corrector_substep proc~global_corrector_substep->interface~atl_preprocess_rhs

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: pos
integer, private :: facePos
integer, private :: iAnsX
integer, private :: iAnsY
integer, private :: iAnsZ
integer, private :: leftOrRight
integer, private :: iElem
integer, private :: lb_x
integer, private :: lb_y
integer, private :: lb_z
integer, private :: ub_x
integer, private :: ub_y
integer, private :: ub_z
real(kind=rk), private :: faceVal
real(kind=rk), private, allocatable:: state_gradient(:,:,:)
real(kind=rk), private, allocatable:: modalCoeffs(:,:)
integer, private :: mpd1
integer, private :: mpd1_square