Module for routines and datatypes of MOdal Discontinuous Galerkin (MODG) scheme for the 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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation | The equation you solve. |
||
real(kind=rk), | intent(inout) | :: | res(:,:) | To store the resulting phy flux in modal form |
||
real(kind=rk), | intent(in), | optional | :: | state(:,:) | The state of the equation |
|
integer, | intent(in) | :: | iElem | The current Element |
||
integer, | intent(in) | :: | iDir | The current Direction |
||
type(atl_penalizationData_type), | intent(inout) | :: | penalizationData | The penalization data |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Poly project |
||
type(atl_material_type), | intent(inout) | :: | material | Material description for the faces on the current level |
||
real(kind=rk), | intent(in), | optional | :: | nodal_data(:,:) | The state in nodal form |
|
real(kind=rk), | intent(in), | optional | :: | nodal_GradData(:,:,:) | ||
real(kind=rk), | intent(inout) | :: | nodal_res(:,:) | |||
real(kind=rk), | intent(in) | :: | ElemLength | Length of the element |
||
type(atl_scheme_type), | intent(inout) | :: | scheme_min | The scheme information |
||
type(atl_scheme_type), | intent(inout) | :: | scheme_current |
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(inout) | :: | material | Material description for the faces on the current level |
Calculate the physical flux for the MODG scheme and Euler equation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation | The equation you solve. |
||
real(kind=rk), | intent(inout) | :: | res(:,:) | To store the resulting phy flux in modal form |
||
real(kind=rk), | intent(in), | optional | :: | state(:,:) | The state of the equation |
|
integer, | intent(in) | :: | iElem | The current Element |
||
integer, | intent(in) | :: | iDir | The current Direction |
||
type(atl_penalizationData_type), | intent(inout) | :: | penalizationData | The penalization data |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Poly project |
||
type(atl_material_type), | intent(inout) | :: | material | Material description for the faces on the current level |
||
real(kind=rk), | intent(in), | optional | :: | nodal_data(:,:) | The state in nodal form |
|
real(kind=rk), | intent(in), | optional | :: | nodal_GradData(:,:,:) | ||
real(kind=rk), | intent(inout) | :: | nodal_res(:,:) | |||
real(kind=rk), | intent(in) | :: | ElemLength | Length of the element |
||
type(atl_scheme_type), | intent(inout) | :: | scheme_min | The scheme information |
||
type(atl_scheme_type), | intent(inout) | :: | scheme_current |
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(inout) | :: | material | Material description for the faces on the current level |
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(ply_poly_project_type), | intent(inout) | :: | poly_proj | Parameter for projection. |
||
type(atl_material_type), | intent(inout) | :: | 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. |
||
integer, | intent(in) | :: | nSides | The number of faces to compute the flux for |
||
real(kind=rk), | intent(in) | :: | faceRep(:,:,:,:) | The state on the face. |
||
real(kind=rk), | intent(inout) | :: | faceFlux(:,:,:,:) | The fluxes on the face. |
||
integer, | intent(in) | :: | leftPos(:) | The positions of the faces to calculate the fluxes for (for elements left and right of the face). |
||
integer, | intent(in) | :: | rightPos(:) | The positions of the faces to calculate the fluxes for (for elements left and right of the face). |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Parameter for used projection |
||
integer, | intent(in) | :: | varRotation(equation%varSys%nScalars) | |||
real(kind=rk), | intent(in) | :: | material_left(:,:,:) | The penalization material left and right of the face |
||
real(kind=rk), | intent(in) | :: | material_right(:,:,:) | The penalization material left and right of the face |
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. |
||
integer, | intent(in) | :: | nSides | The number of faces to compute the flux for |
||
real(kind=rk), | intent(in) | :: | faceRep(:,:,:,:) | The state on the face. |
||
real(kind=rk), | intent(inout) | :: | faceFlux(:,:,:,:) | The fluxes on the face. |
||
integer, | intent(in) | :: | leftPos(:) | The positions of the faces to calculate the fluxes for (for elements left and right of the face). |
||
integer, | intent(in) | :: | rightPos(:) | The positions of the faces to calculate the fluxes for (for elements left and right of the face). |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Parameter for used projection |
||
integer, | intent(in) | :: | varRotation(equation%varSys%nScalars) | |||
real(kind=rk), | intent(in) | :: | material_left(:,:,:) | The penalization material left and right of the face |
||
real(kind=rk), | intent(in) | :: | material_right(:,:,:) | The penalization material left and right of the face |