Synopsis
Set subobject values for tetrahedral Cell_Sets.
Cell_Set Tet {
/* tetra cell definition */
cell_nnodes = 4;
cell_ndim = 3;
cell_order = 1;
poly_flag = 0;
int+virtual cell_type = 6;
string+virtual cell_name = "Tet";
int+virtual cell_nfaces = 4;
/* number of faces */
int+virtual cell_face_nnodes[4]={3, 3, 3, 3}; /* nodes per face */
int+virtual cell_face_connect[12]= {1, 2, 0,
2, 3, 0,
3, 1, 0,
1, 3, 2};
int+virtual cell_face_corner_nnodes[4]={3, 3, 3, 3}; /* nodes per face */
float+virtual node_uvw[4][3] = {{1.0,0.0,0.0}, {0.0,1.0,0.0}, {0.0,0.0,1.0},{0.0,0.0,0.0}};
};
Cell_Set Tet2 {
/* tetra second order cell definition */
cell_nnodes = 10;
cell_corner_nnodes = 4; /* number of corner nodes per cell */
cell_ndim = 3;
cell_order = 2;
poly_flag = 0;
int+virtual cell_type = 16;
string+virtual cell_name = "Tet2";
int+virtual cell_nfaces = 4; /* number of faces */
int+virtual cell_face_nnodes[4]={6, 6, 6, 6}; /* nodes per face */
int+virtual cell_face_connect[24]= {1, 2, 0, 7, 5, 4,
2, 3, 0, 8, 6, 5,
3, 1, 0, 9, 4, 6,
1, 3, 2, 9, 8, 7};
int+virtual cell_face_corner_nnodes[4]={3, 3, 3, 3}; /* nodes per face */
float+virtual node_uvw[10][3] = {{1.0,0.0,0.0}, {0.0,1.0,0.0}, {0.0,0.0,1.0},
{0.0,0.0,0.0}, {0.5,0.5,0.0}, {0.5,0.0,0.5},
{0.5,0.0,0.0}, {0.0,0.5,0.5},
{0.0,0.0,0.5}, {0.0,0.5,0.0}};
};
Description
These cell types set values that define the members of this Cells Cell_Set as Tet cells, either with or without mid-edge nodes (cell_order = 2).
Modules that manipulate unstructured grids need the information defined here to correctly process this cell type.
Subobjects
cell_nnodes = 4
cell_nnodes = 10
How many nodes make up the cell. Cells with mid-edge nodes have more nodes.
cell_corner_nnodes=;
In cells with mid-edge nodes, a value that specifies how many of the nodes in the cell are corner nodes.
cell_ndim = 3
How many spatial dimensions make up the cell.
cell_order = 1 or 2
cell_order = 1 means the cell has corner nodes only. cell_order = 2 means the cell has mid-edge nodes.
There is no FLD routine to retrieve this value.
poly_flag = 0
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.
There is no FLD routine to retrieve this value.
cell_type = 6 or 16
An integer that uniquely identifies the type of cells in this cell_set. This is one means of discovering this; cell_name is another.
cell_name = "Tet" or "Tet2"
A string that uniquely identifies the type of cells in this cell_set.
node_uvw[4][3] or [10][3]=
A float array that defines the uvws for the nodes. The uvws are necessary when you are interpolating within a cell by calculating derivatives. The coordinates are parametric.
cell_nfaces = 4;
An integer that defines how many faces are in the cell.
cell_face_nnodes[cell_nfaces]
An integer array that specifies how many nodes there are per cell face.
cell_face_connect[12] or [24]
An integer array that, for each face of the cell, specifies which order the nodes that make up the face should be interpreted in. It is necessary to know this, for example, when calculating normals.
cell_face_corner_nnodes[4]
An integer array that defines, for each face of the cell, how many corner nodes it has.
Files
v/fld.v
See also
Not applicable.