15.1.1 Initialize_Base_Multi_Mesh Procedure

The Initialize_Base_Multi_Mesh procedure allocates and initializes the fundamental parts of a Multi_Mesh object that are common to all mesh types. It sets the following mesh data:

- mesh type information (NDimensions, Geometry, Uniformity, Orthogonality, Structure, AMR, Shape),
- mesh scalar information (NCells_total, NCells_PE, Last_Cell_PE, First_Cell_PE, Range_Cells_PE, NNodes_total, NNodes_PE, Last_Node_PE, First_Node_PE, Range_Nodes_PE, NFaces_total, NFaces_PE, Last_Face_PE, First_Face_PE, Range_Faces_PE, Nodes_per_Cell, Nodes_per_Face, Faces_per_Cell),
- mesh base structures (Node_Structure, Cell_Structure, Face_Structure),
- mesh coordinates (Coordinates_Nodes), and
- mesh node-cell connectivity (Nodes_of_Cells_Index).

Calling syntax:

call Initialize (Mesh, NDimensions, Geometry, Uniformity,
Orthogonality, Structure, AMR, Shape,
NNodes_Vector, NCells_Vector, NFaces_Vector,
Coordinates_Nodes_PE, Nodes_of_Cells_PE,
Mesh_Name, status) |

Input variables:

Mesh |
The Multi_Mesh object to be initialized. | ||

NDimensions |
The number of spatial dimensions. [1,2,3] | ||

Geometry |
The geometry type. [Cartesian, Cylindrical, or Spherical] | ||

Uniformity |
The uniformity of the mesh. [Uniform, Nonuniform] | ||

Orthogonality |
The orthogonality of the mesh. [Orthogonal, Nonorthogonal] | ||

Structure |
The mesh structure. [Structured, Unstructured] | ||

AMR |
Logical which is true for Adaptive Mesh Refinement (AMR, H-type) meshes. | ||

Shape |
The shape of cells in the mesh. [Segmented, Triangular, Quadrilateral, Polygonal, Tetrahedral, Hexahedral, Polyhedral] | ||

NNodes_Vector |
A vector containing the number of mesh nodes on each PE. | ||

NCells_Vector |
A vector containing the number of mesh cells on each PE. | ||

NFaces_Vector |
A vector containing the number of mesh faces on each PE. | ||

Coordinates_Nodes_PE(NDimensions,Nodes_PE) |
The coordinates of the nodes on this PE. | ||

Nodes_of_Cells_PE(Cells_PE,Nodes_per_Cell) |
The node numbers for each cell on this PE. | ||

dim{n} |
The dimensions for this ``array''. There must be dimensions specified up to a number one less than the Dimensionality. These are only needed in the second form of the call. | ||

Mesh_Name |
The name for this mesh. [Optional] |

Output variables:

Mesh |
The Multi_Mesh object has been allocated and initialized. | ||

status |
If present, the status variable is set to either
'Memory Error' or 'Success' depending
on program execution. If not present, the procedure
aborts if unsuccessful when the DEBUG_LEVEL
is set high enough. |

Internal variables:

allocate_status |
Allocation Status. | ||

consolidated_status |
Consolidated Status. |

The Initialize_Base_Multi_Mesh code listing contains additional documentation.

Michael L. Hall