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 |
PV 20150820 Get the correct penalization data here
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 |
PV 20150820 Get the correct penalization data here
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 |