FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
LinSysCoreFilter Class Reference

#include <fei_LinSysCoreFilter.hpp>

Inheritance diagram for LinSysCoreFilter:
Inheritance graph
[legend]

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 ( FEI_Implementation * owner,
MPI_Comm comm,
SNL_FEI_Structure * probStruct,
LinearSystemCore * lsc,
int masterRank = 0 )

◆ ~LinSysCoreFilter()

LinSysCoreFilter::~LinSysCoreFilter ( )
virtual

Member Function Documentation

◆ resetSystem()

int LinSysCoreFilter::resetSystem ( double s)
virtual

◆ resetMatrix()

int LinSysCoreFilter::resetMatrix ( double s)
virtual

◆ resetRHSVector()

int LinSysCoreFilter::resetRHSVector ( double s)
virtual

◆ 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()

int LinSysCoreFilter::loadCRMult ( int CRMultID,
int numCRNodes,
const GlobalID * CRNodes,
const int * CRFields,
const double * CRWeights,
double CRValue )
virtual

◆ loadCRPen()

int LinSysCoreFilter::loadCRPen ( int CRPenID,
int numCRNodes,
const GlobalID * CRNodes,
const int * CRFields,
const double * CRWeights,
double CRValue,
double penValue )
virtual

◆ 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

◆ 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()

int LinSysCoreFilter::getBlockNodeSolution ( GlobalID elemBlockID,
int numNodes,
const GlobalID * nodeIDs,
int * offsets,
double * results )
virtual

◆ getNodalSolution()

int LinSysCoreFilter::getNodalSolution ( int numNodes,
const GlobalID * nodeIDs,
int * offsets,
double * results )
virtual

◆ 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()

int LinSysCoreFilter::putBlockNodeSolution ( GlobalID elemBlockID,
int numNodes,
const GlobalID * nodeIDs,
const int * offsets,
const double * estimates )
virtual

◆ 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

◆ setCurrentRHS()

int LinSysCoreFilter::setCurrentRHS ( int rhsID)
virtual

Implements Filter.

Definition at line 2111 of file fei_LinSysCoreFilter.cpp.

References currentRHS_, ERReturn, FEI_SUCCESS, lsc_, rhsIDs_, and LinearSystemCore::setRHSID().

◆ exchangeRemoteEquations()

int LinSysCoreFilter::exchangeRemoteEquations ( )
virtual

◆ exchangeRemoteBCs()

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

◆ implementAllBCs()

int LinSysCoreFilter::implementAllBCs ( )
virtual

◆ enforceEssentialBCs()

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

◆ enforceRemoteEssBCs()

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

◆ initialize()

int LinSysCoreFilter::initialize ( )
virtual

◆ initLinSysCore()

int LinSysCoreFilter::initLinSysCore ( )
private

◆ setLinSysCoreCREqns()

void LinSysCoreFilter::setLinSysCoreCREqns ( )
private

◆ unpackRemoteContributions()

int LinSysCoreFilter::unpackRemoteContributions ( EqnCommMgr & eqnCommMgr,
int assemblyMode )
private

◆ 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]

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

◆ 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()

int LinSysCoreFilter::resolveConflictingCRs ( EqnBuffer & bcEqns)
private

◆ 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()

int LinSysCoreFilter::sumIntoMatrix ( fei::CSRMat & mat)
private

◆ getEqnsFromMatrix()

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

◆ getEqnsFromRHS()

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

◆ 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

◆ getFromRHS()

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

◆ sumIntoRHS() [2/2]

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

◆ getEqnSolnEntry()

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

◆ getSharedRemoteSolnEntry()

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

◆ getReducedSolnEntry()

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

◆ formResidual()

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

Definition at line 2057 of file fei_LinSysCoreFilter.cpp.

References CHK_ERR, FEI_SUCCESS, LinearSystemCore::formResidual(), 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, lsc_, and LinearSystemCore::resetMatrix().

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, lsc_, and LinearSystemCore::resetRHSVector().

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()

int LinSysCoreFilter::assembleReducedEqns ( )
private

◆ assembleRHS()

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

◆ assembleReducedRHS()

int LinSysCoreFilter::assembleReducedRHS ( )
private

◆ debugOutput()

void LinSysCoreFilter::debugOutput ( const char * mesg)
private

◆ createEqnCommMgr_put()

int LinSysCoreFilter::createEqnCommMgr_put ( )
private

Member Data Documentation

◆ timesInitializeCalled_

int LinSysCoreFilter::timesInitializeCalled_
private

Definition at line 388 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize().

◆ lsc_

LinearSystemCore* LinSysCoreFilter::lsc_
private

◆ useLookup_

bool LinSysCoreFilter::useLookup_
private

Definition at line 391 of file fei_LinSysCoreFilter.hpp.

Referenced by initLinSysCore().

◆ 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

Definition at line 398 of file fei_LinSysCoreFilter.hpp.

Referenced by exchangeRemoteEquations(), loadComplete(), and loadNodeBCs().

◆ connectivitiesInitialized_

bool LinSysCoreFilter::connectivitiesInitialized_
private

Definition at line 399 of file fei_LinSysCoreFilter.hpp.

Referenced by initLinSysCore().

◆ firstRemEqnExchange_

bool LinSysCoreFilter::firstRemEqnExchange_
private

Definition at line 400 of file fei_LinSysCoreFilter.hpp.

Referenced by exchangeRemoteEquations(), and giveToLocalReducedMatrix().

◆ needToCallMatrixLoadComplete_

bool LinSysCoreFilter::needToCallMatrixLoadComplete_
private

Definition at line 401 of file fei_LinSysCoreFilter.hpp.

Referenced by exchangeRemoteEquations(), and loadComplete().

◆ resolveConflictRequested_

bool LinSysCoreFilter::resolveConflictRequested_
private

Definition at line 403 of file fei_LinSysCoreFilter.hpp.

Referenced by implementAllBCs(), and parameters().

◆ localStartRow_

int LinSysCoreFilter::localStartRow_
private

◆ localEndRow_

int LinSysCoreFilter::localEndRow_
private

◆ numLocalEqns_

int LinSysCoreFilter::numLocalEqns_
private

Definition at line 405 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize().

◆ numGlobalEqns_

int LinSysCoreFilter::numGlobalEqns_
private

Definition at line 405 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize().

◆ reducedStartRow_

int LinSysCoreFilter::reducedStartRow_
private

◆ reducedEndRow_

int LinSysCoreFilter::reducedEndRow_
private

◆ 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.

◆ numGlobalNodes_

int LinSysCoreFilter::numGlobalNodes_
private

Definition at line 407 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize().

◆ firstLocalNodeNumber_

int LinSysCoreFilter::firstLocalNodeNumber_
private

Definition at line 407 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize().

◆ blockMatrix_

bool LinSysCoreFilter::blockMatrix_
private

Definition at line 409 of file fei_LinSysCoreFilter.hpp.

Referenced by parameters().

◆ tooLateToChooseBlock_

bool LinSysCoreFilter::tooLateToChooseBlock_
private

Definition at line 410 of file fei_LinSysCoreFilter.hpp.

◆ numLocalEqnBlks_

int LinSysCoreFilter::numLocalEqnBlks_
private

Definition at line 412 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize().

◆ localReducedBlkOffset_

int LinSysCoreFilter::localReducedBlkOffset_
private

Definition at line 413 of file fei_LinSysCoreFilter.hpp.

◆ numLocalReducedEqnBlks_

int LinSysCoreFilter::numLocalReducedEqnBlks_
private

Definition at line 413 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize().

◆ iterations_

int LinSysCoreFilter::iterations_
private

Definition at line 415 of file fei_LinSysCoreFilter.hpp.

Referenced by iterations(), and solve().

◆ numRHSs_

int LinSysCoreFilter::numRHSs_
private

◆ currentRHS_

int LinSysCoreFilter::currentRHS_
private

Definition at line 417 of file fei_LinSysCoreFilter.hpp.

Referenced by giveToRHS(), setCurrentRHS(), and storePenNodeSendData().

◆ 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_

MPI_Comm LinSysCoreFilter::comm_
private

◆ masterRank_

int LinSysCoreFilter::masterRank_
private

Definition at line 423 of file fei_LinSysCoreFilter.hpp.

◆ problemStructure_

SNL_FEI_Structure* LinSysCoreFilter::problemStructure_
private

◆ matrixAllocated_

bool LinSysCoreFilter::matrixAllocated_
private

Definition at line 426 of file fei_LinSysCoreFilter.hpp.

Referenced by initialize().

◆ rowIndices_

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

Definition at line 428 of file fei_LinSysCoreFilter.hpp.

Referenced by putIntoRHS(), and sumIntoRHS().

◆ rowColOffsets_

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

Definition at line 429 of file fei_LinSysCoreFilter.hpp.

◆ colIndices_

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

Definition at line 429 of file fei_LinSysCoreFilter.hpp.

◆ 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 loadNodeBCs().

◆ bcManager_

fei::DirichletBCManager* LinSysCoreFilter::bcManager_
private

◆ eqnCommMgr_

EqnCommMgr* LinSysCoreFilter::eqnCommMgr_
private

◆ eqnCommMgr_put_

EqnCommMgr* LinSysCoreFilter::eqnCommMgr_put_
private

◆ maxElemRows_

int LinSysCoreFilter::maxElemRows_
private

Definition at line 444 of file fei_LinSysCoreFilter.hpp.

Referenced by allocElemStuff(), and generalElemInput().

◆ scatterIndices_

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

Definition at line 445 of file fei_LinSysCoreFilter.hpp.

Referenced by allocElemStuff(), and generalElemInput().

◆ blkScatterIndices_

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

Definition at line 446 of file fei_LinSysCoreFilter.hpp.

Referenced by generalElemInput().

◆ iworkSpace_

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

Definition at line 447 of file fei_LinSysCoreFilter.hpp.

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

◆ iworkSpace2_

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

◆ dworkSpace_

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

Definition at line 448 of file fei_LinSysCoreFilter.hpp.

Referenced by giveToMatrix(), storePenNodeData(), and storePenNodeSendData().

◆ dworkSpace2_

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

◆ eStiff_

double** LinSysCoreFilter::eStiff_
private

Definition at line 451 of file fei_LinSysCoreFilter.hpp.

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

◆ eStiff1D_

double* LinSysCoreFilter::eStiff1D_
private

Definition at line 452 of file fei_LinSysCoreFilter.hpp.

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

◆ eLoad_

double* LinSysCoreFilter::eLoad_
private

Definition at line 453 of file fei_LinSysCoreFilter.hpp.

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


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