UG_IO SimSys 3D Input/Output Grid Files

Input grids for all UG related routines, such as AFLR3, assume a consistent ordering of the connectivity. Input grids for AFLR3 use the optional reconnection flag, grid boundary condition, and initial normal spacing data if it is included. Output grids from AFLR3 usually include volume element connectivity and typically don't contain any of the optional surface grid information.

SURFACE GRID CONNECTIVITY

The node indices for the boundary face connectivity must be numbered one through Number_of_Nodes. For AFLR3, all boundary surface faces on a closed surface should be ordered so that their normals all point out of or into the surface. This is not required if all surfaces are simply connected. If they are not and there are areas where more than two faces share an edge then continuous ordering must be maintained. Each closed surface may have a different ordering (some may point out and some in). All nodes must be unique in physical space (a given coordinate location may not have two or more different node numbers). Also, each possible node index must correspond to an actual node on the boundary surface triangulation.

The node connectivity for boundary surface tria faces is ordered as shown below.

where

inode1 = Surf_Tria_Connectivity[0];
inode2 = Surf_Tria_Connectivity[1];
inode3 = Surf_Tria_Connectivity[2];

Indices for tria faces, itria, are numbered one through Number_of_Trias. Indices for nodes, inode1,..., are numbered one through Number_of_Nodes.

The node connectivity for boundary surface quad faces is ordered as shown below.

where

inode1 = Surf_Quad_Connectivity[0];
inode2 = Surf_Quad_Connectivity[1];
inode3 = Surf_Quad_Connectivity[2];
inode4 = Surf_Quad_Connectivity[3];

Indices for quad faces, iquad, are numbered one through Number_of_Quads. Indices for nodes, inode1,..., are numbered one through Number_of_Nodes. Input boundary surface grid quad faces are typically converted to tria faces.

AFLR3 SURFACE FACE RECONNECTION FLAG

In AFLR3 the reconnection flag for each boundary surface tria face controls reconnection of the surface triangulation during boundary recovery. If the flag is zero then the face can be reconnected with any of its three neighbors. This allows reconnection of the face during boundary recovery. If the flag is positive then the face can not be reconnected with one or more "restricted neighbors" in specified directions. The "restricted neighbors" are specified as follows.

Reconnection Flag | Restricted Neighbor(s)
0 |  |  |
1 | itria1 |  |
2 |  | itria2 |
3 | itria1 | itria2 |
4 |  |  | itria3
5 | itria1 |  | itria3
6 |  | itria2 | itria3
7 | itria1 | itria2 | itria3

For a boundary surface tria face, itria, that contains nodes inode1, inode2, inode3 and has neighbors itria1, itria2, itria3 as shown below.

If faces itria and itria3 should not be reconnected with each other than the appropriate flag for boundary face itria would have a value of four. The flag for boundary face itria4 does not have to be set. AFLR3 will reset the reconnection flag for neighbor faces so each has compatible flags. Priority is always given to restricting reconnection whenever the reconnection flag is reset.

For boundary surface quad faces the reconnection flag is set by AFLR3. The value obtained from the input file is ignored. Within AFLR3 all quads are converted to trias and the reconnection flag is set such that the quad edges are preserved.

In general, reconnection of the surface grid should be allowed wherever possible. AFLR3 will reconnect only if necessary for boundary recovery and if the resulting quality is within specified limits or better then that of the existing grid. The resulting volume grids are usually of optimal quality if surface reconnection is allowed. If part of a surface grid must be connected to another grid with a prescribed triangulation then limit reconnection only on those faces that must match up. The default value for the reconnection flag is zero.

AFLR3 SURFACE FACE ID

In AFLR3 the surface ID is used to group boundary surface faces. It defines a "surface". Boundary reconnection between faces on different "surfaces" is restricted (the reconnection flag is automatically set within AFLR3). Surface ID's are also used with grid boundary condition flag (see grid boundary condition flag description). And, surface ID's are used to set grid boundary conditions with the batch/script version of AFLR3.

AFLR3 SURFACE FACE GRID BOUNDARY CONDITION FLAG

In AFLR3 the grid boundary condition flag magnitude identifies special types of surfaces. The grid boundary condition flag is only applicable if boundary-layer or structured-layer grid generation is selected or if there are embedded or transparent surfaces. A "surface" is defined as a group of connected faces with the same boundary id flag. The default value for the grid boundary condition flag is -1. Note that in some cases multiple values of the grid boundary condition flag have the same meaning. The possible values and their implied meaning are listed below.

Grid Boundary Condition | Description
-6 | internal embedded/transparent surface that will be converted to internal/interior/volume faces with BL volume grid
-5 | embedded/transparent surface with BL volume grid
-1 | standard surface with BL volume grid
0 | standard surface
1 | standard surface
2 | standard surface that intersects the BL region
3 | embedded/transparent surface or source surface that will be converted to source nodes
4 | embedded/transparent surface that intersects the BL region
5 | embedded/transparent surface
6 | internal embedded/transparent surface that will be converted to internal/interior/volume faces
7 | fixed surface that intersects and directly connects to the BL region

The above descriptions are applicable only if the boundary-layer or structured- layer grid generation is selected. If not the following definitions are applicable.

Grid Boundary Condition | Description
-6 | internal embedded/transparent surface that will be converted to internal/interior/volume faces
-5 | embedded/transparent surface
-1 | standard surface
0 | standard surface
1 | standard surface
2 | standard surface
3 | embedded/transparent surface or source surface that will be converted to source nodes
4 | embedded/transparent surface
5 | embedded/transparent surface
6 | internal embedded/transparent surface that will be converted to internal/interior/volume faces
7 | standard surface

Note that embedded/transparent surfaces that are converted to internal faces will exist within the output volume grid. They will not be included in the output boundary surface definition (face connectivity, face ID, etc).

AFLR3 INITIAL NORMAL SPACING

In AFLR3 the initial normal spacing for boundary-layer elements can be specified as part of an input surface grid. If it is specified then a value must be given for every surface node. Only those values for nodes on a boundary face with a negative grid boundary condition flag will actually be used. The initial normal spacing is only used if the boundary-layer option is selected. The default value for the initial normal spacing is zero.

AFLR3 BOUNDARY-LAYER THICKNESS

In AFLR3 the desired boundary-layer thickness for boundary-layer elements can be specified as part of an input surface grid. If it is specified then a value must be given for every surface node. Only those values for nodes on a boundary face with a negative grid boundary condition flag will actually be used. The boundary-layer thickness is only used if the boundary-layer option is selected. The default value for the boundary-layer thickness is zero.

VOLUME GRID TET ELEMENT CONNECTIVITY

The node connectivity for tet elements is ordered as shown below.

where

inode1 = Vol_Tet_Connectivity[itet][0];
inode2 = Vol_Tet_Connectivity[itet][1];
inode3 = Vol_Tet_Connectivity[itet][2];
inode4 = Vol_Tet_Connectivity[itet][3];

Indices for tet elements, itet, are numbered one through Number_of_Tets, Indices for nodes, inode1,..., are numbered one through Number_of_Nodes.

VOLUME GRID FIVE NODE PENT ELEMENT CONNECTIVITY

The node connectivity for five node pent elements is ordered as shown below.

where

inode1 = Vol_Pent5_Connectivity[ipent5][0];
inode2 = Vol_Pent5_Connectivity[ipent5][1];
inode3 = Vol_Pent5_Connectivity[ipent5][2];
inode4 = Vol_Pent5_Connectivity[ipent5][3];
inode5 = Vol_Pent5_Connectivity[ipent5][4];

VOLUME GRID SIX NODE PENT ELEMENT CONNECTIVITY

The node connectivity for six node pent elements is ordered as shown below.

where

inode1 = Vol_Pent6_Connectivity[ipent6][0];
inode2 = Vol_Pent6_Connectivity[ipent6][1];
inode3 = Vol_Pent6_Connectivity[ipent6][2];
inode4 = Vol_Pent6_Connectivity[ipent6][3];
inode5 = Vol_Pent6_Connectivity[ipent6][4];
inode6 = Vol_Pent6_Connectivity[ipent6][5];

Indices for prism (6-noded pent) elements, ipent6, are numbered one through Number_of_Pents_6, Indices for nodes, inode1,..., are numbered one through Number_of_Nodes.

VOLUME GRID HEX ELEMENT CONNECTIVITY

The node connectivity for hex elements is ordered as shown below.

where

inode1 = Vol_Hex_Connectivity[ihex][0];
inode2 = Vol_Hex_Connectivity[ihex][1];
inode3 = Vol_Hex_Connectivity[ihex][2];
inode4 = Vol_Hex_Connectivity[ihex][3];
inode5 = Vol_Hex_Connectivity[ihex][4];
inode6 = Vol_Hex_Connectivity[ihex][5];
inode7 = Vol_Hex_Connectivity[ihex][6];
inode8 = Vol_Hex_Connectivity[ihex][7];

Indices for hex elements, ihex, are numbered one through Number_of_Hexs, Indices for nodes, inode1,..., are numbered one through Number_of_Nodes.

SPLIT FACE HEX ELEMENT CONNECTIVITY

The ICE option (-ice or m_ice=1) of AFLR3 generates a grid with a Cartesian core of hex elements that vary in size based on the background mesh and surface mesh. Size variations between neighboring hex elements is limited to a factor of two. Neighboring hex elements of varying size produce split faces. Split quad faces match only at the outermost corner points and have hanging internal edges and nodes. Additional information is required in order to create a map of element neighbors. AFLR outputs this information in the form of a SPLIT type data file for applications that require an element neighbor map. The SPLIT file contains a list of hex elements that have split faces. The data for each hex element with a split face includes the hex element index, the split face index (face), the four non-matching edge-mid-points (inode1, inode2, inode3, inode4), and the one non-matching face-mid-points (inode5). See the SPLIT file type description for more information.

The face index varies from 1 to 6 and its ordering is shown below (face1 is 1, face2 is 2, etc.) The node indicies shown are defined by the hex element connectivity. Each face consist of four nodes. For example, face 2 is made up of node indicies inode3, inode2, inode6, and inode7.

The hanging or non-matching points are numbered relative to a given face of the hex element. The ordering of the four edge-mid-points and one face-mid-point along with the four corner points is shown below. A node index for each of these points is given in the SPLIT file. If any of them do not exist then the value given is zero (the corner points always exist).

Each split face matches up to either four quad faces of four neighboring hex elements or three to six tria faces of three to six tet elements. No other configurations are possible. If all five mid-points exist then the split face matches four quad faces as shown below.

If four mid-points exist then the split face matches to six tria faces as shown below. Note that the solid line and the dashed line represent the two possible triangulations of the face.

If three mid-points exist then the split face matches to five tria faces as shown below. Note that the solid line and the dashed line represent the two possible triangulations of the face. Also, this configuration can be rotated for four similar configurations.

If two mid-points exist then the split face matches to four tria faces in one of the two configurations shown below. The first configuration can be rotated for four similar configurations and the second one shown can be rotated for two similar configurations. Note that the solid line and the dashed line represent the two possible triangulations of the face.

or

The final possible configuration is for a single mid-point and it matches to three tria faces as shown below. This configuration can also be rotated for four similar configurations.

Note that if the hex element is not split, it still may have a hanging edge. Each non-split face matches up to either one quad face of the one neighboring hex element or two tria faces of the two neighboring tet elements. This non-split situation with neighboring tet elements is shown below. Note that the solid line and the dashed line represent the two possible triangulations of the face.

UG_IO SimSys Files Home