10.4 Data_Index Class

The Data_Index Class is used to describe a data index in the CÆSAR Code Package. A Data_Index is part of the overall data structure strategy
in CÆSAR, which is made up of the following classes: Base_Structure,
Data_Index, Assembled_Vector, Distributed_Vector, Overlapped_Vector, and
Collected_Array. A description of the overall data structure strategy can be
found in the Data_Structures Module.

The form of a Data_Index object is given by:

Array ( One_Axis [, Many_Axis] )

or

Array ( One_Axis [, Many_Axis_ragged_right] )
--> not implemented

where One_Axis refers to the axis which is spread across the processors.

Data_Index public procedures:

Fundamental procedures

Initialize

Initializes a Data_Index object.

Finalize

Finalizes a Data_Index object.

Valid_State

Returns false iff a Data_Index object
is in an invalid state.

Initialized

Returns true iff a Data_Index object has been initialized.

Operations

Get_Values

Gets the values from a Data_Index object and returns them in
a bare naked vector (also has an assignment interface).

Initialize_Shell_Partition

Sets up the Base_Structure and Data_Index
objects for a poor partitioning, used for
testing.

Output

Writes out the Data_Index object.

Data_Index public defined type:

Data_Index type

Dimensionality

The number of dimensions that the index has.
``Ragged_Right'' indices are signified by a Dimensionality
of -1, and are equivalent to a Dimensionality of 2 where
the number of columns per row varies. (Ragged_Right is
not yet implemented.)

Index1, Index2

The index values, which are modified: 1. to reflect
off-PE locations with a negative number corresponding to
the location in Off_PE_Index of the original value; and
2. to have a local numbering instead of a global
numbering.

Initialized

Initialization status.

Many_Structure

Basic data structure corresponding to the columns in the
index array. The index array can be thought of as a
``Many of One'' relationship (e.g. Many Faces of Each
Cell, or Faces_of_Cells), with each row of the array
signifying all the ``Many'' items that correspond to that
``One'' row.

NOff_PE

The number of Off-PE values.

Off_PE_Index

The values of the index which are not local to this PE.

Off_PE_Trace

The trace for the communication associated with the
Off_PE_Index.

One_Structure

Basic data structure corresponding to the rows in the
index array. The index array can be thought of as a
``Many of One'' relationship (e.g. Many Faces of Each
Cell, or Faces_of_Cells), with each row of the array
signifying all the ``Many'' items that correspond to that
``One'' row.