FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
LinSysCoreFilter Class Reference

#include <fei_LinSysCoreFilter.hpp>

Inheritance diagram for LinSysCoreFilter:

Public Member Functions

 LinSysCoreFilter (FEI_Implementation *owner, MPI_Comm comm, SNL_FEI_Structure *probStruct, LinearSystemCore *lsc, int masterRank=0)
 
virtual ~LinSysCoreFilter ()
 
virtual int resetSystem (double s)
 
virtual int resetMatrix (double s)
 
virtual int resetRHSVector (double s)
 
virtual int resetInitialGuess (double s)
 
virtual int deleteMultCRs ()
 
virtual int loadNodeBCs (int numNodes, const GlobalID *nodeIDs, int fieldID, const int *offsetsIntoField, const double *prescribedValues)
 
virtual int loadElemBCs (int numElems, const GlobalID *elemIDs, int fieldID, const double *const *alpha, const double *const *beta, const double *const *gamma)
 
virtual int sumInElem (GlobalID elemBlockID, GlobalID elemID, const GlobalID *elemConn, const double *const *elemStiffness, const double *elemLoad, int elemFormat)
 
virtual int sumInElemMatrix (GlobalID elemBlockID, GlobalID elemID, const GlobalID *elemConn, const double *const *elemStiffness, int elemFormat)
 
virtual int sumInElemRHS (GlobalID elemBlockID, GlobalID elemID, const GlobalID *elemConn, const double *elemLoad)
 
virtual int loadCRMult (int CRMultID, int numCRNodes, const GlobalID *CRNodes, const int *CRFields, const double *CRWeights, double CRValue)
 
virtual int loadCRPen (int CRPenID, int numCRNodes, const GlobalID *CRNodes, const int *CRFields, const double *CRWeights, double CRValue, double penValue)
 
virtual int putIntoRHS (int IDType, int fieldID, int numIDs, const GlobalID *IDs, const double *rhsEntries)
 
virtual int sumIntoRHS (int IDType, int fieldID, int numIDs, const GlobalID *IDs, const double *rhsEntries)
 
virtual int loadComplete ()
 
virtual int parameters (int numParams, const char *const *paramStrings)
 
virtual int residualNorm (int whichNorm, int numFields, int *fieldIDs, double *norms, double &residTime)
 
virtual int solve (int &status, double &sTime)
 
virtual int iterations () const
 
virtual int getBlockNodeSolution (GlobalID elemBlockID, int numNodes, const GlobalID *nodeIDs, int *offsets, double *results)
 
virtual int getNodalSolution (int numNodes, const GlobalID *nodeIDs, int *offsets, double *results)
 
virtual int getBlockFieldNodeSolution (GlobalID elemBlockID, int fieldID, int numNodes, const GlobalID *nodeIDs, double *results)
 
virtual int getBlockElemSolution (GlobalID elemBlockID, int numElems, const GlobalID *elemIDs, int &numElemDOFPerElement, double *results)
 
virtual int getCRMultipliers (int numCRs, const int *CRIDs, double *multipliers)
 
virtual int putBlockNodeSolution (GlobalID elemBlockID, int numNodes, const GlobalID *nodeIDs, const int *offsets, const double *estimates)
 
virtual int putBlockFieldNodeSolution (GlobalID elemBlockID, int fieldID, int numNodes, const GlobalID *nodeIDs, const double *estimates)
 
virtual int putBlockElemSolution (GlobalID elemBlockID, int numElems, const GlobalID *elemIDs, int dofPerElem, const double *estimates)
 
virtual int putCRMultipliers (int numMultCRs, const int *CRIDs, const double *multEstimates)
 
virtual int getNodalFieldSolution (int fieldID, int numNodes, const GlobalID *nodeIDs, double *results)
 
virtual int putNodalFieldData (int fieldID, int numNodes, const GlobalID *nodeIDs, const double *nodeData)
 
virtual int putNodalFieldSolution (int fieldID, int numNodes, const GlobalID *nodeIDs, const double *nodeData)
 
virtual int unpackSolution ()
 
void setEqnCommMgr (EqnCommMgr *eqnCommMgr)
 
EqnCommMgrgetEqnCommMgr ()
 
virtual int setNumRHSVectors (int numRHSs, int *rhsIDs)
 
virtual int setCurrentRHS (int rhsID)
 
virtual int exchangeRemoteEquations ()
 
virtual int exchangeRemoteBCs (std::vector< int > &essEqns, std::vector< double > &essAlpha, std::vector< double > &essGamma)
 
virtual int implementAllBCs ()
 
virtual int enforceEssentialBCs (const int *eqns, const double *alpha, const double *gamma, int numEqns)
 
virtual int enforceRemoteEssBCs (int numEqns, const int *eqns, const int *const *colIndices, const int *colIndLens, const double *const *coefs)
 
virtual int initialize ()
 
- Public Member Functions inherited from Filter
 Filter (SNL_FEI_Structure *probStruct)
 
virtual ~Filter ()
 
virtual int sumIntoMatrixDiagonal (int, int, int, const GlobalID *, const double *)
 
void setLogStream (std::ostream *logstrm)
 
std::ostream * logStream ()
 

Private Member Functions

int initLinSysCore ()
 
void setLinSysCoreCREqns ()
 
int unpackRemoteContributions (EqnCommMgr &eqnCommMgr, int assemblyMode)
 
int loadFEDataMultCR (int CRID, int numCRNodes, const GlobalID *CRNodes, const int *CRFields, const double *CRWeights, double CRValue)
 
int loadFEDataPenCR (int CRID, int numCRNodes, const GlobalID *CRNodes, const int *CRFields, const double *CRWeights, double CRValue, double penValue)
 
int storeNodalColumnCoefs (int eqn, const NodeDescriptor &node, int fieldID, int fieldSize, double *coefs)
 
int storeNodalRowCoefs (const NodeDescriptor &node, int fieldID, int fieldSize, double *coefs, int eqn)
 
int generalElemInput (GlobalID elemBlockID, GlobalID elemID, const double *const *elemStiffness, const double *elemLoad, int elemFormat)
 
int generalElemInput (GlobalID elemBlockID, GlobalID elemID, const GlobalID *elemConn, const double *const *elemStiffness, const double *elemLoad, int elemFormat)
 
void storeNodalSendIndex (const NodeDescriptor &node, int fieldID, int col)
 
void storeNodalSendEqn (const NodeDescriptor &node, int fieldID, int col, double *coefs)
 
void storeNodalSendIndices (const NodeDescriptor &iNode, int iField, const NodeDescriptor &jNode, int jField)
 
void storePenNodeSendData (const NodeDescriptor &iNode, int iField, int iFieldSize, double *iCoefs, const NodeDescriptor &jNode, int jField, int jFieldSize, double *jCoefs, double penValue, double CRValue)
 
int storePenNodeData (const NodeDescriptor &iNode, int iField, int iFieldSize, double *iCoefs, const NodeDescriptor &jNode, int jField, int jFieldSize, double *jCoefs, double penValue, double CRValue)
 
void allocElemStuff ()
 
int resolveConflictingCRs (EqnBuffer &bcEqns)
 
int giveToMatrix_symm_noSlaves (int numPtRows, const int *ptRowNumbers, const double *const *coefs, int mode)
 
int giveToBlkMatrix_symm_noSlaves (int numPtRows, const int *ptRows, int numBlkRows, const int *blkRowNumbers, const int *blkRowSizes, const double *const *coefs, int mode)
 
int giveToMatrix (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, const double *const *values, int mode)
 
int giveToLocalReducedMatrix (int numPtRows, const int *ptRows, int numPtCols, const int *ptCols, const double *const *values, int mode)
 
int getFromMatrix (int numPtRows, const int *ptRows, const int *rowColOffsets, const int *ptCols, int numColsPerRow, double **values)
 
int sumIntoMatrix (fei::CSRMat &mat)
 
int getEqnsFromMatrix (ProcEqns &procEqns, EqnBuffer &eqnData)
 
int getEqnsFromRHS (ProcEqns &procEqns, EqnBuffer &eqnData)
 
int giveToRHS (int num, const double *values, const int *indices, int mode)
 
int giveToLocalReducedRHS (int num, const double *values, const int *indices, int mode)
 
int getFromRHS (int num, double *values, const int *indices)
 
int sumIntoRHS (fei::CSVec &vec)
 
int getEqnSolnEntry (int eqnNumber, double &solnValue)
 
int getSharedRemoteSolnEntry (int eqnNumber, double &solnValue)
 
int getReducedSolnEntry (int eqnNumber, double &solnValue)
 
int formResidual (double *residValues, int numLocalEqns)
 
int getRemoteSharedEqns (int numPtRows, const int *ptRows, ProcEqns &remoteProcEqns)
 
int resetTheMatrix (double s)
 
int resetTheRHSVector (double s)
 
int assembleEqns (int numPtRows, int numPtCols, const int *rowNumbers, const int *colIndices, const double *const *coefs, bool structurallySymmetric, int numBlkEqns, int *blkEqns, int *blkSizes, bool useBlkEqns, int mode)
 
int assembleReducedEqns ()
 
int assembleRHS (int numValues, const int *indices, const double *coefs, int mode)
 
int assembleReducedRHS ()
 
void debugOutput (const char *mesg)
 
int createEqnCommMgr_put ()
 

Private Attributes

int timesInitializeCalled_
 
LinearSystemCorelsc_
 
bool useLookup_
 
int internalFei_
 
bool newMatrixData_
 
bool newVectorData_
 
bool newConstraintData_
 
bool newBCData_
 
bool connectivitiesInitialized_
 
bool firstRemEqnExchange_
 
bool needToCallMatrixLoadComplete_
 
bool resolveConflictRequested_
 
int localStartRow_
 
int localEndRow_
 
int numLocalEqns_
 
int numGlobalEqns_
 
int reducedStartRow_
 
int reducedEndRow_
 
int numReducedRows_
 
int numLocallyOwnedNodes_
 
int numGlobalNodes_
 
int firstLocalNodeNumber_
 
bool blockMatrix_
 
bool tooLateToChooseBlock_
 
int numLocalEqnBlks_
 
int localReducedBlkOffset_
 
int numLocalReducedEqnBlks_
 
int iterations_
 
int numRHSs_
 
int currentRHS_
 
std::vector< int > rhsIDs_
 
int outputLevel_
 
MPI_Comm comm_
 
int masterRank_
 
SNL_FEI_StructureproblemStructure_
 
bool matrixAllocated_
 
std::vector< int > rowIndices_
 
std::vector< int > rowColOffsets_
 
std::vector< int > colIndices_
 
fei::FillableMatKid_
 
fei::FillableMatKdi_
 
fei::FillableMatKdd_
 
fei::CSRMat csrD
 
fei::CSRMat csrKid
 
fei::CSRMat csrKdi
 
fei::CSRMat csrKdd
 
fei::CSRMat tmpMat1_
 
fei::CSRMat tmpMat2_
 
fei::CSVec fd_
 
fei::CSVec tmpVec1_
 
int reducedEqnCounter_
 
int reducedRHSCounter_
 
std::vector< int > rSlave_
 
std::vector< int > cSlave_
 
int nodeIDType_
 
fei::DirichletBCManagerbcManager_
 
EqnCommMgreqnCommMgr_
 
EqnCommMgreqnCommMgr_put_
 
int maxElemRows_
 
std::vector< int > scatterIndices_
 
std::vector< int > blkScatterIndices_
 
std::vector< int > iworkSpace_
 
std::vector< int > iworkSpace2_
 
std::vector< double > dworkSpace_
 
std::vector< const double * > dworkSpace2_
 
double ** eStiff_
 
double * eStiff1D_
 
double * eLoad_
 

Additional Inherited Members

- Static Public Member Functions inherited from Filter
static void copyStiffness (const double *const *elemStiff, int numRows, int elemFormat, double **copy)
 
- Protected Member Functions inherited from Filter
int generalCoefInput (int, const int *, const GlobalID *, const int *, const GlobalID *, const double *const *, const double *, int, int)
 
int calculateResidualNorms (int whichNorm, int numFields, int *fieldIDs, double *norms, std::vector< double > &residValues)
 
const NodeDescriptorfindNode (GlobalID nodeID) const
 
const NodeDescriptorfindNodeDescriptor (GlobalID nodeID) const
 
- Protected Attributes inherited from Filter
SNL_FEI_StructureproblemStructure_
 
bool logInput_
 
std::ostream * logInputStream_
 
int outputLevel_
 
int numProcs_
 
int localRank_
 

Detailed Description

FEI_Implementation manages one or several instances of this class in the process of assembling and solving a linear-system. Many of the public FEI function calls are simply forwarded from FEI_Implementation to this class. This class then performs the "filtering" process of turning nodeIDs and solution fields into equation numbers and then dropping the data on through to the underlying solver library by way of the LinearSystemCore interface that is implemented for the solver library in question.

Definition at line 33 of file fei_LinSysCoreFilter.hpp.

Constructor & Destructor Documentation

◆ LinSysCoreFilter()

◆ ~LinSysCoreFilter()

LinSysCoreFilter::~LinSysCoreFilter ( )
virtual

Member Function Documentation

◆ resetSystem()

int LinSysCoreFilter::resetSystem ( double s)
virtual

◆ resetMatrix()

int LinSysCoreFilter::resetMatrix ( double s)
virtual

Implements Filter.

Definition at line 856 of file fei_LinSysCoreFilter.cpp.

References bcManager_, CHK_ERR, debugOutput(), eqnCommMgr_, FEI_SUCCESS, and resetTheMatrix().

◆ resetRHSVector()

int LinSysCoreFilter::resetRHSVector ( double s)
virtual

Implements Filter.

Definition at line 876 of file fei_LinSysCoreFilter.cpp.

References bcManager_, CHK_ERR, debugOutput(), eqnCommMgr_, FEI_SUCCESS, and resetTheRHSVector().

◆ resetInitialGuess()

int LinSysCoreFilter::resetInitialGuess ( double s)
virtual

◆ deleteMultCRs()

int LinSysCoreFilter::deleteMultCRs ( )
virtual

Implements Filter.

Definition at line 821 of file fei_LinSysCoreFilter.cpp.

References debugOutput(), lsc_, and LinSysCore_flexible::resetConstraints().

◆ loadNodeBCs()

int LinSysCoreFilter::loadNodeBCs ( int numNodes,
const GlobalID * nodeIDs,
int fieldID,
const int * offsetsIntoField,
const double * prescribedValues )
virtual

◆ loadElemBCs()

int LinSysCoreFilter::loadElemBCs ( int numElems,
const GlobalID * elemIDs,
int fieldID,
const double *const * alpha,
const double *const * beta,
const double *const * gamma )
virtual

Implements Filter.

Definition at line 967 of file fei_LinSysCoreFilter.cpp.

◆ sumInElem()

int LinSysCoreFilter::sumInElem ( GlobalID elemBlockID,
GlobalID elemID,
const GlobalID * elemConn,
const double *const * elemStiffness,
const double * elemLoad,
int elemFormat )
virtual

◆ sumInElemMatrix()

int LinSysCoreFilter::sumInElemMatrix ( GlobalID elemBlockID,
GlobalID elemID,
const GlobalID * elemConn,
const double *const * elemStiffness,
int elemFormat )
virtual

◆ sumInElemRHS()

int LinSysCoreFilter::sumInElemRHS ( GlobalID elemBlockID,
GlobalID elemID,
const GlobalID * elemConn,
const double * elemLoad )
virtual

◆ loadCRMult()

◆ loadCRPen()

◆ putIntoRHS()

int LinSysCoreFilter::putIntoRHS ( int IDType,
int fieldID,
int numIDs,
const GlobalID * IDs,
const double * rhsEntries )
virtual

◆ sumIntoRHS() [1/2]

int LinSysCoreFilter::sumIntoRHS ( int IDType,
int fieldID,
int numIDs,
const GlobalID * IDs,
const double * rhsEntries )
virtual

Implements Filter.

Definition at line 1281 of file fei_LinSysCoreFilter.cpp.

References ASSEMBLE_SUM, assembleRHS(), CHK_ERR, ERReturn, problemStructure_, and rowIndices_.

Referenced by assembleReducedRHS().

◆ loadComplete()

int LinSysCoreFilter::loadComplete ( )
virtual

◆ parameters()

int LinSysCoreFilter::parameters ( int numParams,
const char *const * paramStrings )
virtual

◆ residualNorm()

int LinSysCoreFilter::residualNorm ( int whichNorm,
int numFields,
int * fieldIDs,
double * norms,
double & residTime )
virtual

◆ solve()

int LinSysCoreFilter::solve ( int & status,
double & sTime )
virtual

◆ iterations()

virtual int LinSysCoreFilter::iterations ( ) const
inlinevirtual

Implements Filter.

Definition at line 125 of file fei_LinSysCoreFilter.hpp.

References iterations_.

◆ getBlockNodeSolution()

◆ getNodalSolution()

◆ getBlockFieldNodeSolution()

int LinSysCoreFilter::getBlockFieldNodeSolution ( GlobalID elemBlockID,
int fieldID,
int numNodes,
const GlobalID * nodeIDs,
double * results )
virtual

◆ getBlockElemSolution()

int LinSysCoreFilter::getBlockElemSolution ( GlobalID elemBlockID,
int numElems,
const GlobalID * elemIDs,
int & numElemDOFPerElement,
double * results )
virtual

◆ getCRMultipliers()

int LinSysCoreFilter::getCRMultipliers ( int numCRs,
const int * CRIDs,
double * multipliers )
virtual

◆ putBlockNodeSolution()

◆ putBlockFieldNodeSolution()

int LinSysCoreFilter::putBlockFieldNodeSolution ( GlobalID elemBlockID,
int fieldID,
int numNodes,
const GlobalID * nodeIDs,
const double * estimates )
virtual

◆ putBlockElemSolution()

int LinSysCoreFilter::putBlockElemSolution ( GlobalID elemBlockID,
int numElems,
const GlobalID * elemIDs,
int dofPerElem,
const double * estimates )
virtual

◆ putCRMultipliers()

int LinSysCoreFilter::putCRMultipliers ( int numMultCRs,
const int * CRIDs,
const double * multEstimates )
virtual

◆ getNodalFieldSolution()

int LinSysCoreFilter::getNodalFieldSolution ( int fieldID,
int numNodes,
const GlobalID * nodeIDs,
double * results )
virtual

◆ putNodalFieldData()

int LinSysCoreFilter::putNodalFieldData ( int fieldID,
int numNodes,
const GlobalID * nodeIDs,
const double * nodeData )
virtual

◆ putNodalFieldSolution()

int LinSysCoreFilter::putNodalFieldSolution ( int fieldID,
int numNodes,
const GlobalID * nodeIDs,
const double * nodeData )
virtual

◆ unpackSolution()

int LinSysCoreFilter::unpackSolution ( )
virtual

◆ setEqnCommMgr()

void LinSysCoreFilter::setEqnCommMgr ( EqnCommMgr * eqnCommMgr)
virtual

Implements Filter.

Definition at line 2931 of file fei_LinSysCoreFilter.cpp.

References eqnCommMgr_.

◆ getEqnCommMgr()

EqnCommMgr * LinSysCoreFilter::getEqnCommMgr ( )
inlinevirtual

Implements Filter.

Definition at line 216 of file fei_LinSysCoreFilter.hpp.

References eqnCommMgr_.

◆ setNumRHSVectors()

int LinSysCoreFilter::setNumRHSVectors ( int numRHSs,
int * rhsIDs )
virtual

Implements Filter.

Definition at line 2092 of file fei_LinSysCoreFilter.cpp.

References fei::console_out(), eqnCommMgr_, ERReturn, FEI_ENDL, FEI_SUCCESS, numRHSs_, and rhsIDs_.

◆ setCurrentRHS()

int LinSysCoreFilter::setCurrentRHS ( int rhsID)
virtual

Implements Filter.

Definition at line 2111 of file fei_LinSysCoreFilter.cpp.

References currentRHS_, ERReturn, FEI_SUCCESS, lsc_, and rhsIDs_.

◆ exchangeRemoteEquations()

◆ exchangeRemoteBCs()

int LinSysCoreFilter::exchangeRemoteBCs ( std::vector< int > & essEqns,
std::vector< double > & essAlpha,
std::vector< double > & essGamma )
virtual

◆ implementAllBCs()

◆ enforceEssentialBCs()

int LinSysCoreFilter::enforceEssentialBCs ( const int * eqns,
const double * alpha,
const double * gamma,
int numEqns )
virtual

Implements Filter.

Definition at line 1344 of file fei_LinSysCoreFilter.cpp.

References CHK_ERR, FEI_SUCCESS, lsc_, and problemStructure_.

Referenced by implementAllBCs().

◆ enforceRemoteEssBCs()

int LinSysCoreFilter::enforceRemoteEssBCs ( int numEqns,
const int * eqns,
const int *const * colIndices,
const int * colIndLens,
const double *const * coefs )
virtual

Definition at line 1371 of file fei_LinSysCoreFilter.cpp.

References CHK_ERR, FEI_SUCCESS, and lsc_.

Referenced by exchangeRemoteBCs().

◆ initialize()

◆ initLinSysCore()

◆ setLinSysCoreCREqns()

◆ unpackRemoteContributions()

◆ loadFEDataMultCR()

int LinSysCoreFilter::loadFEDataMultCR ( int CRID,
int numCRNodes,
const GlobalID * CRNodes,
const int * CRFields,
const double * CRWeights,
double CRValue )
private

◆ loadFEDataPenCR()

int LinSysCoreFilter::loadFEDataPenCR ( int CRID,
int numCRNodes,
const GlobalID * CRNodes,
const int * CRFields,
const double * CRWeights,
double CRValue,
double penValue )
private

◆ storeNodalColumnCoefs()

int LinSysCoreFilter::storeNodalColumnCoefs ( int eqn,
const NodeDescriptor & node,
int fieldID,
int fieldSize,
double * coefs )
private

◆ storeNodalRowCoefs()

int LinSysCoreFilter::storeNodalRowCoefs ( const NodeDescriptor & node,
int fieldID,
int fieldSize,
double * coefs,
int eqn )
private

◆ generalElemInput() [1/2]

◆ generalElemInput() [2/2]

int LinSysCoreFilter::generalElemInput ( GlobalID elemBlockID,
GlobalID elemID,
const GlobalID * elemConn,
const double *const * elemStiffness,
const double * elemLoad,
int elemFormat )
privatevirtual

Reimplemented from Filter.

Definition at line 1093 of file fei_LinSysCoreFilter.cpp.

References generalElemInput().

◆ storeNodalSendIndex()

void LinSysCoreFilter::storeNodalSendIndex ( const NodeDescriptor & node,
int fieldID,
int col )
private

◆ storeNodalSendEqn()

void LinSysCoreFilter::storeNodalSendEqn ( const NodeDescriptor & node,
int fieldID,
int col,
double * coefs )
private

◆ storeNodalSendIndices()

void LinSysCoreFilter::storeNodalSendIndices ( const NodeDescriptor & iNode,
int iField,
const NodeDescriptor & jNode,
int jField )
private

◆ storePenNodeSendData()

void LinSysCoreFilter::storePenNodeSendData ( const NodeDescriptor & iNode,
int iField,
int iFieldSize,
double * iCoefs,
const NodeDescriptor & jNode,
int jField,
int jFieldSize,
double * jCoefs,
double penValue,
double CRValue )
private

◆ storePenNodeData()

int LinSysCoreFilter::storePenNodeData ( const NodeDescriptor & iNode,
int iField,
int iFieldSize,
double * iCoefs,
const NodeDescriptor & jNode,
int jField,
int jFieldSize,
double * jCoefs,
double penValue,
double CRValue )
private

◆ allocElemStuff()

void LinSysCoreFilter::allocElemStuff ( )
private

◆ resolveConflictingCRs()

◆ giveToMatrix_symm_noSlaves()

int LinSysCoreFilter::giveToMatrix_symm_noSlaves ( int numPtRows,
const int * ptRowNumbers,
const double *const * coefs,
int mode )
private

◆ giveToBlkMatrix_symm_noSlaves()

int LinSysCoreFilter::giveToBlkMatrix_symm_noSlaves ( int numPtRows,
const int * ptRows,
int numBlkRows,
const int * blkRowNumbers,
const int * blkRowSizes,
const double *const * coefs,
int mode )
private

◆ giveToMatrix()

int LinSysCoreFilter::giveToMatrix ( int numPtRows,
const int * ptRows,
int numPtCols,
const int * ptCols,
const double *const * values,
int mode )
private

◆ giveToLocalReducedMatrix()

int LinSysCoreFilter::giveToLocalReducedMatrix ( int numPtRows,
const int * ptRows,
int numPtCols,
const int * ptCols,
const double *const * values,
int mode )
private

◆ getFromMatrix()

int LinSysCoreFilter::getFromMatrix ( int numPtRows,
const int * ptRows,
const int * rowColOffsets,
const int * ptCols,
int numColsPerRow,
double ** values )
private

◆ sumIntoMatrix()

◆ getEqnsFromMatrix()

int LinSysCoreFilter::getEqnsFromMatrix ( ProcEqns & procEqns,
EqnBuffer & eqnData )
private

◆ getEqnsFromRHS()

◆ giveToRHS()

int LinSysCoreFilter::giveToRHS ( int num,
const double * values,
const int * indices,
int mode )
private

◆ giveToLocalReducedRHS()

int LinSysCoreFilter::giveToLocalReducedRHS ( int num,
const double * values,
const int * indices,
int mode )
private

Definition at line 2681 of file fei_LinSysCoreFilter.cpp.

References ASSEMBLE_SUM, CHK_ERR, FEI_SUCCESS, and lsc_.

Referenced by unpackRemoteContributions().

◆ getFromRHS()

◆ sumIntoRHS() [2/2]

int LinSysCoreFilter::sumIntoRHS ( fei::CSVec & vec)
private

◆ getEqnSolnEntry()

◆ getSharedRemoteSolnEntry()

int LinSysCoreFilter::getSharedRemoteSolnEntry ( int eqnNumber,
double & solnValue )
private

◆ getReducedSolnEntry()

int LinSysCoreFilter::getReducedSolnEntry ( int eqnNumber,
double & solnValue )
private

Definition at line 2874 of file fei_LinSysCoreFilter.cpp.

References CHK_ERR, FEI_SUCCESS, and lsc_.

Referenced by getEqnSolnEntry(), and unpackSolution().

◆ formResidual()

int LinSysCoreFilter::formResidual ( double * residValues,
int numLocalEqns )
private

Definition at line 2057 of file fei_LinSysCoreFilter.cpp.

References CHK_ERR, FEI_SUCCESS, and lsc_.

Referenced by residualNorm().

◆ getRemoteSharedEqns()

int LinSysCoreFilter::getRemoteSharedEqns ( int numPtRows,
const int * ptRows,
ProcEqns & remoteProcEqns )
private

◆ resetTheMatrix()

int LinSysCoreFilter::resetTheMatrix ( double s)
private

Definition at line 840 of file fei_LinSysCoreFilter.cpp.

References CHK_ERR, FEI_SUCCESS, and lsc_.

Referenced by resetMatrix(), and resetSystem().

◆ resetTheRHSVector()

int LinSysCoreFilter::resetTheRHSVector ( double s)
private

Definition at line 848 of file fei_LinSysCoreFilter.cpp.

References CHK_ERR, FEI_SUCCESS, and lsc_.

Referenced by resetRHSVector(), and resetSystem().

◆ assembleEqns()

int LinSysCoreFilter::assembleEqns ( int numPtRows,
int numPtCols,
const int * rowNumbers,
const int * colIndices,
const double *const * coefs,
bool structurallySymmetric,
int numBlkEqns,
int * blkEqns,
int * blkSizes,
bool useBlkEqns,
int mode )
private

◆ assembleReducedEqns()

◆ assembleRHS()

int LinSysCoreFilter::assembleRHS ( int numValues,
const int * indices,
const double * coefs,
int mode )
private

◆ assembleReducedRHS()

int LinSysCoreFilter::assembleReducedRHS ( )
private

◆ debugOutput()

◆ createEqnCommMgr_put()

int LinSysCoreFilter::createEqnCommMgr_put ( )
private

Definition at line 284 of file fei_LinSysCoreFilter.cpp.

References eqnCommMgr_, eqnCommMgr_put_, and ERReturn.

Referenced by initialize(), and LinSysCoreFilter().

Member Data Documentation

◆ timesInitializeCalled_

int LinSysCoreFilter::timesInitializeCalled_
private

Definition at line 388 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize(), and LinSysCoreFilter().

◆ lsc_

◆ useLookup_

bool LinSysCoreFilter::useLookup_
private

Definition at line 391 of file fei_LinSysCoreFilter.hpp.

Referenced by initLinSysCore(), and LinSysCoreFilter().

◆ internalFei_

int LinSysCoreFilter::internalFei_
private

Definition at line 393 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter(), and parameters().

◆ newMatrixData_

bool LinSysCoreFilter::newMatrixData_
private

◆ newVectorData_

bool LinSysCoreFilter::newVectorData_
private

◆ newConstraintData_

bool LinSysCoreFilter::newConstraintData_
private

◆ newBCData_

bool LinSysCoreFilter::newBCData_
private

◆ connectivitiesInitialized_

bool LinSysCoreFilter::connectivitiesInitialized_
private

Definition at line 399 of file fei_LinSysCoreFilter.hpp.

Referenced by initLinSysCore(), and LinSysCoreFilter().

◆ firstRemEqnExchange_

bool LinSysCoreFilter::firstRemEqnExchange_
private

◆ needToCallMatrixLoadComplete_

bool LinSysCoreFilter::needToCallMatrixLoadComplete_
private

◆ resolveConflictRequested_

bool LinSysCoreFilter::resolveConflictRequested_
private

Definition at line 403 of file fei_LinSysCoreFilter.hpp.

Referenced by implementAllBCs(), LinSysCoreFilter(), and parameters().

◆ localStartRow_

◆ localEndRow_

◆ numLocalEqns_

int LinSysCoreFilter::numLocalEqns_
private

Definition at line 405 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize(), and LinSysCoreFilter().

◆ numGlobalEqns_

int LinSysCoreFilter::numGlobalEqns_
private

Definition at line 405 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize(), and LinSysCoreFilter().

◆ reducedStartRow_

◆ reducedEndRow_

◆ numReducedRows_

int LinSysCoreFilter::numReducedRows_
private

Definition at line 406 of file fei_LinSysCoreFilter.hpp.

Referenced by initLinSysCore(), resetInitialGuess(), and residualNorm().

◆ numLocallyOwnedNodes_

int LinSysCoreFilter::numLocallyOwnedNodes_
private

Definition at line 407 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter().

◆ numGlobalNodes_

int LinSysCoreFilter::numGlobalNodes_
private

Definition at line 407 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize(), and LinSysCoreFilter().

◆ firstLocalNodeNumber_

int LinSysCoreFilter::firstLocalNodeNumber_
private

Definition at line 407 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize(), and LinSysCoreFilter().

◆ blockMatrix_

bool LinSysCoreFilter::blockMatrix_
private

Definition at line 409 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter(), and parameters().

◆ tooLateToChooseBlock_

bool LinSysCoreFilter::tooLateToChooseBlock_
private

Definition at line 410 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter().

◆ numLocalEqnBlks_

int LinSysCoreFilter::numLocalEqnBlks_
private

Definition at line 412 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize(), and LinSysCoreFilter().

◆ localReducedBlkOffset_

int LinSysCoreFilter::localReducedBlkOffset_
private

Definition at line 413 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter().

◆ numLocalReducedEqnBlks_

int LinSysCoreFilter::numLocalReducedEqnBlks_
private

Definition at line 413 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize(), and LinSysCoreFilter().

◆ iterations_

int LinSysCoreFilter::iterations_
private

Definition at line 415 of file fei_LinSysCoreFilter.hpp.

Referenced by iterations(), LinSysCoreFilter(), and solve().

◆ numRHSs_

int LinSysCoreFilter::numRHSs_
private

◆ currentRHS_

int LinSysCoreFilter::currentRHS_
private

◆ rhsIDs_

std::vector<int> LinSysCoreFilter::rhsIDs_
private

Definition at line 418 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter(), setCurrentRHS(), and setNumRHSVectors().

◆ outputLevel_

int LinSysCoreFilter::outputLevel_
private

◆ comm_

◆ masterRank_

int LinSysCoreFilter::masterRank_
private

Definition at line 423 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter().

◆ problemStructure_

◆ matrixAllocated_

bool LinSysCoreFilter::matrixAllocated_
private

Definition at line 426 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize(), and LinSysCoreFilter().

◆ rowIndices_

std::vector<int> LinSysCoreFilter::rowIndices_
private

Definition at line 428 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter(), putIntoRHS(), and sumIntoRHS().

◆ rowColOffsets_

std::vector<int> LinSysCoreFilter::rowColOffsets_
private

Definition at line 429 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter().

◆ colIndices_

std::vector<int> LinSysCoreFilter::colIndices_
private

Definition at line 429 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter().

◆ Kid_

fei::FillableMat* LinSysCoreFilter::Kid_
private

◆ Kdi_

fei::FillableMat * LinSysCoreFilter::Kdi_
private

◆ Kdd_

fei::FillableMat * LinSysCoreFilter::Kdd_
private

◆ csrD

fei::CSRMat LinSysCoreFilter::csrD
private

Definition at line 432 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleReducedEqns(), and assembleReducedRHS().

◆ csrKid

fei::CSRMat LinSysCoreFilter::csrKid
private

Definition at line 432 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleReducedEqns().

◆ csrKdi

fei::CSRMat LinSysCoreFilter::csrKdi
private

Definition at line 432 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleReducedEqns().

◆ csrKdd

fei::CSRMat LinSysCoreFilter::csrKdd
private

Definition at line 432 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleReducedEqns().

◆ tmpMat1_

fei::CSRMat LinSysCoreFilter::tmpMat1_
private

Definition at line 432 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleReducedEqns().

◆ tmpMat2_

fei::CSRMat LinSysCoreFilter::tmpMat2_
private

Definition at line 432 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleReducedEqns().

◆ fd_

fei::CSVec LinSysCoreFilter::fd_
private

Definition at line 433 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleReducedRHS(), and assembleRHS().

◆ tmpVec1_

fei::CSVec LinSysCoreFilter::tmpVec1_
private

Definition at line 433 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleReducedRHS().

◆ reducedEqnCounter_

int LinSysCoreFilter::reducedEqnCounter_
private

◆ reducedRHSCounter_

int LinSysCoreFilter::reducedRHSCounter_
private

◆ rSlave_

std::vector<int> LinSysCoreFilter::rSlave_
private

Definition at line 435 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleEqns().

◆ cSlave_

std::vector<int> LinSysCoreFilter::cSlave_
private

Definition at line 435 of file fei_LinSysCoreFilter.hpp.

Referenced by assembleEqns().

◆ nodeIDType_

int LinSysCoreFilter::nodeIDType_
private

Definition at line 437 of file fei_LinSysCoreFilter.hpp.

Referenced by LinSysCoreFilter(), and loadNodeBCs().

◆ bcManager_

fei::DirichletBCManager* LinSysCoreFilter::bcManager_
private

◆ eqnCommMgr_

◆ eqnCommMgr_put_

EqnCommMgr* LinSysCoreFilter::eqnCommMgr_put_
private

◆ maxElemRows_

int LinSysCoreFilter::maxElemRows_
private

Definition at line 444 of file fei_LinSysCoreFilter.hpp.

Referenced by allocElemStuff(), generalElemInput(), and LinSysCoreFilter().

◆ scatterIndices_

std::vector<int> LinSysCoreFilter::scatterIndices_
private

Definition at line 445 of file fei_LinSysCoreFilter.hpp.

Referenced by allocElemStuff(), generalElemInput(), and LinSysCoreFilter().

◆ blkScatterIndices_

std::vector<int> LinSysCoreFilter::blkScatterIndices_
private

Definition at line 446 of file fei_LinSysCoreFilter.hpp.

Referenced by generalElemInput(), and LinSysCoreFilter().

◆ iworkSpace_

std::vector<int> LinSysCoreFilter::iworkSpace_
private

Definition at line 447 of file fei_LinSysCoreFilter.hpp.

Referenced by giveToMatrix(), LinSysCoreFilter(), loadCRMult(), and loadCRPen().

◆ iworkSpace2_

std::vector<int> LinSysCoreFilter::iworkSpace2_
private

◆ dworkSpace_

std::vector<double> LinSysCoreFilter::dworkSpace_
private

◆ dworkSpace2_

std::vector<const double*> LinSysCoreFilter::dworkSpace2_
private

◆ eStiff_

double** LinSysCoreFilter::eStiff_
private

◆ eStiff1D_

double* LinSysCoreFilter::eStiff1D_
private

Definition at line 452 of file fei_LinSysCoreFilter.hpp.

Referenced by allocElemStuff(), LinSysCoreFilter(), and ~LinSysCoreFilter().

◆ eLoad_

double* LinSysCoreFilter::eLoad_
private

Definition at line 453 of file fei_LinSysCoreFilter.hpp.

Referenced by allocElemStuff(), LinSysCoreFilter(), and ~LinSysCoreFilter().


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