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.



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

Type Visibility Attributes Name Initial
integer, public :: nBCs
character(len=LabelLen), public, allocatable :: label(:)

Label for each boundary condition

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

The kind of each boundary condition

integer, public, 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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
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