This type describes a single boundary condition, which is described in the configuration files and attached to elements in the mesh file.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=LabelLen), | private | :: | label | A label identifying this boundary condition |
|||
character(len=LabelLen), | private | :: | BC_kind | The kind of this boundary condition, mainly used to describe predefined boundary conditions with some default settings for some of the variables. |
|||
logical, | private | :: | enforce_zero_grad | Method to use for the extrapolation of Neumann boundaries. Enforce_zero_grad indicates, that the value to set for the extrapolated value of Neumann boundary conditions will be obtained by correcting the polynomial in face normal direction to have a zero gradient at the face. Otherwise the value at the face of the unmodified polynomial will be used. If this is true, the Neumann_mode_fraction will indicate how many modes to use for the extrapolation. |
|||
real(kind=rk), | private | :: | neumann_mode_fraction | Fraction of modes to use for the extrapolation to obtain Neumann BCs. Has to be a value between 0 and 1, where 0 means, just the integral mean (first mode) will be used for the extrapolation, and 1 means all modes except the last one are used. The last mode will be computed such, that the gradient at the boundary is null. Then the resulting value on the face is used as extrapolated value. |
|||
logical, | private | :: | bc_normal_vec | A flag to indicate if vectorial quantities are defined in the boundary normal system. |
|||
type(tem_bc_state_type), | private, | allocatable | :: | state(:) | Boundary condition description for each of the state variables. The size of this array depends on the equation system and covers all required variables. The variables are expected to occur in the same order as in the equation system. Furthermore, in case of face normal boundary conditions, we assume that the variable normal to the face is occurring first in this array. |
||
type(grw_stringkeyvaluepairarray_type), | private | :: | varDict | Dictionary of boundary state variable with varDict%val()%key is the name of boundary variable and varDict%val()%value is the name of spacetime function variable |
|||
type(atl_eqn_var_trafo_type), | private | :: | bc_trafo | Pointer to function for the necessary state variable transformation. |
|||
logical, | private | :: | bc_normal_vec_gradient | A flag to indicate if derivatives of vectorial quantities are defined in the boundary normal system. |
|||
type(atl_eqn_var_trafo_type), | private | :: | bc_trafo_gradient | Pointer to function for the necessary state gradient variable transformation. Undefined if equations does not involve higher order derivatives |
|||
type(tem_bc_state_type), | private, | allocatable | :: | state_gradient(:) | Boundary condition description for each of higher order terms of the equations. The size of this array depends on the equation system and covers all required variables and its derivatives. The variables are expected to occur in the same order as in the equation system. Furthermore, in case of face normal boundary conditions, we assume that the variable normal to the face is occurring first in this array. |
||
type(grw_stringkeyvaluepairarray_type), | private | :: | varDict_gradient | Dictionary of boundary state gradient variable with varDict%val()%key is the name of boundary variable and varDict%val()%value is the name of spacetime function variable. Odd count refer to state_gradient(:,1) and Even count refer to state_gradient(:,2) |