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.
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_statedata_type), | intent(inout) | :: | statedata |
The state data on the current level |
||
type(atl_modg_2d_scheme_type), | intent(inout) | :: | modg |
The parameters of th the modg scheme. |
||
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(2) |
Material description of the faces contained in boundary. One entry for each spatial direction, i.e. x,y. |
|
integer, | intent(in) | :: | currentLevel |
the level to compute on |
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 |
The parameters for projection method. |
||
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, needed to get correct position in index array |
||
integer, | intent(in) | :: | currentLevel |
the level to compute on |
||
integer, | intent(in) | :: | nquadpoints |
integers for allocation of temp arrays, depend on number of quadrature points and for modal values number of dofs |
||
integer, | intent(in) | :: | ndofs |
integers for allocation of temp arrays, depend on number of quadrature points and for modal values number of dofs |
||
integer, | intent(in) | :: | oversamp_dofs |
integers for allocation of temp arrays, depend on number of quadrature points and for modal values number of dofs |
||
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 |
The parameters for projection method. |
||
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 cpmoute on, needed to access correct 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 |
integers for allocation of temp arrays, depend on number of quadrature points and for modal values number of dofs |
||
integer, | intent(in) | :: | oversamp_dofs |
integers for allocation of temp arrays, depend on number of quadrature points and for modal values number of dofs |
||
real(kind=rk), | intent(inout) | :: | 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 |
The parameters for projection method. |
||
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 |
||
integer, | intent(in) | :: | currentLevel |
the level to compute on |
||
integer, | intent(in) | :: | nquadpoints |
integers for allocation of temp arrays, depend on number of quadrature points and for modal values number of dofs |
||
integer, | intent(in) | :: | ndofs |
integers for allocation of temp arrays, depend on number of quadrature points and for modal values number of dofs |
||
integer, | intent(in) | :: | oversamp_dofs |
integers for allocation of temp arrays, depend on number of quadrature points and for modal values number of dofs |
||
real(kind=rk), | intent(inout) | :: | 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. |
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. |
||
integer, | intent(in) | :: | nPoints |
The number of point values to be mirrored. |
||
type(tem_time_type), | intent(in) | :: | time |
The current absolute time. |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
Global variable system |
||
integer, | intent(in) | :: | currentFace |
Current Face to get the correct position in index array |
||
real(kind=rk), | intent(inout) | :: | pointFace(:) |
The mirrored isNodalScheme representation. |
||
integer, | intent(in) | :: | currentLevel |
current level |