Module for routines and datatypes of MOdal Discontinuous Galerkin (MODG) scheme for the 1D Euler equation. This scheme is a spectral scheme for linear, purley hyperbolic partial differential equation systems.
Calculate the physical flux for the MODG scheme and Euler equation with constant characteristic (mask function) in the element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type) | :: | equation | The equation you solve. |
|||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Parameters for projection |
||
real(kind=rk), | intent(inout) | :: | res(:,:) | The physical flux result to be stored in |
||
real(kind=rk), | intent(in) | :: | pointVal(:,:) | Nodal representation of the polynomial with in each cell. |
||
real(kind=rk), | intent(in) | :: | penalty_char | Characteristic (mask) function of the material penalization. This should be 0 everywhere where there is no material, and 1 where there is material. |
||
real(kind=rk), | intent(in) | :: | U_o | Obstacle velocity |
Calculate the physical flux for the MODG scheme and Euler equation with variable characteristic (mask function) in the element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type) | :: | equation | The equation you solve. |
|||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Parameters for projection |
||
real(kind=rk), | intent(inout) | :: | res(:,:) | The physical flux result to be stored in |
||
real(kind=rk), | intent(in) | :: | pointVal(:,:) | Nodal representation of the polynomial with in each cell. |
||
real(kind=rk), | intent(in) | :: | penalty_char(:) | Characteristic (mask) function of the material penalization. This should be 0 everywhere where there is no material, and 1 where there is material. obstacle velocity |
||
real(kind=rk), | intent(in) | :: | U_o(:) |
Calculate the numerical flux for Euler equation and MODG scheme
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation | The equation you solve. |
||
type(atl_facedata_type), | intent(inout) | :: | facedata | The face representation of the state. |
||
type(atl_material_type), | intent(in) | :: | material | Material description for the faces on the current level |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation | The equation you solve. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Poly project |
||
real(kind=rk), | intent(in), | optional | :: | nodal_data(:,:) | The state in nodal form |
|
type(atl_scheme_type), | intent(inout) | :: | scheme_min | The scheme information |
||
type(atl_penalizationData_type), | intent(inout) | :: | penalizationData | The penalization data |
||
integer, | intent(in) | :: | iElem | The current Element |
||
type(atl_material_type), | intent(in) | :: | material | Material description for the faces on the current level |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation | The equation you solve. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Poly project |
||
real(kind=rk), | intent(in), | optional | :: | nodal_data(:,:) | The state in nodal form |
|
type(atl_scheme_type), | intent(inout) | :: | scheme_min | The scheme information |
||
type(atl_penalizationData_type), | intent(inout) | :: | penalizationData | The penalization data |
||
integer, | intent(in) | :: | iElem | The current Element |
||
type(atl_material_type), | intent(in) | :: | material | Material description for the faces on the current level |
Numerical flux calculation for Euler equation across the faces in a single spatial direction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation | The equation you solve. |
||
type(atl_facedata_type), | intent(inout) | :: | facedata | The face state if the equation |
||
type(tem_faceIterator_type), | intent(in) | :: | faces | The faces to calculate the fluxes for. |
||
type(atl_faceMaterialData_type), | intent(in) | :: | material | The penalization material left and right of the face |