Synopsis
Holds cell-based data for all cells of the same type in a mesh.
group Cell_Set {
int ncells; /* number of cells */
int cell_ndim; /* cell dimensionality */
int cell_nnodes; /* number of nodes per cell */
int cell_corner_nnodes => cell_nnodes; /* # corner nodes per
cell */
int cell_order; /* cells' order */
int poly_flag; /* flag used for polylines, polytriangles */
int node_connect_list[ncells*cell_nnodes]; /* node
connectivity array */
string+opt name; /* user supplied string to name cell set */
int+opt nprops;
float+opt props[nprops];
};
Description
The Cell_Set holds all of the non-coordinate, non-data information for all cells of the same type (Point, Line, Polyline, Tri, Polytri, Quad, Tet, Hex, Pyr, or Prism, and so on) within an unstructured mesh.
This basic Cell_Set definition must be qualified with the information specific to each cell type before it can be used. See the individual headings for the cell types.
To get/set one entire cell_set:
Subobjects
ncells
An integer that sets the total number of cells in the Cell_Set.
cell_ndim
An integer that sets the dimensionality of this type of cell. This is usually set by the Point, Line, Tri, Quad, and so on, groups.
Dimensionality
|
Cell types
|
0 |
Point |
1 |
Line, Line2, Polyline |
2 |
Tri, Tri2, Polytri, Quad, Quad2 |
3 |
Tet, Tet2, Hex, Hex2, Pyr, Pyr2, Prism, Prism2 |
cell_nnodes
An integer that sets how many nodes make up the cell. This is usually established by the specific Point, Quad, Pyr, and so on, groups. Values range from 0 for Point, 2 for Line, 3 for Line2, up to 8 for Hex, and 20 for Hex2 (hexahedral cell with mid-edge nodes).
cell_corner_nnodes=>cell_nnodes
An integer that sets how many corner nodes this type of cell has. For single order cells, cell_corner_nnodes => cell_nnodes, hence that is the definition here. Higher order cells (with mid-edge nodes) will override this setting with their own correct value.
cell_order
An integer that sets the cell order. cell_order = 1 is a cell with nodes at its corners only cell_order = 2 is a cell with mid-edge nodes. This is usually established by the specific Quad, Quad2, Hex, Hex2, and so on, groups.
There is no FLD library call to get/set this value.
poly_flag
A flag that, when not 0, signals the renderer that this is an unstructured mesh representing a geometry (Polyline, Polytri). The renderer can use faster algorithms to render the object.
node_connect_list[ncells * cell_nnodes]
An integer array. Cells are not independent entities existing in close formation in space. Rather, each cell is connected to another cell; it shares the nodes on its face with the adjacent cell. The node_connect_list is an array that, for each cell (ncells) states which nodes belong to that cell. This is the node connectivity list.
The following figure shows the order of nodes within a cell.
name
A string. Allows users to assign an arbitrary name to the Cell_Set. Note that this is different from the cell_name subobject defined within each cell type to name that cell type (Tri, Quad2, and so on).
nprops
An integer. Allows for users to assign an arbitrary number of Cell_Set properties such as thickness, material, and so on.
props[nprops]
A float array, nprops long. Stores the user-defined properties.
There are more subobjects that can be associated with a Cell_Set. These are added to the basic Cell_Set definition by the individual cell type groups. See the reference pages for the individual cell types. For example, see Hex, Hex2
Files
v/fld.v
See also
Not applicable.