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 |