15.1.3 Initialize_Orthogonal_Multi_Mesh Procedure

The Initialize_Orthogonal_Multi_Mesh procedure allocates and initializes an orthogonal Multi_Mesh object. An orthogonal mesh is a structured, cartesian15.3mesh with block-shaped cells. Each cell may have a different $ \Delta$x, $ \Delta$y and $ \Delta$z, but the entire mesh can be described by vectors of coordinates along the three axes. The mesh has a block-shaped domain (i.e. a right rectangular prism in 3D). In parallel, each PE also contains a block-shaped domain, but each PE may have a different-sized block. An optimum partitioning of the mesh, given these constraints, is generated by the Gen_StructureMesh_Connectivity procedure.

In addition to the mesh data set by the Initialize_Base_Multi_Mesh procedure, this procedure also sets the following orthogonal-specific mesh data:

Calling syntax:

call Initialize (Mesh, NDimensions, Coordinates_Nodes_X, Coordinates_Nodes_Y, Coordinates_Nodes_Z, Mesh_Name, status)

Input variables:

 Mesh  The Multi_Mesh object to be initialized.
 NDimensions  The number of dimensions for the mesh.
 Coordinates_Nodes_X  The X-coordinates for all of the nodes, defined on every PE.
 Coordinates_Nodes_Y  The Y-coordinates for all of the nodes, defined on every PE. [Optional]
 Coordinates_Nodes_Z  The Z-coordinates for all of the nodes, defined on every PE. [Optional]
 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_Orthogonal_Multi_Mesh code listing contains additional documentation.

Michael L. Hall