15.1.2 Initialize_Uniform_Multi_Mesh Procedure

The Initialize_Uniform_Multi_Mesh procedure allocates and initializes a uniform Multi_Mesh object. A uniform mesh is a structured, orthogonal, cartesian15.2 mesh where every cell is exactly the same size and shape. There is a single $ \Delta$x, $ \Delta$y and $ \Delta$z for the entire mesh, which 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 uniform-specific mesh data:

Calling syntax:

call Initialize (Mesh, NDimensions, Lengths, NCells_X_total, NCells_Y_total, NCells_Z_total, Mesh_Name, status)

Input variables:

 Mesh  The Multi_Mesh object to be initialized.
 NDimensions  The number of dimensions for the mesh.
 Lengths  A vector of the physical lengths for the mesh.
 NCells_X_total  Total number of cells in the X-direction, defined on every PE.
 NCells_Y_total  Total number of cells in the Y-direction, defined on every PE. [Optional]
 NCells_Z_total  Total number of cells in the Z-direction, 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_Uniform_Multi_Mesh code listing contains additional documentation.

Michael L. Hall