modg_compute_project_physFlux Subroutine

private subroutine modg_compute_project_physFlux(mesh, equation, kerneldata, statedata, dirVec, poly_proj, material, scheme, dl_prod, apply_pen, penalizationdata, minLevel, currentLevel, maxLevel, eval_phy, usePenalization)

TODO NA - Move this routine to the atl_modg_kernel_module

Arguments

Type IntentOptional Attributes Name
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_statedata_type), intent(inout) :: statedata

The representation on the face + representation of the flux.

integer, intent(in) :: dirVec(3,3)

vector for direction indicators

type(ply_poly_project_type) :: poly_proj

Data for projection method

type(atl_material_type), intent(inout) :: material

Material parameters (mu, epsilon) for all elements

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

The parameters of the MODG scheme

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

stored scalar products of the testfunction and anstaz function

type(atl_penalization_pointer_type) :: apply_pen(2)
type(atl_penalizationData_type), intent(inout) :: penalizationdata
integer, intent(in) :: minLevel
integer, intent(in) :: currentLevel
integer, intent(in) :: maxLevel
type(atl_physflux_pointer_type) :: eval_phy(2)
logical, intent(in) :: usePenalization

Flag indicating whether to apply the penalization or not.

When a implicit scheme is used to integrate the penalized parts, this can be used to switch it off here.