Module to collect all informations about boundary conditions. author: Jens Zudrop
We virtually create a "boundary element" outside each boundary face. They get indices larger than nElems on the respective level. These are then used in the face descriptions to refer to the "outside" element (we put the "boundary element" index into the corresponding leftpos or rightpos of the face with a boundary side).
Description of a certain boundary condition.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(atl_faceBnd_type), | private | :: | faces(3,2) | Facewise description of the boundaries. First dimension is 3 for the three spatial directions. Second dimension is 2 for left and right faces. |
type to represent the different boundary conditions on the same refinement level
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | nBCs | The number of boundary conditions in this description. |
|||
type(atl_bndDesc_type), | private, | allocatable | :: | bnd(:) | The boundary description. One for each different kind of boundary. To access this array, use the boundary id as index. |
||
integer, | private | :: | poly_proj_pos | Postition of individual projection method in the projection list |
Facewise description of the boundaries.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(grw_intarray_type), | private | :: | facePos | Position of the faces for which the boundary condition has to be applied. |
|||
type(grw_intarray_type), | private | :: | neighPos | Position of the neighboring fluid element. |
Get the number of (virtual) boundary elements for each level and each direction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel | |||
integer, | intent(in) | :: | maxLevel | |||
type(atl_level_boundary_type), | intent(in) | :: | boundary_list(minLevel:maxLevel) | Boundary description for all levels. |
The number of (virtual) boundary elements for each level and each spatial direction
Creates boundary informations for the faces.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel | |||
integer, | intent(in) | :: | maxLevel | |||
type(tem_bc_header_type), | intent(in) | :: | bc_header | The boundary condition header data as given in the mesh. |
||
type(tem_face_type), | intent(inout) | :: | face_list(minLevel:maxLevel) | Description of the faces |
||
type(atl_level_boundary_type), | intent(inout) | :: | boundary_list(minLevel:maxLevel) | The created boundary information. |
||
type(atl_scheme_type), | intent(in) | :: | scheme_list(minLevel:maxLevel) | Scheme information |
Subroutine to create the levelwise list of boundaries.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(flu_State) | :: | conf | Lua script to obtain the configuration data from. |
|||
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
type(atl_Equations_type), | intent(inout) | :: | equation | The equation to initialize the boundary info for. |
||
type(tem_BC_prop_type), | intent(in) | :: | bc_prop | The boundary properties. |
||
type(tem_face_type), | intent(inout) | :: | face_list(tree%global%minLevel:tree%global%maxLevel) | The description of the faces as provided by the tem_face_module |
||
type(atl_level_boundary_type), | intent(inout) | :: | boundary_list(tree%global%minLevel:tree%global%maxLevel) | The created boundary type. |
||
type(atl_boundary_type), | intent(out), | allocatable | :: | bc(:) | Global description of all boundaries |
|
type(tem_bc_header_type), | intent(out) | :: | bc_header | The boundary condition header data as given in the mesh. |
||
type(atl_scheme_type), | intent(in) | :: | scheme_list(tree%global%minLevel:tree%global%maxLevel) | The scheme you are using. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(treelmesh_type), | intent(in) | :: | tree | global treelm mesh info |
||
type(atl_boundary_type), | intent(inout) | :: | bc(:) | Global description of all boundaries |
||
type(atl_level_boundary_type), | intent(in) | :: | boundary_list(tree%global%minLevel:tree%global%maxLevel) | The created boundary information. |
||
integer, | intent(in) | :: | nDim | |||
type(tem_varSys_type), | intent(in) | :: | varSys | The variable system to obtain the variable from. |
||
type(ply_poly_project_type), | intent(inout), | target | :: | poly_proj_list(:) | unique list for projection methods |
|
type(atl_cube_elem_type), | intent(in) | :: | mesh_list(tree%global%minLevel:tree%global%maxLevel) | The mesh you are using. |
Creates boundary informations for the faces.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel | |||
integer, | intent(in) | :: | maxLevel | |||
type(tem_bc_header_type), | intent(in) | :: | bc_header | The boundary condition header data as given in the mesh. |
||
type(tem_face_type), | intent(inout) | :: | face_list(minLevel:maxLevel) | Description of the faces |
||
type(atl_level_boundary_type), | intent(inout) | :: | boundary_list(minLevel:maxLevel) | The created boundary information. |
||
type(atl_scheme_type), | intent(in) | :: | scheme_list(minLevel:maxLevel) | Scheme information |
Get all the surface points for a specific boundary.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_bndDesc_type), | intent(in) | :: | bnd | |||
real(kind=rk), | intent(out), | allocatable | :: | points(:,:) | array of points on the specific boundray |
|
character, | intent(out), | allocatable | :: | offset_bit(:) | offset vector for all points on the boundary, requiered for coupling |
|
type(ply_poly_project_type), | intent(in) | :: | poly_proj | projection list |
||
type(atl_cube_elem_type), | intent(in) | :: | mesh | The mesh you are using. |
||
integer, | intent(in) | :: | nDim | Equation nDimensions |
||
integer, | intent(in) | :: | nQuadPnts | Number of quadrature points on faces |
||
integer, | intent(in) | :: | nFaces | Number if faces on this boundary |