FEI Version of the Day
Classes | Public Member Functions
fei::MatrixGraph_Impl2 Class Reference

#include <fei_MatrixGraph_Impl2.hpp>

Inheritance diagram for fei::MatrixGraph_Impl2:
Inheritance graph
[legend]

List of all members.

Classes

class  Factory

Public Member Functions

 MatrixGraph_Impl2 (fei::SharedPtr< fei::VectorSpace > rowSpace, fei::SharedPtr< fei::VectorSpace > colSpace, const char *name=NULL)
virtual ~MatrixGraph_Impl2 ()
void setParameters (const fei::ParameterSet &params)
void setRowSpace (fei::SharedPtr< fei::VectorSpace > rowSpace)
fei::SharedPtr< fei::VectorSpacegetRowSpace ()
void setColumnSpace (fei::SharedPtr< fei::VectorSpace > columnSpace)
fei::SharedPtr< fei::VectorSpacegetColSpace ()
int definePattern (int numIDs, int idType)
int definePattern (int numIDs, int idType, int fieldID)
int definePattern (int numIDs, int idType, const int *numFieldsPerID, const int *fieldIDs)
int definePattern (int numIDs, const int *idTypes, const int *numFieldsPerID, const int *fieldIDs)
int initConnectivityBlock (int blockID, int numConnectivityLists, int patternID, bool diagonal=false)
int initConnectivityBlock (int numConnectivityLists, int patternID, bool diagonal=false)
int initConnectivityBlock (int blockID, int numConnectivityLists, int rowPatternID, int colPatternID)
int initConnectivity (int blockID, int connectivityID, const int *connectedIdentifiers)
int initConnectivity (int blockID, int connectivityID, const int *rowConnectedIdentifiers, const int *colConnectedIdentifiers)
int initConnectivity (int patternID, const int *connectedIdentifiers)
int initConnectivity (int rowPatternID, const int *rowConnectedIdentifiers, int colPatternID, const int *colConnectedIdentifiers)
int initConnectivity (int idType, int numRows, const int *rowIDs, const int *rowOffsets, const int *packedColumnIDs)
int initConnectivity (int idType, int fieldID, int numRows, const int *rowIDs, const int *rowOffsets, const int *packedColumnIDs)
int initConnectivity (int idType, int numRows, const int *rowIDs, const int *rowLengths, const int *const *columnIDs)
int initLagrangeConstraint (int constraintID, int constraintIDType, int numIDs, const int *idTypes, const int *IDs, const int *fieldIDs)
int initPenaltyConstraint (int constraintID, int constraintIDType, int numIDs, const int *idTypes, const int *IDs, const int *fieldIDs)
int initSlaveConstraint (int numIDs, const int *idTypes, const int *IDs, const int *fieldIDs, int offsetOfSlave, int offsetIntoSlaveField, const double *weights, double rhsValue)
bool hasSlaveDof (int ID, int idType)
int initComplete ()
fei::SharedPtr
< fei::SparseRowGraph
createGraph (bool blockEntryGraph, bool localRowGraph_includeSharedRows=false)
int compareStructure (const fei::MatrixGraph &matrixGraph, bool &equivalent) const
int getNumConnectivityBlocks () const
std::map< int,
fei::ConnectivityBlock * > & 
getConnectivityBlocks ()
int getConnectivityBlockIDs (std::vector< int > &blockIDs) const
int getNumIDsPerConnectivityList (int blockID) const
int getConnectivityNumIndices (int blockID) const
int getConnectivityNumIndices (int blockID, int &numRowIndices, int &numColIndices)
int getConnectivityIndices (int blockID, int connectivityID, int indicesAllocLen, int *indices, int &numIndices)
int getConnectivityIndices (int blockID, int connectivityID, int rowIndicesAllocLen, int *rowIndices, int &numRowIndices, int colIndicesAllocLen, int *colIndices, int &numColIndices)
int getPatternNumIndices (int patternID, int &numIndices)
int getPatternIndices (int patternID, const int *IDs, std::vector< int > &indices)
int getLocalNumLagrangeConstraints () const
int getGlobalNumSlaveConstraints () const
ConstraintTypegetLagrangeConstraint (int constraintID)
std::map< int, ConstraintType * > & getLagrangeConstraints ()
ConstraintTypegetPenaltyConstraint (int constraintID)
ConstraintTypegetSlaveConstraint (int constraintID)
int getConstraintConnectivityIndices (ConstraintType *cr, std::vector< int > &globalIndices)
const fei::ConnectivityBlockgetConnectivityBlock (int blockID) const
fei::ConnectivityBlockgetConnectivityBlock (int blockID)
void setIndicesMode (int mode)
fei::SharedPtr< FillableMat > getSlaveDependencyMatrix ()
fei::PatterngetPattern (int patternID)
int createSlaveMatrices ()
fei::SharedPtr< fei::Reducer > getReducer ()
fei::SharedPtr
< fei::SparseRowGraph
getRemotelyOwnedGraphRows ()
void getConstrainedIndices (std::vector< int > &crindices) const

Detailed Description

A container for the data that defines connectivity, and which will ultimately be used to generate a matrix graph.

Definition at line 33 of file fei_MatrixGraph_Impl2.hpp.


Constructor & Destructor Documentation

fei::MatrixGraph_Impl2::MatrixGraph_Impl2 ( fei::SharedPtr< fei::VectorSpace rowSpace,
fei::SharedPtr< fei::VectorSpace colSpace,
const char *  name = NULL 
)

Constructor.

Parameters:
rowSpace
colSpace
name

Definition at line 93 of file fei_MatrixGraph_Impl2.cpp.

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

Destructor.

Definition at line 140 of file fei_MatrixGraph_Impl2.cpp.


Member Function Documentation

void fei::MatrixGraph_Impl2::setParameters ( const fei::ParameterSet params) [virtual]

Set parameters from a ParameterSet object. Currently two parameters are recognized: "debugOutput 'path'" where 'path' is the path to the location where debug-log files will be produced.
"name 'string'" where 'string' is an identifier that will be used in debug-log file-names.

Implements fei::MatrixGraph.

Definition at line 164 of file fei_MatrixGraph_Impl2.cpp.

void fei::MatrixGraph_Impl2::setRowSpace ( fei::SharedPtr< fei::VectorSpace rowSpace) [virtual]

Provide a VectorSpace to be used for looking up indices, field-masks, etc., for the row-space. If no column-VectorSpace is provided, it will be assumed that the column-space equals the row-space.

Returns:
error-code 0 if successful

Implements fei::MatrixGraph.

Definition at line 214 of file fei_MatrixGraph_Impl2.cpp.

fei::SharedPtr< fei::VectorSpace > fei::MatrixGraph_Impl2::getRowSpace ( ) [inline, virtual]

Obtain the VectorSpace that corresponds to the row-space for this MatrixGraph object.

Implements fei::MatrixGraph.

Definition at line 718 of file fei_MatrixGraph_Impl2.hpp.

void fei::MatrixGraph_Impl2::setColumnSpace ( fei::SharedPtr< fei::VectorSpace columnSpace) [virtual]

Provide a VectorSpace to be used for looking up indices, field-masks, etc., for the column-space. If no column-VectorSpace is provided, it will be assumed that the column-space equals the row-space.

Returns:
error-code 0 if successful

Implements fei::MatrixGraph.

Definition at line 222 of file fei_MatrixGraph_Impl2.cpp.

fei::SharedPtr< fei::VectorSpace > fei::MatrixGraph_Impl2::getColSpace ( ) [inline, virtual]

Obtain the VectorSpace that corresponds to the column-space for this MatrixGraph object.

Implements fei::MatrixGraph.

Definition at line 723 of file fei_MatrixGraph_Impl2.hpp.

int fei::MatrixGraph_Impl2::definePattern ( int  numIDs,
int  idType 
) [virtual]

Define a pattern to use for subsequent blocked-contributions. Examples include element-contributions. returns patternID.

This is the simplest of the pattern-definition methods. IMPORTANT NOTE: this method does not associate a field with the identifiers. Only use this method for problems where you explicitly don't want or need to associate fields with identifiers. Examples would include problems where only a single scalar field exists across the entire mesh and thus doesn't need to be explicitly referenced. Other cases where this might be used is for non finite-element problems that don't have identifier/field pairs.

Parameters:
numIDsInput. number of identifiers per pattern 'instance'.
idTypeInput. Specifies which type of identifiers are associated with instances of this pattern. Must be one of the idTypes defined for a VectorSpace that is associated with this MatrixGraph. idTypes are defined via the method VectorSpace::defineIDTypes().
Returns:
patternID

Implements fei::MatrixGraph.

Definition at line 258 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::definePattern ( int  numIDs,
int  idType,
int  fieldID 
) [virtual]

Define a pattern to use for subsequent blocked-contributions. Examples include element-contributions. returns patternID.

This is the simplest of the 3 pattern-definition methods that associate fields with identifiers (there is one pattern-definition method above that allows for specifying a pattern of identifiers that don't have associated fields). This method defines patterns for contributions where a single field is associated with each identifier in a list of identifiers, and all the identifiers in the list are of the same type.

Parameters:
numIDsInput. number of identifiers per pattern 'instance'.
idTypeInput. Specifies which type of identifiers are associated with instances of this pattern. Must be one of the idTypes defined for a VectorSpace that is associated with this MatrixGraph. idTypes are defined via the method VectorSpace::defineIDTypes().
fieldIDInput. field-identifier for the single field that is to reside at each identifier.
Returns:
patternID Identifier to be used later when referring to this pattern.

Implements fei::MatrixGraph.

Definition at line 266 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::definePattern ( int  numIDs,
int  idType,
const int *  numFieldsPerID,
const int *  fieldIDs 
) [virtual]

Define a pattern to use for subsequent blocked-contributions. Examples include element-contributions. returns patternID

This is the 'middle' of the pattern-definition methods, in terms of the complexity of pattern that can be defined. This method defines patterns for contributions where the identifiers are all of the same type, but an arbitrary list of fields can be associated with each identifier.

Parameters:
numIDsInput. number of identifiers per pattern 'instance'.
idTypeInput. Specifies which type of identifiers are associated with instances of this pattern. Must be one of the idTypes defined for a VectorSpace that is associated with this MatrixGraph. idTypes are defined via the method VectorSpace::defineIDTypes().
numFieldsPerIDInput. List of length numIDs. i-th entry ives the number of fields to be associated with the i-th identifier in a contribution.
fieldIDsInput. Packed list of length sum(numFieldsPerID[i]). Contains the fieldIDs to be associated with the identifiers for a contribution.
Returns:
patternID Identifier to be used later when referring to this pattern.

Implements fei::MatrixGraph.

Definition at line 286 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::definePattern ( int  numIDs,
const int *  idTypes,
const int *  numFieldsPerID,
const int *  fieldIDs 
) [virtual]

Define a pattern to use for subsequent blocked-contributions. Examples include element-contributions.

This is the most general of the pattern-definition methods. This method defines a pattern consisting of a mixture of identifier-types, with each identifier having an arbitrary list of associated fields.

Parameters:
numIDsInput. number of identifiers per pattern 'instance'.
idTypesInput. List of length numIDs. Specifies the type of each identifier to be contributed for instances of this pattern. Each of the idTypes must be one of the idTypes defined for a VectorSpace that is associated with this MatrixGraph. idTypes are defined via the method VectorSpace::defineIDTypes().
numFieldsPerIDInput. List of length numIDs. i-th entry gives the number of fields to be associated with the i-th identifier in a contribution.
fieldIDsInput. Packed list of length sum(numFieldsPerID[i]). Contains the fieldIDs to be associated with the identifiers for a contribution.
Returns:
patternID Identifier to be used later when referring to this pattern.

Implements fei::MatrixGraph.

Definition at line 314 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivityBlock ( int  blockID,
int  numConnectivityLists,
int  patternID,
bool  diagonal = false 
) [virtual]

Initialize a block of connectivity contributions. An example is a block of elements which share a common layout of nodes/fields per element.
This method accepts only one pattern-id, implying that connectivities in this block describe a symmetric structure. See the other overloading of this method for the non-symmetric case.

Parameters:
blockIDInput. User-specified identifier for this block. Will generally be required to be non-negative.
numConnectivityListsInput. Number of connectivity-lists that will be supplied for this block.
patternIDInput. Descriptor for the connectivities to be provided. Must be a pattern that was previously defined via definePattern().
diagonalOptional argument, defaults to false. If specified as true, each connectivity list will only contribute diagonal entries to the graph. This is used if the connectivity-block represents a collection of lumped- mass submatrix contributions, or something similar.
Returns:
error-code 0 if successful

Implements fei::MatrixGraph.

Definition at line 341 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivityBlock ( int  numConnectivityLists,
int  patternID,
bool  diagonal = false 
) [virtual]

Initialize a block of connectivity contributions. An example is a block of elements which share a common layout of nodes/fields per element.
This method accepts only one pattern-id, implying that connectivities in this block describe a symmetric structure. See the other overloading of this method for the non-symmetric case.

Parameters:
blockIDInput. User-specified identifier for this block. Will generally be required to be non-negative.
numConnectivityListsInput. Number of connectivity-lists that will be supplied for this block.
patternIDInput. Descriptor for the connectivities to be provided. Must be a pattern that was previously defined via definePattern().
diagonalOptional argument, defaults to false. If specified as true, each connectivity list will only contribute diagonal entries to the graph. This is used if the connectivity-block represents a collection of lumped- mass submatrix contributions, or something similar.
Returns:
identifier for the new connectivity-block.

Implements fei::MatrixGraph.

Definition at line 379 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivityBlock ( int  blockID,
int  numConnectivityLists,
int  rowPatternID,
int  colPatternID 
) [virtual]

Initialize a block of connectivity contributions. An example is a block of elements which share a common layout of nodes/fields per element.
This method accepts two pattern-ids, implying that connectivities in this block describe a non-symmetric structure. See the other overloading of this method for the symmetric case.

Parameters:
blockIDInput. User-specified identifier for this block. Will generally be required to be non-negative.
numConnectivityListsInput. Number of connectivity-lists that will be supplied for this block.
rowPatternIDInput. Descriptor for the row-connectivities to be provided. Must be a pattern that was previously defined via definePattern().
colPatternIDInput. Descriptor for the column-connectivities to be provided. Must be a pattern that was previously defined via definePattern().
Returns:
error-code 0 if successful

Implements fei::MatrixGraph.

Definition at line 412 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivity ( int  blockID,
int  connectivityID,
const int *  connectedIdentifiers 
) [virtual]

Make a contribution to the MatrixGraph's connectivity. Examples would include element-node connectivity lists, etc.

Parameters:
blockIDInput. Must correspond to a blockID that was previously used in a call to initConnectivityBlock().
connectivityIDInput. Identifier for this connectivity list. May be an element-identifier, etc.
connectedIdentifiersInput. List of the identifiers that form this connectivity list.
Returns:
error-code 0 if successful

Implements fei::MatrixGraph.

Definition at line 454 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivity ( int  blockID,
int  connectivityID,
const int *  rowConnectedIdentifiers,
const int *  colConnectedIdentifiers 
) [virtual]

Make a contribution to the MatrixGraph's connectivity. This overloading of initConnectivity() provides for structurally non-symmetric entries.

Parameters:
blockIDInput. Must correspond to a blockID that was previously used in a call to initConnectivityBlock().
connectivityIDInput. Identifier for this connectivity list. May be an element-identifier, etc.
rowConnectedIdentifiersInput. List of the identifiers that form the connectivity list for the row-space.
colConnectedIdentifiersInput. List of the identifiers that form the connectivity list for the column-space.
Returns:
error-code 0 if successful

Implements fei::MatrixGraph.

Definition at line 698 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivity ( int  patternID,
const int *  connectedIdentifiers 
) [virtual]

Make a contribution to the MatrixGraph's connectivity. This overloading of initConnectivity() assumes structurally symmetric entries.

Parameters:
patternIDInput. Must correspond to a Pattern ID that was previously used in a call to definePattern().
connectedIdentifiersInput. List of the identifiers that form the connectivity list for the row-space.
Returns:
error-code 0 if successful

Implements fei::MatrixGraph.

Definition at line 756 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivity ( int  rowPatternID,
const int *  rowConnectedIdentifiers,
int  colPatternID,
const int *  colConnectedIdentifiers 
) [virtual]

Make a contribution to the MatrixGraph's connectivity. This overloading of initConnectivity() provides for structurally non-symmetric entries.

Parameters:
rowPatternIDInput. Must correspond to a Pattern ID that was previously used in a call to definePattern().
rowConnectedIdentifiersInput. List of the identifiers that form the connectivity list for the row-space.
colPatternIDInput. Must correspond to a Pattern ID that was previously used in a call to definePattern().
colConnectedIdentifiersInput. List of the identifiers that form the connectivity list for the column-space.
Returns:
error-code 0 if successful

Implements fei::MatrixGraph.

Definition at line 775 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivity ( int  idType,
int  numRows,
const int *  rowIDs,
const int *  rowOffsets,
const int *  packedColumnIDs 
) [virtual]

Initialize a set of arbitrary positions in the graph by providing data in a "raw" or "purely algebraic" format similar to what might be used with a standard sparse CSR (compressed sparse row) matrix.

Parameters:
idTypeidentifier-type
numRowsNumber of rows, length of the following 'rowIDs' list.
rowIDsList of length 'numRows', specifying identifiers in the row-space.
rowOffsetsList of length numRows+1, giving offsets into the 'packedColumnIDs' list at which each row begins. i.e., the column IDs for rowIDs[i] are packedColumnIDs[rowOffsets[i]...rowOffsets[i+1]-1].
packedColumnIDsPacked list of length rowOffsets[numRows], containing the column IDs.

Implements fei::MatrixGraph.

Definition at line 523 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivity ( int  idType,
int  fieldID,
int  numRows,
const int *  rowIDs,
const int *  rowOffsets,
const int *  packedColumnIDs 
) [virtual]

Initialize a set of arbitrary positions in the graph by providing data in a "raw" or "purely algebraic" format similar to what might be used with a standard sparse CSR (compressed sparse row) matrix. Also specify a fieldID to be associated with these graph positions.

Parameters:
idTypeidentifier-type
fieldIDfield-identifier
numRowsNumber of rows, length of the following 'rowIDs' list.
rowIDsList of length 'numRows', specifying identifiers in the row-space.
rowOffsetsList of length numRows+1, giving offsets into the 'packedColumnIDs' list at which each row begins. i.e., the column IDs for rowIDs[i] are packedColumnIDs[rowOffsets[i]...rowOffsets[i+1]-1].
packedColumnIDsPacked list of length rowOffsets[numRows], containing the column IDs.

Implements fei::MatrixGraph.

Definition at line 851 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initConnectivity ( int  idType,
int  numRows,
const int *  rowIDs,
const int *  rowLengths,
const int *const *  columnIDs 
) [virtual]

Initialize a set of arbitrary positions in the graph by providing data in a "raw" or "purely algebraic" format similar to what might be used with a standard sparse CSR (compressed sparse row) matrix.

Parameters:
idTypeidentifier-type
numRowsNumber of rows, length of the following 'rowIDs' list.
rowIDsList of length 'numRows', specifying identifiers in the row-space.
rowLengthsList of length numRows, giving the number of column IDs for each row ID.
columnIDsC-style table (list of lists) containing the column IDs. Number of rows is numRows, length of i-th row is rowLengths[i].

Implements fei::MatrixGraph.

Definition at line 553 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initLagrangeConstraint ( int  constraintID,
int  constraintIDType,
int  numIDs,
const int *  idTypes,
const int *  IDs,
const int *  fieldIDs 
) [virtual]

Initialize a lagrange-multiplier constraint.

Implements fei::MatrixGraph.

Definition at line 882 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initPenaltyConstraint ( int  constraintID,
int  constraintIDType,
int  numIDs,
const int *  idTypes,
const int *  IDs,
const int *  fieldIDs 
) [virtual]

Initialize a penalty constraint.

Implements fei::MatrixGraph.

Definition at line 930 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initSlaveConstraint ( int  numIDs,
const int *  idTypes,
const int *  IDs,
const int *  fieldIDs,
int  offsetOfSlave,
int  offsetIntoSlaveField,
const double *  weights,
double  rhsValue 
) [virtual]

Initialize a slave constraint. (Note to self: document the parameters.)

Implements fei::MatrixGraph.

Definition at line 989 of file fei_MatrixGraph_Impl2.cpp.

bool fei::MatrixGraph_Impl2::hasSlaveDof ( int  ID,
int  idType 
) [virtual]

Query whether a given mesh object has one or more slave DOFs.

Implements fei::MatrixGraph.

Definition at line 968 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::initComplete ( ) [virtual]

Signal the MatrixGraph object that initialization is complete. At this point the MatrixGraph implementation performs internal synchronizations etc. This is a collective method.

Implements fei::MatrixGraph.

Definition at line 1106 of file fei_MatrixGraph_Impl2.cpp.

fei::SharedPtr< fei::SparseRowGraph > fei::MatrixGraph_Impl2::createGraph ( bool  blockEntryGraph,
bool  localRowGraph_includeSharedRows = false 
) [virtual]

Generate a sparse row-based graph from structural data that has been accumulated. Don't use this until after initComplete() has been called.

Parameters:
locallyOwnedRowsThose rows that are owned by the local processor.
blockEntryGraphSpecifies whether the graph should be constructed on a block-entry or point-entry basis. If there is only 1 scalar DOF at each mesh-object, then a block-entry graph is the same as a point-entry graph.

Implements fei::MatrixGraph.

Definition at line 1242 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::compareStructure ( const fei::MatrixGraph matrixGraph,
bool &  equivalent 
) const [virtual]

Query whether the specified MatrixGraph is structurally equivalent to this MatrixGraph.

Implements fei::MatrixGraph.

Definition at line 1657 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getNumConnectivityBlocks ( ) const [virtual]

Query how many connectivity blocks have been initialized.

Implements fei::MatrixGraph.

Definition at line 1730 of file fei_MatrixGraph_Impl2.cpp.

std::map< int, fei::ConnectivityBlock * > & fei::MatrixGraph_Impl2::getConnectivityBlocks ( ) [inline, virtual]

Query for the container of connectivity-blocks.

Implements fei::MatrixGraph.

Definition at line 728 of file fei_MatrixGraph_Impl2.hpp.

int fei::MatrixGraph_Impl2::getConnectivityBlockIDs ( std::vector< int > &  blockIDs) const [virtual]

Query for the list of connectivity-block-IDs.

Implements fei::MatrixGraph.

Definition at line 1736 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getNumIDsPerConnectivityList ( int  blockID) const [virtual]

Query how many IDs are in each connectivity list in the specified connectivity block.

Implements fei::MatrixGraph.

Definition at line 1752 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getConnectivityNumIndices ( int  blockID) const [virtual]

Query how many scatter-indices are associated with each connectivity list for a given connectivity-block.

Implements fei::MatrixGraph.

Definition at line 1762 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getConnectivityNumIndices ( int  blockID,
int &  numRowIndices,
int &  numColIndices 
) [virtual]

Query how many scatter-indices are associated with each connectivity list for a given connectivity-block, in both the row-dimension and the column-dimension.

Implements fei::MatrixGraph.

Definition at line 1773 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getConnectivityIndices ( int  blockID,
int  connectivityID,
int  indicesAllocLen,
int *  indices,
int &  numIndices 
) [virtual]

Obtain the scatter-indices associated with a connectivity list.

Implements fei::MatrixGraph.

Definition at line 1810 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getConnectivityIndices ( int  blockID,
int  connectivityID,
int  rowIndicesAllocLen,
int *  rowIndices,
int &  numRowIndices,
int  colIndicesAllocLen,
int *  colIndices,
int &  numColIndices 
) [virtual]

Obtain the scatter-indices for both the row- and column-dimension, associated with a connectivity list.

Implements fei::MatrixGraph.

Definition at line 1872 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getPatternNumIndices ( int  patternID,
int &  numIndices 
) [virtual]

Query associated with Pattern rather than connectivity-block.

Implements fei::MatrixGraph.

Definition at line 805 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getPatternIndices ( int  patternID,
const int *  IDs,
std::vector< int > &  indices 
) [virtual]

Given a Pattern and list of IDs, fill output vector with associated indices.

Implements fei::MatrixGraph.

Definition at line 819 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getLocalNumLagrangeConstraints ( ) const [virtual]

Query number of local lagrange constraints

Implements fei::MatrixGraph.

Definition at line 1984 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getGlobalNumSlaveConstraints ( ) const [inline, virtual]

Query number of slave-constraints

Implements fei::MatrixGraph.

Definition at line 733 of file fei_MatrixGraph_Impl2.hpp.

fei::ConstraintType * fei::MatrixGraph_Impl2::getLagrangeConstraint ( int  constraintID) [virtual]

Won't typically be of interest to application users of fei:: methods.

Implements fei::MatrixGraph.

Definition at line 1074 of file fei_MatrixGraph_Impl2.cpp.

std::map< int, ConstraintType * > & fei::MatrixGraph_Impl2::getLagrangeConstraints ( ) [inline, virtual]

Won't typically be of interest to application users of fei:: methods.

Implements fei::MatrixGraph.

Definition at line 738 of file fei_MatrixGraph_Impl2.hpp.

fei::ConstraintType * fei::MatrixGraph_Impl2::getPenaltyConstraint ( int  constraintID) [virtual]

Won't typically be of interest to application users of fei:: methods.

Implements fei::MatrixGraph.

Definition at line 1096 of file fei_MatrixGraph_Impl2.cpp.

fei::ConstraintType * fei::MatrixGraph_Impl2::getSlaveConstraint ( int  constraintID) [virtual]

Won't typically be of interest to application users of fei:: methods.

Implements fei::MatrixGraph.

Definition at line 1085 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::getConstraintConnectivityIndices ( ConstraintType cr,
std::vector< int > &  globalIndices 
) [virtual]

Won't typically be of interest to application users of fei:: methods.

Implements fei::MatrixGraph.

Definition at line 1590 of file fei_MatrixGraph_Impl2.cpp.

const fei::ConnectivityBlock * fei::MatrixGraph_Impl2::getConnectivityBlock ( int  blockID) const [virtual]

Won't typically be of interest to application users of fei:: methods.

Implements fei::MatrixGraph.

Definition at line 1790 of file fei_MatrixGraph_Impl2.cpp.

fei::ConnectivityBlock * fei::MatrixGraph_Impl2::getConnectivityBlock ( int  blockID) [virtual]

Won't typically be of interest to application users of fei:: methods.

Implements fei::MatrixGraph.

Definition at line 1800 of file fei_MatrixGraph_Impl2.cpp.

void fei::MatrixGraph_Impl2::setIndicesMode ( int  mode) [virtual]

Utility method.

Implements fei::MatrixGraph.

Definition at line 2577 of file fei_MatrixGraph_Impl2.cpp.

fei::SharedPtr< fei::FillableMat > fei::MatrixGraph_Impl2::getSlaveDependencyMatrix ( ) [virtual]

Utility method.

Implements fei::MatrixGraph.

Definition at line 2594 of file fei_MatrixGraph_Impl2.cpp.

fei::Pattern * fei::MatrixGraph_Impl2::getPattern ( int  patternID) [virtual]

Retrieve pointer to specified Pattern object. If specified pattern is not found, return NULL.

Implements fei::MatrixGraph.

Definition at line 2215 of file fei_MatrixGraph_Impl2.cpp.

int fei::MatrixGraph_Impl2::createSlaveMatrices ( ) [virtual]

power-users only

Implements fei::MatrixGraph.

Definition at line 1323 of file fei_MatrixGraph_Impl2.cpp.

fei::SharedPtr< fei::Reducer > fei::MatrixGraph_Impl2::getReducer ( ) [virtual]

query for the equation-reduction manager.

Implements fei::MatrixGraph.

Definition at line 1495 of file fei_MatrixGraph_Impl2.cpp.

fei::SharedPtr< fei::SparseRowGraph > fei::MatrixGraph_Impl2::getRemotelyOwnedGraphRows ( ) [virtual]

query for shared-but-not-owned graph rows

Implements fei::MatrixGraph.

Definition at line 1502 of file fei_MatrixGraph_Impl2.cpp.

void fei::MatrixGraph_Impl2::getConstrainedIndices ( std::vector< int > &  crindices) const [virtual]

fill a vector with eqn-numbers of constrained ids

Implements fei::MatrixGraph.

Definition at line 1508 of file fei_MatrixGraph_Impl2.cpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends