10.5 Assembled_Vector Class

The Assembled_Vector Class is used to describe an assembled vector (existing only on a single processor) in the CÆSAR Code Package. An Assembled_Vector 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.

Assembled_Vector public procedures:

 Fundamental procedures  
 Initialize  Initializes an Assembled_Vector object.
 Finalize  Finalizes an Assembled_Vector object.
 Valid_State  Returns false iff an Assembled_Vector object is in an invalid state.
 Initialized  Returns true iff an Assembled_Vector object has been initialized.
 Operations  
 Get_Values  Gets the values from an Assembled_Vector object and returns them in a bare naked vector (also has an assignment interface).
 Locus  Returns the locus of the Assembled_Vector object.
 Name  Returns the name of the Assembled_Vector object.
 Output  Writes out the Assembled_Vector object.
 Set_Values  Sets the values of the Assembled_Vector object to a bare naked vector (also has an assignment interface).
 Set_Version  Sets the version number of the Assembled_Vector object (also has an assignment interface).
 Version  Returns the version number of the Assembled_Vector object.

Assembled_Vector public defined type:

 Assembled_Vector type  
 Dimensionality  The number of dimensions that the ``vector'' has, including the dimension that is spread over the processors. ``Ragged_Right'' indices are signified by a Dimensionality of -1. (Ragged_Right is not yet implemented.)
 Dimensions  The extents of the dimensions that the ``vector'' has, including the dimension that is spread over the processors, which is last.
 Initialized  Initialization status.
 Name  The name for this variable (especially useful in a vector of Assembled Vectors).
 NValues_Total  Total number of values in this vector.
 Structure  Basic data structure for the axis that is spread over the processors.
 Values{n}  Values in the vector, only defined on the IO PE. Values may have either 1, 2, 3, or 4 dimensions (n = 1, 2, 3, or 4), or be a ragged right array (n = RR). The last dimension is always the dimension to be spread across the processors. Only one of the variables will be allocated for a given object. Ragged right arrays have not been implemented yet.
 Version  Version number which is incremented every time the vector is modified, or is synced with the version number of a data structure that it depends on when it is updated.

The Assembled_Vector Class code listing contains additional documentation. The Assembled_Vector Class also contains a Unit Test Program.



Subsections
Michael L. Hall