Cell_Set

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 see FLDget_cell_set

Parameters

ncells

An integer that sets the total number of cells in the Cell_Set.
FLDget_ncells

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

FLDget_cell_ndim

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).
FLDget_cell_set_nnodes
FLDget_cell_set

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.
FLDget_cell_corner_nnodes

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.


FLDget_node_connect

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).
FLDget_cell_set_user_name

nprops

An integer. Allows for users to assign an arbitrary number of Cell_Set properties such as thickness, material, and so on.
FLDget_cell_nprops

props[nprops]

A float array, nprops long. Stores the user-defined properties.
FLDget_cell_propsThere 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:
Hex, Hex2

Files

v/fld.v.

See Also

none.