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 '
Type | Intent | Optional | 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. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | iDir | The direction |
|||
integer, | private | :: | matType | The direction |
|||
real(kind=rk), | private, | allocatable | :: | modalCoeffs(:,:) | The modal coefficients of the current element in the loop. |
||
real(kind=rk), | private, | allocatable | :: | pointVal(:,:) | Nodal representation of the polynomial with in each cell. |
||
real(kind=rk), | private, | allocatable | :: | nodal_res(:,:) | The nodal representation of the physical flux along the 3 spatial directions. |
||
real(kind=rk), | private, | allocatable | :: | tmp_state_der(:,:) | |||
integer, | private | :: | nquadpoints | ||||
integer, | private | :: | oversamp_dofs | ||||
integer, | private | :: | iElem | ||||
integer, | private | :: | ndofs | ||||
integer, | private | :: | elems | ||||
integer, | private | :: | elemPos | ||||
logical, | private | :: | use_linear_flux | ||||
logical, | private | :: | use_inviscid_flux | ||||
procedure(physFlux_interface), | private, | pointer | :: | physFlux | => | null() | |
integer, | private | :: | rot(4) | ||||
real(kind=rk), | private, | allocatable | :: | modalCoeffs_gradient(:,:,:) | |||
real(kind=rk), | private, | allocatable | :: | pointVal_gradient(:,:,:) |