Module collects all routines, datatypes, etc. to set boundary contitions for the MOdal Discontinuous Galerkin scheme.
Function to extrapolate face values for a given boundary condition in physical or modal space.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nVals | The number of coefficients to extrapolate |
||
real(kind=rk), | intent(in) | :: | faceOp(:) | Modal representation on the face of the neighboring element. |
The extrapolated modal representation.
Function to mirror pointvalues for a given boundary conditions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_bc_state_type), | intent(in) | :: | bc | The boundary state. |
||
type(tem_varSys_type), | intent(in) | :: | varSys | Global variable system |
||
type(tem_time_type), | intent(in) | :: | time | The current absolute time. |
||
integer, | intent(in) | :: | currentFace | current face used to compute correct index in indices array |
||
integer, | intent(in) | :: | currentLevel | current level |
||
integer, | intent(in) | :: | nPoints | The number of point values to be mirrored. |
The mirrored isNodalScheme representation.
Subroutine to set face values to impose boundary conditions at a certain point of the domain. The subroutine is operating levelwise.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_boundary_type), | intent(in) | :: | bc(:) | The global description of the boundaries. |
||
type(atl_level_boundary_type), | intent(in) | :: | boundary | The levelwise collection of boundary elements and boundary faces. |
||
type(atl_facedata_type), | intent(inout) | :: | facedata | The face data on the current level |
||
type(atl_Equations_type), | intent(in) | :: | equation | The underlying equation system |
||
type(tem_time_type), | intent(in) | :: | time | The absolute time point. |
||
type(atl_cube_elem_type), | intent(in) | :: | mesh | The description of the mesh on the current level. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Data for the projection methods |
||
logical, | intent(in) | :: | nodalBnd | Set boundaries in nodal fashion by default? If set to false, the boundaries may still be set in nodal way whenever necessary (e.g. boundaries which have space-time dependence, etc.) |
||
type(atl_faceMaterialData_type), | intent(in), | optional | :: | material(3) | Material description of the faces contained in boundary. One entry for each spatial direction, i.e. x,y,z. |
|
integer, | intent(in) | :: | currentLevel | the level to compute on |
||
type(atl_statedata_type), | intent(inout) | :: | statedata | The state data on the current level |
Subroutine to create the modal representation for a ceratin boundary face.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_boundary_type), | intent(in) | :: | bc | The boundary condition to generate the modal representation for. |
||
real(kind=rk), | intent(inout) | :: | faceOp(:,:) | The modal representation on the face of the neighboring element. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Data for the projection methods |
||
integer, | intent(in) | :: | nDerivatives | The number of derivative boundaries to be set |
||
type(atl_Equations_type), | intent(in) | :: | equation | The equation system you use. |
||
type(coordRotation_type), | intent(in) | :: | normalRot | Rotation indices to rotate global coordinate system into face normal coordinate system. |
||
logical, | intent(in) | :: | isNodalScheme | Does the solver require isNodalScheme information anyway? |
||
type(tem_time_type), | intent(in) | :: | time | The absolute time point. |
||
integer, | intent(in) | :: | currentFace | current face to compute on, used for index array |
||
integer, | intent(in) | :: | currentLevel | the level to compute on |
||
integer, | intent(in) | :: | nQuadPoints | Number of quadurature points on the face |
||
integer, | intent(in) | :: | ndofs | Number of quadurature points on the face |
||
integer, | intent(in) | :: | oversamp_dofs | Number of quadurature points on the face |
||
real(kind=rk), | intent(inout) | :: | modalFace(:,:) | The modal representation on the boundary face. |
||
real(kind=rk), | intent(in), | optional | :: | faceMaterial(:,:) | The material of the boundary face. First dimension is the number of points on the face. Second dimension is the number of material parameters. |
Set boundary values in a nodal way
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_boundary_type), | intent(in) | :: | bc | The boundary condition to generate the modal representation for. |
||
real(kind=rk), | intent(inout) | :: | faceOp(:,:) | The modal representation on the face of the neighboring element. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Data for the projection methods |
||
type(atl_Equations_type), | intent(in) | :: | equation | The equation system you use. |
||
type(coordRotation_type), | intent(in) | :: | normalRot | Rotation indices to rotate global coordinate system into face normal coordinate system. |
||
type(tem_time_type), | intent(in) | :: | time | The absolute time point. |
||
integer, | intent(in) | :: | currentFace | current face to compute on, used for index |
||
integer, | intent(in) | :: | currentLevel | the level to compute on |
||
integer, | intent(in) | :: | nDerivatives | The number of derivative boundaries to be set |
||
integer, | intent(in) | :: | nQuadPoints | Number of quadurature points on the face andi Number of Dofs for the face |
||
integer, | intent(in) | :: | oversamp_dofs | Number of quadurature points on the face andi Number of Dofs for the face |
||
real(kind=rk), | intent(out) | :: | modalFace(:,:) | result of the bnd routine, modal coefficent on the boundary faces |
||
real(kind=rk), | intent(in), | optional | :: | faceMaterial(:,:) | The material of the boundary face First dimension is the number of points on the face. Second dimension is the number of material parameters. |
Set boundary values in a modal way
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_boundary_type), | intent(in) | :: | bc | The boundary condition to generate the modal representation for. |
||
real(kind=rk), | intent(inout) | :: | faceOp(:,:) | The modal representation on the face of the neighboring element. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Data for the projection methods |
||
type(atl_Equations_type), | intent(in) | :: | equation | The equation system you use. |
||
type(coordRotation_type), | intent(in) | :: | normalRot | Rotation indices to rotate global coordinate system into face normal coordinate system. |
||
type(tem_time_type), | intent(in) | :: | time | The absolute time point. |
||
integer, | intent(in) | :: | currentFace | |||
integer, | intent(in) | :: | currentLevel | the level to compute on |
||
integer, | intent(in) | :: | nQuadPoints | Number of quadurature points and Number of Dofs for the face |
||
integer, | intent(in) | :: | nDofs | Number of quadurature points and Number of Dofs for the face |
||
integer, | intent(in) | :: | oversamp_dofs | Number of quadurature points and Number of Dofs for the face |
||
real(kind=rk), | intent(inout) | :: | modalFace(:,:) | The modal representation on the boundary face. |
||
real(kind=rk), | intent(in), | optional | :: | faceMaterial(:,:) | current face to compute on, used for getting index The material of the boundary face. First dimension is the number of points on the face. Second dimension is the number of material parameters. |