modg_2d_compute_project_physFlux Subroutine

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

This subroutine computes the physical fluxes for various equation system

If the element is covered completely by the material, than just the first mode is considered for the flux computation. write(,) 'Elements with chi 0 using nonlinear flux '

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(in) :: statedata

The representation on the face + representation of the flux.

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

The parameters of the MODG scheme

type(ply_poly_project_type) :: poly_proj

Data for projection method

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

stored scalar products of the testfunction and anstaz function

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

Material parameters (mu, epsilon) for all elements

integer, intent(in) :: minLevel

the levels of the geometry

integer, intent(in) :: maxLevel

the levels of the geometry

integer, intent(in) :: currentLevel

the levels of the geometry

type(atl_physflux_pointer_type) :: eval_phy(2)
type(atl_penalization_pointer_type) :: apply_pen(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.