Module for routines and datatypes of MOdal Discontinuous Galerkin (MODG) scheme for the Reynolds Avereaged Navier-Stokes equation. This scheme is a spectral scheme for linear, convection dominated partial differential equation systems.
Calculate the physical flux for the MODG scheme and Navier-Stokes equation (with constant penalizations).
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 |
Calculate the physical flux for the MODG scheme and Navier-Stokes equation (with non-constant penalizations).
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 |
Calculate the numerical flux for Navier-Stokes equation and MODG scheme
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_cube_elem_type), | intent(in) | :: | mesh | The mesh you are working with. |
||
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_modg_2d_scheme_type), | intent(in) | :: | scheme | Parameters of the modal dg scheme |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Parameter for used projection |
||
type(atl_material_type), | intent(inout) | :: | material | Material description for the faces on the current level |
Numerical flux calculation for Rans 2D equation across the faces in a single spatial direction (with constant penalization parameters).
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(6) | |||
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 Rans equation across the faces in a single spatial direction (with non-constant penalization parameters).
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(6) | |||
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 viscous part of the RANS 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(atl_modg_2d_scheme_type), | intent(in) | :: | scheme | Parameters of the modal dg scheme |
||
type(tem_faceIterator_type), | intent(in) | :: | faces | The faces to calculate the fluxes for. |
||
integer, | intent(in) | :: | faceDir | The spatial direction of the faces you calc the fluxes for, use the following: 1 --> x direction. \n 2 --> y direction. \n 3 --> z direction. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Parameter for used projection |
||
real(kind=rk), | intent(in) | :: | elemLength | The length of an element |
Numerical flux calculation for stab-viscous part of the RANS 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(atl_modg_2d_scheme_type), | intent(in) | :: | scheme | Parameters of the modal dg scheme |
||
type(tem_faceIterator_type), | intent(in) | :: | faces | The faces to calculate the fluxes for. |
||
integer, | intent(in) | :: | faceDir | The spatial direction of the faces you calc the fluxes for, use the following: 1 --> x direction. \n 2 --> y direction. \n 3 --> z direction. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Parameter for used projection |