FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
LinSysCore_flexible Class Referenceabstract

#include <fei_LinSysCore_flexible.hpp>

Inheritance diagram for LinSysCore_flexible:
Inheritance graph
[legend]

Public Member Functions

virtual int resetConstraints (double s)=0
 
virtual int setMultCRComplete ()=0
 
virtual int constraintsLoadComplete ()=0
 
- Public Member Functions inherited from LinearSystemCore
 LinearSystemCore ()
 
virtual ~LinearSystemCore ()
 
virtual LinearSystemCoreclone ()=0
 
virtual int parameters (int numParams, const char *const *params)=0
 
virtual int setLookup (Lookup &lookup)=0
 
virtual int getProperty (const char *, double &)
 
virtual int setGlobalOffsets (int len, int *nodeOffsets, int *eqnOffsets, int *blkEqnOffsets)=0
 
virtual int setConnectivities (GlobalID elemBlock, int numElements, int numNodesPerElem, const GlobalID *elemIDs, const int *const *connNodes)=0
 
virtual int setStiffnessMatrices (GlobalID elemBlock, int numElems, const GlobalID *elemIDs, const double *const *const *stiff, int numEqnsPerElem, const int *const *eqnIndices)=0
 
virtual int setLoadVectors (GlobalID elemBlock, int numElems, const GlobalID *elemIDs, const double *const *load, int numEqnsPerElem, const int *const *eqnIndices)=0
 
virtual int setMatrixStructure (int **ptColIndices, int *ptRrowLengths, int **blkColIndices, int *blkRowLengths, int *ptRowsPerBlkRow)=0
 
virtual int setMultCREqns (int multCRSetID, int numCRs, int numNodesPerCR, int **nodeNumbers, int **eqnNumbers, int *fieldIDs, int *multiplierEqnNumbers)=0
 
virtual int setPenCREqns (int penCRSetID, int numCRs, int numNodesPerCR, int **nodeNumbers, int **eqnNumbers, int *fieldIDs)=0
 
virtual int sumIntoSystemMatrix (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, int numBlkRows, const int *blkRows, int numBlkCols, const int *blkCols, const double *const *values)=0
 
virtual int sumIntoSystemMatrix (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, const double *const *values)=0
 
virtual int putIntoSystemMatrix (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, const double *const *values)=0
 
virtual int getMatrixRowLength (int row, int &length)=0
 
virtual int getMatrixRow (int row, double *coefs, int *indices, int len, int &rowLength)=0
 
virtual int sumIntoRHSVector (int num, const double *values, const int *indices)=0
 
virtual int putIntoRHSVector (int num, const double *values, const int *indices)=0
 
virtual int getFromRHSVector (int num, double *values, const int *indices)=0
 
virtual int matrixLoadComplete ()=0
 
virtual int putNodalFieldData (int fieldID, int fieldSize, int *nodeNumbers, int numNodes, const double *data)=0
 
virtual int resetMatrixAndVector (double s)=0
 
virtual int resetMatrix (double s)=0
 
virtual int resetRHSVector (double s)=0
 
virtual int enforceEssentialBC (int *globalEqn, double *alpha, double *gamma, int len)=0
 
virtual int enforceRemoteEssBCs (int numEqns, int *globalEqns, int **colIndices, int *colIndLen, double **coefs)=0
 
virtual int getMatrixPtr (Data &data)=0
 
virtual int copyInMatrix (double scalar, const Data &data)=0
 
virtual int copyOutMatrix (double scalar, Data &data)=0
 
virtual int sumInMatrix (double scalar, const Data &data)=0
 
virtual int getRHSVectorPtr (Data &data)=0
 
virtual int copyInRHSVector (double scalar, const Data &data)=0
 
virtual int copyOutRHSVector (double scalar, Data &data)=0
 
virtual int sumInRHSVector (double scalar, const Data &data)=0
 
virtual int destroyMatrixData (Data &data)=0
 
virtual int destroyVectorData (Data &data)=0
 
virtual int setNumRHSVectors (int numRHSs, const int *rhsIDs)=0
 
virtual int setRHSID (int rhsID)=0
 
virtual int putInitialGuess (const int *eqnNumbers, const double *values, int len)=0
 
virtual int getSolution (double *answers, int len)=0
 
virtual int getSolnEntry (int eqnNumber, double &answer)=0
 
virtual int formResidual (double *values, int len)=0
 
virtual int launchSolver (int &solveStatus, int &iterations)=0
 
virtual int writeSystem (const char *name)=0
 

Detailed Description

Abstract interface that derives from LinearSystemCore and adds new

functions related to changing constraint relations.

Definition at line 18 of file fei_LinSysCore_flexible.hpp.

Member Function Documentation

virtual int LinSysCore_flexible::resetConstraints ( double  s)
pure virtual

Reset any previously-loaded lagrange multiplier constraint-relations.

virtual int LinSysCore_flexible::setMultCRComplete ( )
pure virtual

Signal that we're done calling the setMultCREqns function.

virtual int LinSysCore_flexible::constraintsLoadComplete ( )
pure virtual

Supply LinSysCore_flexible with information defining the structure of the constraint section of the global matrix. This function is similar to the LinearSystemCore::setMatrixStructure function, except that only the constraint section of the matrix is supplied, AND only the "row" portion. i.e., the structure of C is supplied, but not C^T. Note also, that only the local rows of the C matrix are supplied.

Parameters
numLocalRowsNumber of local rows in C.
globalRowNumbersSpecifies whichrows in the global system matrix are occupied by the constraint matrix C, but only those rows which are locally stored.
rowLengthsList of length numLocalRows. Specifies how many column-entries are in each row of the constraint matrix C.
globalColIndicesTable containing the column-indices in C. This "table" has number-of-rows = numRows, and row i is of length rowLengths[i].
Returns
error-code 0 if successfulSignal the underlying solver library that the loading of constraints is now complete. (Constraint-loading functions are in LinearSystemCore.) Important Note: This method, LinSysCore_flexible::constraintsLoadComplete() will be called INSTEAD OF LinearSystemCore::matrixLoadComplete().

The documentation for this class was generated from the following file: