# SURFACE_SET

Specifies topological information for a set of surface elements.

AcuSolve Command

## Syntax

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

User-given name.

## Parameters

type (enumerated) [default]
Type of surface set.
default
Mesh topology are given in shape, volume_set and surfaces parameters.
dynamic
Mesh topology will be set in AcuPrep. Used with THERMAL_Shell only.
shape (enumerated) [no default]
Shape of the elements. For type = default only.
three_node_triangle or tri3
Three-node triangle.
six_node_triangle or tri6
Six-node triangle.
surfaces (array) [no default]
A set of surface element connectivity. For type = default only.
volume_set or vol_set (string) [no default]
User-given name of the parent volume set. For type = default only.
dynamic_type (enumerated) [no default]
Type of dynamic surface_set.
shell_inner
If this option is selected, this will be used for the inner surface_set of the AcuPrep created THERMAL_SHELL.
shell_outer
If this option is selected, this will be used for the outer surface_set of the AcuPrep created THERMAL_SHELL.
reference_surface_set (string) [no default]
Name of the surface_set used in THERMAL_SHELL. Surface_set adjacent to this one will be called shell_inner while surface_set on the other side of the THERMAL_SHELL will be shell_outer. Valid for type = dynamic only.

## Description

The purpose of the SURFACE_SET command is to simply act as a container that is later referenced by other commands that take surface elements as an input. All elements in a given SURFACE_SET have the same shape and parent VOLUME_SET, but the SURFACE_SET container enables subsequent commands to accept mixed topologies. For example, consider a simulation which contains tetrahedra and prism elements. These surface elements are read into separate SURFACE_SET containers, which reference their parent volume sets:
VOLUME_SET( "tetrahedra" ) {
elements       = { 1, 1, 2, 4, 3 ;
2, 3, 4, 6, 5 ;
3, 5, 6, 8, 7 ; }
shape          = four_node_tet
}
VOLUME_SET( "prisms" ) {
elements       = { 1, 1, 2, 4, 9, 10, 11 ;
2, 3, 4, 6, 12, 13, 14 ;
3, 5, 6, 8, 15, 16, 17 ; }
shape          = six_node_wedge
}
SURFACE_SET( "tetrahedra surfaces" ) {
surfaces       = { 1, 1, 1, 2, 4 ;
2, 2, 3, 4, 6 ;
3, 3, 5, 6, 8 ; }
shape          = three_node_triangle
volume_set     = "tetrahedra"
}
SURFACE_SET( "prism surfaces" ) {
surfaces       = { 1, 1, 1, 2, 4, 9 ;
2, 2, 3, 4, 6, 12 ;
3, 3, 5, 6, 8, 15 ; }
volume_set     = "prisms"
}
The surface sets can then be referenced in commands that accept surface elements as arguments. For example, the following SIMPLE_BOUNDARY_CONDITION command can be used to define a profiled inlet velocity field that spans tetrahedra and prism elements.
SIMPLE_BOUNDARY_CONDITION("profiled inlet velocity"){
surface_sets     = {"tetrahedra surfaces","prism surfaces"}
type             = inflow
inflow_type      = average_velocity
average_velocity = 1.0
}
The surfaces may also be placed in a file, such as tet_surfaces.srf
1      1         1            2               4
2      2         3            4               6
3      3         5            6               8
and read into the SURFACE_SET command:
SURFACE_SET( "tetrahedra surfaces" ) {
}