fei::VectorSpace Class Reference

#include <fei_VectorSpace.hpp>

Inheritance diagram for fei::VectorSpace:

Inheritance graph
[legend]
List of all members.
void setParameters (const fei::ParameterSet &paramset)
void defineFields (int numFields, const int *fieldIDs, const int *fieldSizes)
void defineIDTypes (int numIDTypes, const int *idTypes)
int addDOFs (int fieldID, int numInstancesOfThisFieldPerID, int idType, int numIDs, const int *IDs)
int addDOFs (int idType, int numIDs, const int *IDs)
int initSharedIDs (int numShared, int idType, const int *sharedIDs, const int *numSharingProcsPerID, const int *sharingProcs)
int initSharedIDs (int numShared, int idType, const int *sharedIDs, const int *numSharingProcsPerID, const int *const *sharingProcs)
int addVectorSpace (fei::VectorSpace *inputSpace)
int initComplete ()
MPI_Comm getCommunicator () const
int getGlobalIndex (int idType, int ID, int fieldID, int fieldOffset, int whichComponentOfField, int &globalIndex)
int getGlobalIndex (int idType, int ID, int fieldID, int &globalIndex)
int getGlobalBlkIndex (int idType, int ID, int &globalBlkIndex)
int getGlobalIndices (int numIDs, const int *IDs, int idType, int fieldID, int *globalIndices)
int getGlobalBlkIndices (int numIDs, const int *IDs, int idType, int *globalBlkIndices)
int getGlobalIndices (int numIDs, const int *IDs, const int *idTypes, const int *fieldIDs, int *globalIndices)
int getGlobalIndex (int idType, int ID, int &globalIndex)
int getNumDegreesOfFreedom (int idType, int ID)
int getNumFields ()
void getFields (std::vector< int > &fieldIDs)
int getNumFields (int idType, int ID)
void getFields (int idType, int ID, std::vector< int > &fieldIDs)
size_t getNumIDTypes ()
void getIDTypes (std::vector< int > &idTypes) const
void getGlobalIndexOffsets (std::vector< int > &globalOffsets) const
void getGlobalBlkIndexOffsets (std::vector< int > &globalBlkOffsets) const
int getOwnerProcPtIndex (int globalIndex)
int getOwnerProcBlkIndex (int globalIndex)
bool isLocal (int idType, int ID)
bool isLocallyOwned (int idType, int ID)
unsigned getFieldSize (int fieldID)
int getNumOwnedAndSharedIDs (int idType)
int getNumOwnedIDs (int idType)
int getOwnedAndSharedIDs (int idtype, int lenList, int *IDs, int &numLocalIDs)
int getOwnedIDs (int idtype, int lenList, int *IDs, int &numLocalIDs)
int getNumIndices_SharedAndOwned () const
int getIndices_SharedAndOwned (std::vector< int > &globalIndices) const
int getNumBlkIndices_SharedAndOwned (int &numBlkIndices) const
int getBlkIndices_SharedAndOwned (int lenBlkIndices, int *globalBlkIndices, int *blkSizes, int &numBlkIndices)
int getNumIndices_Owned () const
int getIndices_Owned (std::vector< int > &globalIndices) const
int getIndices_Owned (int lenIndices, int *globalIndices, int &numIndices) const
int getNumBlkIndices_Owned () const
int getBlkIndices_Owned (int lenBlkIndices, int *globalBlkIndices, int *blkSizes, int &numBlkIndices)
int getNumSharedIDs (int idType, int &numShared)
int getGlobalNumIndices () const
int getGlobalNumBlkIndices () const
int getRecordCollection (int idType, snl_fei::RecordCollection *&records)
int getRecordCollection (int idType, const snl_fei::RecordCollection *&records) const
std::vector< int > & getEqnNumbers ()
const std::vector< int > & getEqnNumbers () const
snl_fei::PointBlockMapgetPointBlockMap ()
const snl_fei::PointBlockMapgetPointBlockMap () const
void getGlobalIndices (const fei::Pattern *pattern, const fei::Record< int > *const *records, std::vector< int > &indices)
void getGlobalBlkIndices (const fei::Pattern *pattern, const fei::Record< int > *const *records, std::vector< int > &indices)
void getGlobalIndices (int numRecords, const fei::Record< int > *const *records, int fieldID, int fieldSize, int indicesAllocLen, int *indices, int &numIndices)
void getGlobalIndices (int numRecords, const fei::Record< int > *const *records, const int *numFieldsPerID, const int *fieldIDs, const int *fieldSizes, int indicesAllocLen, int *indices, int &numIndices)
void getGlobalBlkIndices (int numRecords, const fei::Record< int > *const *records, int indicesAllocLen, int *indices, int &numIndices)
int addDOFs (int fieldID, int numInstancesOfThisFieldPerID, int idType, int numIDs, const int *IDs, fei::Record< int > **records)
int addDOFs (int idType, int numIDs, const int *IDs, fei::Record< int > **records)
std::vector< fei::FieldMask * > fieldMasks_
class fei::Lookup_Impl

Public Member Functions

 VectorSpace (MPI_Comm comm, const char *name=NULL)
virtual ~VectorSpace ()

Classes

class  Factory

Detailed Description

Class containing the methods for defining a solution-space (a set of degrees-of-freedom) and mapping that space to a globally unique set of indices. The set of indices can then be used in defining vectors or in defining either the row-space or the column-space of matrices.

Example: define a displacement field over a set of node-identifiers, and map that set to a set of equation-numbers.

There are multiple ways to use an instance of this interface:

For generating vectors:

  1. Define fields and identifier-types
  2. Initialize active fields over sets of identifiers
  3. Obtain index offset and range information via the methods 'getGlobalIndexOffsets()', 'getIndices_Owned()', 'getIndices_SharedAndOwned()', etc., to use in constructing or initializing a vector object.

For generating matrices:

  1. Define fields and identifier-types
  2. Construct an instance of fei::MatrixGraph (using this VectorSpace as a contructor argument) and then initialize connectivities and other structural attributes on the MatrixGraph object.
  3. Obtain matrix-graph information from the fei::MatrixGraph object to use in constructing or initializing a matrix object.

Definition at line 60 of file fei_VectorSpace.hpp.


Constructor & Destructor Documentation

fei::VectorSpace::VectorSpace ( MPI_Comm  comm,
const char *  name = NULL 
)

Constructor.

Parameters:
comm MPI_Communicator
name String to be used in the name of a debug-log file, if any. This is an optional argument, defaults to NULL.

Definition at line 139 of file fei_VectorSpace.cpp.

fei::VectorSpace::~VectorSpace (  )  [virtual]

Destructor

Definition at line 179 of file fei_VectorSpace.cpp.


Member Function Documentation

void fei::VectorSpace::setParameters ( const fei::ParameterSet paramset  ) 

Set parameter values from a fei::ParameterSet object. (Need to add documentation here regarding what parameters and values are valid and meaningful to this object...)

Definition at line 210 of file fei_VectorSpace.cpp.

void fei::VectorSpace::defineFields ( int  numFields,
const int *  fieldIDs,
const int *  fieldSizes 
)

Define fields that will occur in this solution space.
Example: a temperature field might be defined as fieldID 0, size 1.
Example: a velocity field might be defined as fieldID 5, size 3.

Parameters:
numFields Input. Length of the fieldIDs and fieldSizes lists.
fieldIDs Input. List of user-supplied field-identifiers. Convention: Active solution-space fields should generally be denoted by non-negative field-identifiers, while "other" fields (such as geometric coordinates) should be denoted by negative field-identifiers.
fieldSizes Input. List of user-specified field-sizes. A field-size is the number of scalar components that make up a field.

Definition at line 258 of file fei_VectorSpace.cpp.

void fei::VectorSpace::defineIDTypes ( int  numIDTypes,
const int *  idTypes 
)

Define identifier-types in this solution space.
For example, define node-identifiers to be type 0, edge-identifiers to be type 1, lagrange-multiplier identifiers to be type 2, etc.
identifier-types need not be zero-based or contiguous.

Parameters:
numIDTypes Number of distinct identifier-types
idTypes User-supplied list of identifier-types
Returns:
error-code 0 if successful

Definition at line 277 of file fei_VectorSpace.cpp.

int fei::VectorSpace::addDOFs ( int  fieldID,
int  numInstancesOfThisFieldPerID,
int  idType,
int  numIDs,
const int *  IDs 
)

Add a set of identifiers to this solution-space. These solution-space entries consist of fields residing at identifiers.
Example: temperature field at a set of finite-element nodes.

Parameters:
fieldID Input. The field-identifier to be added. Must be one of the fieldIDs defined previously via 'defineFields()'.
numInstancesOfThisFieldPerID Input. It is possible to have multiple fields of the same fieldID at each mesh location. e.g., you could have 2 pressure fields at each edge.
idType Input. The identifier-type over which the active field is being initialized. Must be one of the idTypes defined previously via 'defineIDTypes()'.
numIDs Input. Length of the IDs list.
IDs Input List of identifiers over which 'fieldID' is active.
Returns:
error-code 0 if successful

Definition at line 300 of file fei_VectorSpace.cpp.

int fei::VectorSpace::addDOFs ( int  idType,
int  numIDs,
const int *  IDs 
)

Add a set of identifiers to the solution-space. These solution-space entries consist of identifiers that don't have associated fields.
Example: Lagrange-multiplier constraint identifiers.
This method may also be used for initializing a finite-element solution-space where the user knows that the entire problem contains only one scalar field (e.g., temperature) and so it is sufficient to define a solution space on identifiers without associating fields with those identifiers. (This will achieve a performance gain for the structure- definition, graph-generation and matrix/vector assembly.)

Parameters:
idType Input. The identifier-type over which the solution- space is being defined. Must be one of the idTypes defined previously via 'defineIDTypes()'.
numIDs Input. Number of identifiers being added to the solution- space.
IDs Input. List of length numIDs. Identifiers being added to the solution-space.
Returns:
error-code 0 if successful

Definition at line 378 of file fei_VectorSpace.cpp.

int fei::VectorSpace::initSharedIDs ( int  numShared,
int  idType,
const int *  sharedIDs,
const int *  numSharingProcsPerID,
const int *  sharingProcs 
)

Specify a set of identifiers that are shared with other processors. The shared ids must be identified in a globally symmetric way. i.e., if the local processor identifies id x as being shared with processor p, then processor p MUST identify id x as being shared with the local processor.

Parameters:
numShared Input. Length of the lists sharedIDs and numSharingProcsPerID.
idType Input. The identifier-type of the ids that are being identified as shared.
sharedIDs Input. List of shared identifiers.
numSharingProcsPerID Input. List of length numShared, and the i-th entry gives the number of processors being identified as sharing the i-th sharedID.
sharingProcs Input. Packed list of length sum(numSharingProcsPerID), containing the sharing processor ranks.
Returns:
error-code 0 if successful

Definition at line 436 of file fei_VectorSpace.cpp.

int fei::VectorSpace::initSharedIDs ( int  numShared,
int  idType,
const int *  sharedIDs,
const int *  numSharingProcsPerID,
const int *const *  sharingProcs 
)

Specify a set of identifiers that are shared with other processors. The shared ids must be identified in a globally symmetric way. i.e., if the local processor identifies id x as being shared with processor p, then processor p MUST identify id x as being shared with the local processor.

Parameters:
numShared Input. Length of the lists sharedIDs and numSharingProcsPerID.
idType Input. The identifier-type of the ids that are being identified as shared.
sharedIDs Input. List of shared identifiers.
numSharingProcsPerID Input. List of length numShared, and the i-th entry gives the number of processors being identified as sharing the i-th sharedID.
sharingProcs Input. Table with 'numShared' rows, and each row is of length numSharingProcsPerID. This table contains the sharing processor ranks.
Returns:
error-code 0 if successful

Definition at line 482 of file fei_VectorSpace.cpp.

int fei::VectorSpace::addVectorSpace ( fei::VectorSpace inputSpace  ) 

Add the contents of another VectorSpace object to this one.

Definition at line 525 of file fei_VectorSpace.cpp.

int fei::VectorSpace::initComplete (  ) 

Indicate that initialization is complete. This is a collective function, must be called on all processors. At this time ownership of shared IDs will be assigned, and the global index space calculated.

Returns:
error-code 0 if successful

Definition at line 589 of file fei_VectorSpace.cpp.

MPI_Comm fei::VectorSpace::getCommunicator (  )  const

Return the MPI_Comm held by this vector-space. When built/run in serial mode, MPI_Comm is defined to be int.

Definition at line 204 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getGlobalIndex ( int  idType,
int  ID,
int  fieldID,
int  fieldOffset,
int  whichComponentOfField,
int &  globalIndex 
)

Given a particular degree-of-freedom, request the corresponding global index. A particular degree-of-freedom is specified as a component of a particular field, residing at a particular location (ID).

Parameters:
idType Input. Identifier-type of the location at which the specified degree-of-freedom resides. Must be one of the identifier-types previously defined via a call to 'defineIDTypes()'.
ID Input. Identifier for the location being specified, such as a node-identifier, etc.
fieldID Input. Identifier for the field being specified.
fieldOffset Input. In case there is more than one field with the specified fieldID residing at the specified ID, this provides an offset into those fields. If only one field with specified fieldID, then this parameter is 0.
whichComponentOfField Input. Specifies a scalar component within the field. If the field only has 1 scalar component, then this parameter is 0.
globalIndex Output. This is the global index of the specified degree-of-freedom. Not referenced if the specified degree-of-freedom is not found.
Returns:
error-code 0 if successful. If the specified degree-of-freedom is not found, -1 is returned.

Definition at line 654 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getGlobalIndex ( int  idType,
int  ID,
int  fieldID,
int &  globalIndex 
)

Given a particular degree-of-freedom, request the corresponding global index. A particular degree-of-freedom is specified as a component of a particular field, residing at a particular location (ID).

Parameters:
idType Input. Identifier-type of the location at which the specified degree-of-freedom resides. Must be one of the identifier-types previously defined via a call to 'defineIDTypes()'.
ID Input. Identifier for the location being specified, such as a node-identifier, etc.
fieldID Input. Identifier for the field being specified.
globalIndex Output. This is the global index of the first component of the specified field. Not referenced if the specified field is not found on the given ID.
Returns:
error-code 0 if successful. If the specified degree-of-freedom is not found, -1 is returned.

Definition at line 688 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getGlobalBlkIndex ( int  idType,
int  ID,
int &  globalBlkIndex 
)

Given a particular identifier, request the corresponding global block-index.

Parameters:
idType Input. Identifier-type of the identifier being queried.
ID Input. Identifier for which a block-index is being requested.
globalBlkIndex Output. This is the global block-index of the specified identifier.
Returns:
error-code 0 if successful. If the specified degree-of-freedom is not found, -1 is returned.

Definition at line 697 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getGlobalIndices ( int  numIDs,
const int *  IDs,
int  idType,
int  fieldID,
int *  globalIndices 
)

Given a list of IDs, fill an output-list of the global-indices that correspond to the first instance of the specified field at each ID.

Parameters:
numIDs Input. Length of the IDs.
IDs Input. User-provided list of identifiers.
idType Input. Type of the IDs for which indices are being requested.
fieldID Input. Specified field
globalIndices Output. User-allocated list which, on exit, will contain the requested indices. Note that the length of this list is assumed to be numIDs*getFieldSize(fieldID).
Returns:
error-code 0 if successful Note that for any IDs that are not found, or IDs which don't have the specified field, the corresponding global-index will be -1.

Definition at line 710 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getGlobalBlkIndices ( int  numIDs,
const int *  IDs,
int  idType,
int *  globalBlkIndices 
)

Given a list of IDs, fill an output-list of the global-block-indices that correspond to each ID.

Parameters:
numIDs Input. Length of the IDs list and of the globalBlkIndices list.
IDs Input. User-provided list of identifiers.
idType Input. Type of the IDs for which block-indices are being requested.
globalBlkIndices Output. User-allocated list which, on exit, will contain the requested indices. Note that the length of this list is assumed to be numIDs.
Returns:
error-code 0 if successful Note that for any IDs that are not found, the corresponding global-index will be -1.

Definition at line 750 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getGlobalIndices ( int  numIDs,
const int *  IDs,
const int *  idTypes,
const int *  fieldIDs,
int *  globalIndices 
)

Given a list of IDs, fill an output-list of the global-indices that correspond to the first instance of the specified field at each ID. Somewhat more general version of the getGlobalIndices() method above.

Parameters:
numIDs Input. Length of the IDs list.
IDs Input. User-provided list of identifiers.
idTypes Input. List of length numIDs, specifying the types of the IDs for which indices are being requested.
fieldIDs Input. List of length numIDs, specifying a field at each ID.
globalIndices Output. User-allocated list which, on exit, will contain the requested indices. Note that the length of this list is assumed to be numIDs*getFieldSize(fieldID).
Returns:
error-code 0 if successful Note that for any IDs that are not found, or IDs which don't have the specified field, the corresponding global-index will be -1.

Definition at line 774 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getGlobalIndex ( int  idType,
int  ID,
int &  globalIndex 
)

Given a particular degree-of-freedom, request the corresponding global index. In this case, the degree-of-freedom is specified simply by an identifier and identifier-type, without specifying a field. This is intended to be used for requesting global indices for constraint- identifiers or other identifiers which don't have associated fields. If the specified identifier actually does have associated fields, then the output globalIndex will be the global-index corresponding to the first component of the first associated field.

Parameters:
idType Input. Identifier-type of the location at which the specified degree-of-freedom resides. Must be one of the identifier-types previously defined via a call to 'defineIDTypes()'.
ID Input. Identifier for the location being specified, such as a node-identifier, etc.
globalIndex Output. This is the global index of the specified degree-of-freedom. Not referenced if the specified degree-of-freedom is not found.
Returns:
error-code 0 if successful. If the specified degree-of-freedom is not found, -1 is returned.

Definition at line 968 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumDegreesOfFreedom ( int  idType,
int  ID 
)

Given a particular identifier, request the number of scalar degrees-of- freedom that are associated with that identifier.

Definition at line 988 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumFields (  ) 

Query the number of fields defined for this vector-space.

Definition at line 1003 of file fei_VectorSpace.cpp.

void fei::VectorSpace::getFields ( std::vector< int > &  fieldIDs  ) 

Fill a std::vector with fieldIDs defined for this vector-space.

Parameters:
fieldIDs On exit, contains fieldIDs.

Definition at line 1009 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumFields ( int  idType,
int  ID 
)

Given a particular identifier, request the number of fields that are associated with that identifier.

Definition at line 1034 of file fei_VectorSpace.cpp.

void fei::VectorSpace::getFields ( int  idType,
int  ID,
std::vector< int > &  fieldIDs 
)

Given a particular identifier, request the list of fields that are associated with that identifier.

Parameters:
idType Identifier-type
ID Specified identifier
lenFieldIDs Input. Length of user-allocated 'fieldIDs' list.
fieldIDs Input. User-allocated list, length must be at least as large as the value produced by getNumFields() for this ID.
numFields Output. Number of fields. If numFields > lenFieldIDs, then fieldIDs will contain the first 'lenFieldIDs' field identifiers.

Definition at line 1099 of file fei_VectorSpace.cpp.

size_t fei::VectorSpace::getNumIDTypes (  ) 

Query for the number of identifier-types defined for this vector-space.

Definition at line 1020 of file fei_VectorSpace.cpp.

void fei::VectorSpace::getIDTypes ( std::vector< int > &  idTypes  )  const

Query for the list of identifier-types defined for this vector-space.

Parameters:
idTypes Output, on exit contents will contain id-types that are defined for this vector-space.

Definition at line 1026 of file fei_VectorSpace.cpp.

void fei::VectorSpace::getGlobalIndexOffsets ( std::vector< int > &  globalOffsets  )  const

Request the global index offsets. Indices are zero-based.

Parameters:
globalOffsets Output. On exit, contains global-offsets.
globalOffsets[i] is first global offset on processor i, for i in 0 .. numPartitions - 1
globalOffsets[i+1] - globalOffsets[i] is the number of indices on the i-th processor

Definition at line 1122 of file fei_VectorSpace.cpp.

void fei::VectorSpace::getGlobalBlkIndexOffsets ( std::vector< int > &  globalBlkOffsets  )  const

Request the global block-index offsets. Indices are zero-based.

Parameters:
globalBlkOffsets Output. On exit, contains global-block-offsets.
globalBlkOffsets[i] is first global block-offset on processor i, for i in 0 .. numPartitions - 1
globalBlkOffsets[i+1] - globalBlkOffsets[i] is the number of block-indices on the i-th processor

Definition at line 1128 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getOwnerProcPtIndex ( int  globalIndex  ) 

Given a global index in the point-equation space, return the owning processor. If the global index is not in the equation space, return -1.

Definition at line 1134 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getOwnerProcBlkIndex ( int  globalIndex  ) 

Given a global index in the block-equation space, return the owning processor. If the global index is not in the equation space, return -1.

Definition at line 1149 of file fei_VectorSpace.cpp.

bool fei::VectorSpace::isLocal ( int  idType,
int  ID 
)

Given an identifier (with identifier-type), return true if it resides on the local processor, false if not. This will return true if the identifier is either owned or shared by the local processor.

Definition at line 1049 of file fei_VectorSpace.cpp.

bool fei::VectorSpace::isLocallyOwned ( int  idType,
int  ID 
)

Given an identifier (with identifier-type), return true if it resides on the local processor and is locally owned, false if not.

Definition at line 1063 of file fei_VectorSpace.cpp.

unsigned fei::VectorSpace::getFieldSize ( int  fieldID  ) 

Request the field-size for a specified field-identifier. If the specified field-identifier is not found, std::runtime_error is thrown.

Parameters:
fieldID Input. Specified field-identifier

Definition at line 1080 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumOwnedAndSharedIDs ( int  idType  ) 

Query the number of locally owned-or-shared identifiers.

Definition at line 1164 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumOwnedIDs ( int  idType  ) 

Query the number of locally-owned identifiers.

Definition at line 1173 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getOwnedAndSharedIDs ( int  idtype,
int  lenList,
int *  IDs,
int &  numLocalIDs 
)

Obtain a list of the local identifiers. Note that this includes identifiers that are locally shared but not owned.

Definition at line 1193 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getOwnedIDs ( int  idtype,
int  lenList,
int *  IDs,
int &  numLocalIDs 
)

Obtain a list of the locally owned identifiers.

Definition at line 1213 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumIndices_SharedAndOwned (  )  const

Query number of indices on local processor, including ones that are locally owned as well as shared-but-not-owned. Only available after initComplete has been called. (returns 0 before that)

Definition at line 1246 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getIndices_SharedAndOwned ( std::vector< int > &  globalIndices  )  const

Obtain list of global indices on local processor, including ones that are locally owned as well as shared-but-not-owned. Only available after initComplete has been called.

Parameters:
globalIndices On output, will contain all indices owned or shared by local processor.

Definition at line 1252 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumBlkIndices_SharedAndOwned ( int &  numBlkIndices  )  const

Query number of block indices on local processor, including ones that are locally owned as well as shared-but-not-owned. Only available after initComplete has been called.

Definition at line 1271 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getBlkIndices_SharedAndOwned ( int  lenBlkIndices,
int *  globalBlkIndices,
int *  blkSizes,
int &  numBlkIndices 
)

Obtain list of global block indices on local processor, including ones that are locally owned as well as shared-but-not-owned. Only available after initComplete has been called.

Parameters:
lenBlkIndices Input. Length of user-allocated 'globalBlkIndices' list.
globalBlkIndices User-allocated list. On output, will contain all indices owned or shared by local processor.
blkSizes User-allocated list. On output, will contain the number of scalars (point-indices) associated with each corresponding block-index.
numBlkIndices Output. Number of indices. If 'numBlkIndices' is different than 'lenBlkIndices', then globalBlkIndices will contain 'min(lenBlkIndices, numBlkIndices)' of the local processor's indices.

Definition at line 1282 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumIndices_Owned (  )  const

Query number of indices owned by local processor.

Definition at line 1309 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getIndices_Owned ( std::vector< int > &  globalIndices  )  const

Obtain list of global indices owned by local processor. Only available after initComplete has been called.

Parameters:
lenIndices Input. Length of user-allocated 'globalIndices' list.
globalIndices User-allocated list. On output, will contain all indices owned by local processor.
numIndices Output. Number of indices. If 'numIndices' is different than 'lenIndices', then globalIndices will contain 'min(lenIndices, numIndices)' of the local processor's indices.

Definition at line 1322 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumBlkIndices_Owned (  )  const

Query number of block indices owned by local processor.

Definition at line 1364 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getBlkIndices_Owned ( int  lenBlkIndices,
int *  globalBlkIndices,
int *  blkSizes,
int &  numBlkIndices 
)

Obtain list of global block indices owned by local processor. Only available after initComplete has been called.

Parameters:
lenBlkIndices Input. Length of user-allocated 'globalBlkIndices' list.
globalBlkIndices User-allocated list. On output, will contain all indices owned by local processor.
blkSizes User-allocated list. On output, will contain the number of scalars (point-indices) associated with each corresponding block-index.
numBlkIndices Output. Number of indices. If 'numBlkIndices' is different than 'lenBlkIndices', then globalBlkIndices will contain 'min(lenBlkIndices, numBlkIndices)' of the local processor's indices.

Definition at line 1389 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getNumSharedIDs ( int  idType,
int &  numShared 
)

Query the number of shared identifiers of a given id-type.

Definition at line 1185 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getGlobalNumIndices (  )  const

Query the number of eqn indices across all processors.

Definition at line 1302 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getGlobalNumBlkIndices (  )  const

Query the number of block-eqn indices across all processors.

Definition at line 1377 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getRecordCollection ( int  idType,
snl_fei::RecordCollection *&  records 
)

Intended to be used by other fei classes.

Definition at line 1410 of file fei_VectorSpace.cpp.

int fei::VectorSpace::getRecordCollection ( int  idType,
const snl_fei::RecordCollection *&  records 
) const

Intended to be used by other fei classes.

Definition at line 1421 of file fei_VectorSpace.cpp.

std::vector< int > & fei::VectorSpace::getEqnNumbers (  )  [inline]

Intended to be used only by other fei classes.

Definition at line 740 of file fei_VectorSpace.hpp.

const std::vector< int > & fei::VectorSpace::getEqnNumbers (  )  const [inline]

Intended to be used only by other fei classes.

Definition at line 745 of file fei_VectorSpace.hpp.

snl_fei::PointBlockMap * fei::VectorSpace::getPointBlockMap (  )  [inline]

Intended to be used by other implementation classes.

Definition at line 750 of file fei_VectorSpace.hpp.


The documentation for this class was generated from the following files:
Generated on Mon Jul 12 09:31:44 2010 for FEI by  doxygen 1.4.7