tem_bc_header_module Module

The tem_bc_header is providing an overview of the boundary conditions defined in the configuration of the solver.

It provides collects the labels and the kinds of the configured BCs, and connects them to the corresponding boundaries defined in the mesh, given in the BC_prop.


Uses

  • module~~tem_bc_header_module~~UsesGraph module~tem_bc_header_module tem_bc_header_module module~tem_aux_module tem_aux_module module~tem_bc_header_module->module~tem_aux_module module~tem_bc_prop_module tem_bc_prop_module module~tem_bc_header_module->module~tem_bc_prop_module module~env_module env_module module~tem_bc_header_module->module~env_module module~tem_logging_module tem_logging_module module~tem_bc_header_module->module~tem_logging_module module~flu_binding flu_binding module~tem_bc_header_module->module~flu_binding module~aot_table_module aot_table_module module~tem_bc_header_module->module~aot_table_module module~tem_tools_module tem_tools_module module~tem_bc_header_module->module~tem_tools_module module~tem_aux_module->module~env_module module~tem_aux_module->module~tem_logging_module module~tem_aux_module->module~flu_binding module~tem_aux_module->module~aot_table_module module~tem_aux_module->module~tem_tools_module module~aotus_module aotus_module module~tem_aux_module->module~aotus_module module~tem_revision_module tem_revision_module module~tem_aux_module->module~tem_revision_module module~tem_comm_env_module tem_comm_env_module module~tem_aux_module->module~tem_comm_env_module module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module mpi mpi module~tem_aux_module->mpi module~tem_bc_prop_module->module~tem_aux_module module~tem_bc_prop_module->module~env_module module~tem_bc_prop_module->module~tem_logging_module module~tem_bc_prop_module->module~aot_table_module module~tem_bc_prop_module->module~aotus_module module~tem_topology_module tem_topology_module module~tem_bc_prop_module->module~tem_topology_module module~aot_out_module aot_out_module module~tem_bc_prop_module->module~aot_out_module module~tem_property_module tem_property_module module~tem_bc_prop_module->module~tem_property_module module~treelmesh_module treelmesh_module module~tem_bc_prop_module->module~treelmesh_module module~tem_debug_module tem_debug_module module~tem_bc_prop_module->module~tem_debug_module module~tem_prophead_module tem_prophead_module module~tem_bc_prop_module->module~tem_prophead_module module~tem_param_module tem_param_module module~tem_bc_prop_module->module~tem_param_module module~tem_bc_prop_module->mpi module~env_module->module~flu_binding module~env_module->module~aotus_module iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env module~env_module->mpi module~tem_logging_module->module~env_module module~tem_logging_module->module~aot_table_module module~tem_logging_module->module~aotus_module module~tem_tools_module->module~env_module module~tem_topology_module->module~env_module module~tem_property_module->module~env_module module~tem_property_module->module~tem_prophead_module module~tem_property_module->mpi module~treelmesh_module->module~tem_aux_module module~treelmesh_module->module~env_module module~treelmesh_module->module~tem_logging_module module~treelmesh_module->module~aot_table_module module~treelmesh_module->module~tem_tools_module module~treelmesh_module->module~aotus_module module~treelmesh_module->module~tem_topology_module module~treelmesh_module->module~tem_property_module module~treelmesh_module->mpi module~tem_global_module tem_global_module module~treelmesh_module->module~tem_global_module module~tem_sparta_module tem_Sparta_module module~treelmesh_module->module~tem_sparta_module module~tem_comm_env_module->mpi module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->module~flu_binding module~tem_lua_requires_module->module~aot_table_module module~tem_lua_requires_module->module~aotus_module iso_c_binding iso_c_binding module~tem_lua_requires_module->iso_c_binding module~tem_debug_module->module~env_module module~tem_debug_module->module~tem_logging_module module~tem_debug_module->module~flu_binding module~tem_debug_module->module~aot_table_module module~tem_debug_module->module~tem_tools_module module~tem_prophead_module->module~env_module module~tem_prophead_module->module~aot_table_module module~tem_prophead_module->module~aotus_module module~tem_prophead_module->module~aot_out_module module~tem_prophead_module->mpi module~tem_param_module->module~env_module module~tem_global_module->module~tem_aux_module module~tem_global_module->module~env_module module~tem_global_module->module~tem_logging_module module~tem_global_module->module~aot_table_module module~tem_global_module->module~aotus_module module~tem_global_module->module~aot_out_module module~tem_global_module->module~tem_prophead_module module~tem_global_module->mpi module~tem_sparta_module->module~tem_aux_module module~tem_sparta_module->module~env_module module~tem_sparta_module->module~tem_logging_module module~tem_sparta_module->mpi module~tem_float_module tem_float_module module~tem_sparta_module->module~tem_float_module

Contents


Derived Types

type, public :: tem_bc_header_type

This type describes the general, not solver specific, header information given in the Lua configuration of the solvers.

Components

TypeVisibilityAttributesNameInitial
integer, private :: nBCs
character(len=LabelLen), private, allocatable:: label(:)

Label for each boundary condition

character(len=LabelLen), private, allocatable:: BC_kind(:)

The kind of each boundary condition

integer, private, allocatable:: BC_ID(:)

ID of the boundary in the mesh property, as defined by the bc_prop If an entry is not positive, there is no corresponding boundary condition found.


Subroutines

public subroutine tem_load_bc_header(me, conf, parentHandle, BC_prop)

This subroutine reads in the boundary conditions specified in the configuration file, and connects them to the corresponding entries in the treelmesh. If there boundary conditions in the mesh, for which no configuration is found, the program is aborted!

Arguments

TypeIntentOptionalAttributesName
type(tem_bc_header_type), intent(inout) :: me

The boundary conditions to fill

type(flu_State) :: conf

A handle to the Lua configuration script, to read the data from

integer, intent(in), optional :: parentHandle

handle for schemes table

type(tem_BC_prop_type), intent(in) :: BC_prop

The boundary properties of the treelmesh, to connect the header to

public subroutine tem_open_bc(label, bc_table, conf, thandle)

This subroutine looks for a given label in the given boundary conditions table, and returns the according table handle. Note, that this should usually not be necessary, as the number of the header is given by the ordering in the bc_header_type, and you can use the desired position directly to look up a specific bc in the configuration script.

Arguments

TypeIntentOptionalAttributesName
character(len=LabelLen), intent(in) :: label

The label to look for

integer, intent(in) :: bc_table

Handle to the boundary_condition table, to look in

type(flu_State) :: conf

Handle of the Lua script to use

integer, intent(out) :: thandle

Returned handle of to the entry providing the requested label

public subroutine tem_out_bc_header(me, outUnit)

Arguments

TypeIntentOptionalAttributesName
type(tem_bc_header_type), intent(in) :: me
integer, intent(in) :: outUnit

private subroutine tem_init_bc_header(me, nBCs)

This routine does the allocation job

Arguments

TypeIntentOptionalAttributesName
type(tem_bc_header_type), intent(out) :: me

The boundary header

integer, intent(in) :: nBCs

private subroutine tem_match_bc_header(me, BC_prop)

This routine match the labels in me(tem_bc_header_type) against the labels in the bcProp(tem_BC_prop_type). If a bc label can not be matched, the code will STOP!

Arguments

TypeIntentOptionalAttributesName
type(tem_bc_header_type) :: me

The boundary header to fill

type(tem_BC_prop_type), intent(in) :: BC_prop

The boundary properties of the treelmesh, to connect the header to