# SURFACE_INTEGRATED_CONDITION

Specifies a condition on the surface integral of a solution variable.

AcuSolve Command

## Syntax

SURFACE_INTEGRATED_CONDITION("name") {parameters...}

User-given name.

## Parameters

shape (enumerated) [no default]
Shape of the surfaces in this set.
three_node_triangle or tri3
Three-node triangle.
six_node_triangle or tri6
Six-node triangle.
element_set or elem_set (string) [no default]
User-given name of the parent element set.
surfaces (array) [no default]
List of element surfaces.
surface_sets (list) [={}]
List of surface set names (strings) to use in this command. When using this option, the connectivity, shape, and parent element of the surfaces are provided by the surface set container and it is unnecessary to specify the shape, element_set and surfaces parameters directly to the SURFACE_INTEGRATED_CONDITION command. This option is used in place of directly specifying these parameters. In the event that both of the surface_sets and surfaces parameters are provided, the full collection of surface elements is read and a warning message is issued. The surface_sets option is the preferred method to specify the surface elements. This option provides support for mixed element topologies and simplifies pre-processing and post-processing.
variable or var (enumerated) [no default]
Boundary condition variable.
mass_flux or mass
Mass flux.
temperature or temp
Temperature.
species_1 or spec1
Species 1.
species_2 or spec2
Species 2.
species_3 or spec3
Species 3.
species_4 or spec4
Species 4.
species_5 or spec5
Species 5.
species_6 or spec6
Species 6.
species_7 or spec7
Species 7.
species_8 or spec8
Species 8.
species_9 or spec9
Species 9.
field
Field.
kinetic_energy or tke
Turbulence kinetic energy.
eddy_frequency or tomega
Turbulence eddy frequency.
dissipation_rate or teps
Dissipation rate.
intermittency or tintc
Intermittency.
transition_re_theta or treth
Transition Re-theta.
type (enumerated) [=constant]
Type of the boundary surface.
constant or const
Constant value. Requires constant_value.
constant_value or value (real) [=0]
Constant value of the boundary condition. Used with constant type.
field (string) [no default]
Value of the boundary condition for field. Used with variable field.
multiplier_function (string) [=none]
User-given name of the multiplier function for scaling the boundary condition values. If none, no scaling is performed.

## Description

This command specifies a condition on the surface integral of a solution variable. Bulk (mass-averaged) definitions are used for the temperature and species variables. The bulk temperature on a surface is defined by:(1)

where T is the temperature, ρ is the density, u is the velocity, n is the outward-pointing normal to the surface, and S is the surface defined by surfaces. Similar definitions are used for the species variables. The mass_flux variable is given by the denominator of the above equation.

The surface is defined by a set of surfaces (element faces) with respect to the elements of an element set. For example,
ELEMENT_SET( "flow elements" ) {
shape          = four_node_tet
elements       = { ...
4, 2, 5, 6, 8 ;
5, 2, 6, 3, 5 ;
... }
...
}
SURFACE_INTEGRATED_CONDITION( "total mass flux at inlet" ) {
shape          = three_node_triangle
element_set    = "flow elements"
surfaces       = { 4, 41, 2, 5, 6 ;
5, 51, 5, 6, 3 ; }
variable       = mass_flux
type           = contant
constant_value = 12
}

defines a surface integrated condition, with a constant value of 12 for the integral of mass flux over two surfaces of the element set "flow elements".

There are two main forms of this command. The legacy version (or single topology version) of the command relies on the use of the surfaces parameter to define the surfaces. When using this form of the command, all surfaces within a given set must have the same shape, and it is necessary to include both the element_set and shape parameters in the command. shape specifies the shape of the surface. This shape must be compatible with the shape of the "parent" element set whose user-given name is provided by element_set. The element set shape is specified by the shape parameter of the ELEMENT_SET command. The compatible shapes are:
Element Shape
Surface Shape
four_node_tet
three_node_triangle
five_node_pyramid
three_node_triangle
five_node_pyramid
six_node_wedge
three_node_triangle
six_node_wedge
eight_node_brick
ten_node_tet
six_node_triangle

The surfaces parameter contains the faces of the element set. This parameter is a multi-column array. The number of columns depends on the shape of the surface. For three_node_triangle, this parameter has five columns, corresponding to the element number (of the parent element set), a unique (within this set) surface number, and the three nodes of the element face. For four_node_quad, surfaces has six columns, corresponding to the element number, a surface number, and the four nodes of the element face. For six_node_triangle, surfaces has eight columns, corresponding to the element number, a surface number, and the six nodes of the element face. One row per surface must be given. The three, four, or six nodes of the surface may be in any arbitrary order, since they are reordered internally based on the parent element definition.

The surfaces may be read from a file. For the above example, the surfaces may be placed in a file, such as inlet.ebc:
4 41 2 5 6
5 51 5 6 3
SURFACE_INTEGRATED_CONDITION( "inlet" ) {
shape          = three_node_triangle
element_set    = "flow elements"
variable       = mass_flux
type           = constant
constant_value = 12.
}
The mixed topology form of the SURFACE_INTEGRATED_CONDITION command provides a more powerful and flexible mechanism for defining the surfaces. Using this form of the command, it is possible to define a collection of surfaces that contains different element shapes. This is accomplished through the use of the surface_sets parameter. The element faces are first created in the input file using the SURFACE_SET command, and are then referred to by the SURFACE_INTEGRATED_CONDITION command. For example, a collection of triangular and quadrilateral element faces can be defined using the following SURFACE_SET commands.
SURFACE_SET( "tri faces" ) {
surfaces    = { 1, 1, 1, 2, 4 ;
2, 2, 3, 4, 6 ;
3, 3, 5, 6, 8 ; }
shape       = three_node_triangle
volume_set  = "tetrahedra"
}
surfaces    = { 1, 1, 1, 2, 4, 9 ;
2, 2, 3, 4, 6, 12 ;
3, 3, 5, 6, 8, 15 ; }
volume_set  = "prisms"
Then, a single SIMPLE_BOUNDARY_CONDITION command is defined that contains the tri and quad faces as follows:
SURFACE_INTEGRATED_CONDITION ( "inlet" ) {
...
}
The list of surface sets can also be placed in a file, such as surface_sets.srfst:
tri faces
quad faces
SURFACE_INTEGRATED_CONDITION ( "inlet" ) {
...
}

The mixed topology version of the SURFACE_INTEGRATED_CONDITION command is preferred. This version provides support for multiple element topologies within a single instance of the command and simplifies pre-processing and post-processing. In the event that both the surface_sets and surfaces parameters are provided in the same instance of the command, the full collection of surface elements is read and a warning message is issued. Although the single and mixed topology formats of the commands can be combined, it is strongly recommended that they are not.

The variable to which the integrated condition applies is given by variable. If the problem does not solve for a field associated with this variable, the condition is simply ignored. A separate SURFACE_INTEGRATED_CONDITION command must be issued for each variable and type.

The quadrature rule for the surface integral is inherited from the parent element set.

A constant type of surface integrated condition specifies that the surface integral of the given variable is equal to constant_value, as in the above example.

The multiplier_function parameter may be used to uniformly scale the surface integrated condition values. The value of this parameter refers to the user-given name of a MULTIPLIER_FUNCTION command in the input file. For example, to impose a condition on the integrated mass flux as a function of time, the following commands may be issued:
SURFACE_INTEGRATED_CONDITION( "time-varying mass flux" ) {
...
variable            = mass_flux
type                = constant
constant_value      = 2.5
multiplier_function = "time varying"
}
MULTIPLIER_FUNCTION( "time varying" ) {
type                = piecewise_linear
curve_fit_values = { 0, 0.0 ;
10, 1.0 ;
20, 0.5 ;
40, 0.7 ;
80, 1.2 ; }
curve_fit_variable  = time
}