atl_modg_project_NumFlux Subroutine

public subroutine atl_modg_project_NumFlux(mesh, equation, kerneldata, facedata, scheme, poly_proj, dl_prod, dl_prodDiff, dirVec, penalizationdata, usePenalization)

Subroutine to project modal representations of physical flux, numerical flux and source terms onto test functions.

TODO NA - maybe move this call out of this routine ?

Arguments

TypeIntentOptionalAttributesName
type(atl_cube_elem_type), intent(in) :: mesh

Descritption of the cubical elements in the mesh

type(atl_Equations_type), intent(in) :: equation

The equation description.

type(atl_kerneldata_type), intent(inout) :: kerneldata

The data of the kernel. Holds the physical fluxes.

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

The representation on the face + representation of the flux.

type(atl_modg_scheme_type), intent(in) :: scheme

The parameters of the MODG scheme

type(ply_poly_project_type), intent(inout) :: poly_proj

Projection for the current level

real(kind=rk), intent(in) :: dl_prod(2,scheme%maxPolyDegree+1)

stored scalar products of the testfunction and anstaz function

real(kind=rk), intent(in) :: dl_prodDiff(2,scheme%maxPolyDegree+1)
integer, intent(in) :: dirVec(3,3)

vector for direction indicators

type(atl_penalizationData_type), intent(in) :: penalizationdata

Volumetric data for the penalization

logical, intent(in) :: usePenalization

Flag to indicate, whether we need to take care of the penalization terms here or not.


Calls

proc~~atl_modg_project_numflux~~CallsGraph proc~atl_modg_project_numflux atl_modg_project_NumFlux proc~modg_project_penalization_q modg_project_penalization_Q proc~atl_modg_project_numflux->proc~modg_project_penalization_q proc~modg_project_stabviscnumfluxz_q modg_project_stabViscNumFluxZ_Q proc~atl_modg_project_numflux->proc~modg_project_stabviscnumfluxz_q proc~tem_abort tem_abort proc~atl_modg_project_numflux->proc~tem_abort proc~modg_project_stabviscnumfluxy_q modg_project_stabViscNumFluxY_Q proc~atl_modg_project_numflux->proc~modg_project_stabviscnumfluxy_q proc~modg_project_stabviscnumfluxx_q modg_project_stabViscNumFluxX_Q proc~atl_modg_project_numflux->proc~modg_project_stabviscnumfluxx_q proc~modg_project_numflux_q modg_project_numFlux_Q proc~atl_modg_project_numflux->proc~modg_project_numflux_q proc~modg_project_numflux_difftest_q modg_project_numFlux_diffTest_Q proc~atl_modg_project_numflux->proc~modg_project_numflux_difftest_q proc~modg_project_numflux_p modg_project_numFlux_P proc~atl_modg_project_numflux->proc~modg_project_numflux_p proc~ply_change_poly_space ply_change_poly_space proc~atl_modg_project_numflux->proc~ply_change_poly_space proc~ply_scalproddualleg ply_scalProdDualLeg proc~modg_project_penalization_q->proc~ply_scalproddualleg proc~ply_facevalleftbndtestgrad ply_faceValLeftBndTestGrad proc~modg_project_stabviscnumfluxz_q->proc~ply_facevalleftbndtestgrad proc~atl_mult_nu23_navierstokes atl_mult_nu23_NavierStokes proc~modg_project_stabviscnumfluxz_q->proc~atl_mult_nu23_navierstokes interface~ply_poly_project_m2n ply_poly_project_m2n proc~modg_project_stabviscnumfluxz_q->interface~ply_poly_project_m2n proc~ply_facevalrightbndtestgrad ply_faceValRightBndTestGrad proc~modg_project_stabviscnumfluxz_q->proc~ply_facevalrightbndtestgrad proc~modg_project_stabviscnumfluxz_q->proc~ply_scalproddualleg proc~atl_mult_nu13_navierstokes atl_mult_nu13_NavierStokes proc~modg_project_stabviscnumfluxz_q->proc~atl_mult_nu13_navierstokes proc~ply_facevalleftbndtest ply_faceValLeftBndTest proc~modg_project_stabviscnumfluxz_q->proc~ply_facevalleftbndtest proc~ply_facevalrightbndtest ply_faceValRightBndTest proc~modg_project_stabviscnumfluxz_q->proc~ply_facevalrightbndtest proc~atl_mult_nu33_navierstokes atl_mult_nu33_NavierStokes proc~modg_project_stabviscnumfluxz_q->proc~atl_mult_nu33_navierstokes interface~ply_poly_project_n2m ply_poly_project_n2m proc~modg_project_stabviscnumfluxz_q->interface~ply_poly_project_n2m proc~ply_scalprodduallegdiff ply_scalProdDualLegDiff proc~modg_project_stabviscnumfluxz_q->proc~ply_scalprodduallegdiff proc~atl_mult_nu12_navierstokes atl_mult_nu12_NavierStokes proc~modg_project_stabviscnumfluxy_q->proc~atl_mult_nu12_navierstokes proc~modg_project_stabviscnumfluxy_q->proc~ply_facevalleftbndtestgrad proc~atl_mult_nu32_navierstokes atl_mult_nu32_NavierStokes proc~modg_project_stabviscnumfluxy_q->proc~atl_mult_nu32_navierstokes proc~modg_project_stabviscnumfluxy_q->interface~ply_poly_project_m2n proc~modg_project_stabviscnumfluxy_q->proc~ply_facevalrightbndtestgrad proc~modg_project_stabviscnumfluxy_q->proc~ply_scalproddualleg proc~atl_mult_nu22_navierstokes atl_mult_nu22_NavierStokes proc~modg_project_stabviscnumfluxy_q->proc~atl_mult_nu22_navierstokes proc~modg_project_stabviscnumfluxy_q->proc~ply_facevalleftbndtest proc~modg_project_stabviscnumfluxy_q->proc~ply_facevalrightbndtest proc~modg_project_stabviscnumfluxy_q->interface~ply_poly_project_n2m proc~modg_project_stabviscnumfluxy_q->proc~ply_scalprodduallegdiff proc~modg_project_stabviscnumfluxx_q->proc~ply_facevalleftbndtestgrad proc~atl_mult_nu31_navierstokes atl_mult_nu31_NavierStokes proc~modg_project_stabviscnumfluxx_q->proc~atl_mult_nu31_navierstokes proc~modg_project_stabviscnumfluxx_q->interface~ply_poly_project_m2n proc~modg_project_stabviscnumfluxx_q->proc~ply_facevalrightbndtestgrad proc~atl_mult_nu11_navierstokes atl_mult_nu11_NavierStokes proc~modg_project_stabviscnumfluxx_q->proc~atl_mult_nu11_navierstokes proc~modg_project_stabviscnumfluxx_q->proc~ply_scalproddualleg proc~atl_mult_nu21_navierstokes atl_mult_nu21_NavierStokes proc~modg_project_stabviscnumfluxx_q->proc~atl_mult_nu21_navierstokes proc~modg_project_stabviscnumfluxx_q->proc~ply_facevalleftbndtest proc~modg_project_stabviscnumfluxx_q->proc~ply_facevalrightbndtest proc~modg_project_stabviscnumfluxx_q->interface~ply_poly_project_n2m proc~modg_project_stabviscnumfluxx_q->proc~ply_scalprodduallegdiff proc~modg_project_numflux_q->proc~ply_facevalleftbndtest proc~modg_project_numflux_q->proc~ply_facevalrightbndtest proc~ply_facevalrightbndgradtest ply_faceValRightBndgradTest proc~modg_project_numflux_difftest_q->proc~ply_facevalrightbndgradtest proc~ply_facevalleftbndgradtest ply_faceValLeftBndgradTest proc~modg_project_numflux_difftest_q->proc~ply_facevalleftbndgradtest proc~modg_project_numflux_p->proc~ply_facevalleftbndtest proc~modg_project_numflux_p->proc~ply_facevalrightbndtest proc~ply_poly_project_m2n_multivar ply_poly_project_m2n_multiVar interface~ply_poly_project_m2n->proc~ply_poly_project_m2n_multivar proc~ply_poly_project_n2m_multivar ply_poly_project_n2m_multiVar interface~ply_poly_project_n2m->proc~ply_poly_project_n2m_multivar

Called by

proc~~atl_modg_project_numflux~~CalledByGraph proc~atl_modg_project_numflux atl_modg_project_NumFlux proc~compute_rhs_cubes_modg compute_rhs_cubes_modg proc~compute_rhs_cubes_modg->proc~atl_modg_project_numflux proc~compute_rhs_cubes compute_rhs_cubes proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg 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 :: nScalars
integer, private :: nFaces
integer, private :: leftOrRight
integer, private :: nElems_fluid
integer, private :: iDir

The direction

type(atl_faceRep_type), private, allocatable:: faceReP_Q(:)
type(atl_faceRep_type), private, allocatable:: faceFlux_Q(:)
real(kind=rk), private, allocatable:: state_der_Q(:,:,:)