xc
|
Base class of the solvers for linear system of equations. More...
#include <LinearSOESolver.h>
Public Member Functions | |
virtual | ~LinearSOESolver (void) |
Destructor. | |
virtual int | setSize (void)=0 |
Sets the number of equations. More... | |
![]() | |
virtual int | solve (void)=0 |
Causes the solver to compute the solution of the system of equations. More... | |
virtual double | getDeterminant (void) |
Return the determinant of the system matrix. | |
virtual double | getRCond (const char &) |
Estimates the reciprocal of the condition number of the matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by DGBTRF. More... | |
![]() | |
MovableObject (int classTag, int dbTag) | |
Constructor. More... | |
MovableObject (int classTag) | |
Constructor. More... | |
MovableObject (const MovableObject &) | |
Copy constructor. Doesn't copy the dbTag. | |
MovableObject & | operator= (const MovableObject &) |
Assignment operator. Doesn't copy the dbTag. | |
int | getClassTag (void) const |
Return the class identifier. | |
int | getDbTag (void) const |
Return the object identifier in the database. | |
int | getDbTag (Communicator &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (Communicator &) |
Sets the object identifier in the database if not already set. More... | |
virtual int | sendSelf (Communicator &comm)=0 |
Send the object. More... | |
virtual int | recvSelf (const Communicator &comm)=0 |
Receive the object. More... | |
virtual int | setParameter (const std::vector< std::string > &argv, Parameter ¶m) |
Sets the value param to the parameter argv . | |
virtual int | updateParameter (int parameterID, Information &info) |
Updates the parameter identified by parameterID with info . | |
virtual int | activateParameter (int parameterID) |
Activates the parameter identified by parameterID . | |
virtual int | setVariable (const std::string &variable, Information &) |
Set the value of the variable idenfified by var . | |
virtual int | getVariable (const std::string &variable, Information &) |
Return the value of the variable idenfified by var . | |
![]() | |
DistributedBase (void) | |
Constructor. | |
virtual | ~DistributedBase (void) |
Destructor. | |
virtual DbTagData & | getDbTagData (void) const |
Returns a vector to store class dbTags. | |
const int & | getDbTagDataPos (const int &i) const |
Returns the data at the i-th position. | |
void | setDbTagDataPos (const int &i, const int &v) |
Sets the data at the i-th position. | |
void | inicComm (const int &dataSize) const |
Initializes communication. | |
Protected Member Functions | |
LinearSOESolver (int classTag=0) | |
Constructor. More... | |
virtual LinearSOESolver * | getCopy (void) const =0 |
Virtual constructor. | |
virtual bool | setLinearSOE (LinearSOE *theSOE)=0 |
Sets the systems of equations to solve. | |
![]() | |
Solver (int classTag) | |
Constructor. More... | |
Friends | |
class | LinearSOE |
Base class of the solvers for linear system of equations.
A LinearSOESolver object is responsible for solving the LinearSOE object that it is associated with. That is, to find \(x\) such that the matrix equation \(Ax=b\) is satisfied.
|
protected |
Constructor.
classTag | identifier of the class. |
|
pure virtual |
Sets the number of equations.
This is invoked by the LinearSOE
object when setSize() has been invoked on it. Solvers may sometimes need to store additional data that needs to be updated if the size of the system of equation changes.
Implemented in XC::SuperLU, XC::ItpackLinSolver, XC::DistributedSuperLU, XC::ProfileSPDLinDirectSkypackSolver, XC::ProfileSPDLinSubstrSolver, XC::ThreadedSuperLU, XC::PetscSolver, XC::PetscSparseSeqSolver, XC::ProfileSPDLinDirectThreadSolver, XC::UmfpackGenLinSolver, XC::ProfileSPDLinDirectBlockSolver, XC::ProfileSPDLinDirectSolver, XC::FullGenLinLapackSolver, XC::BandSPDLinLapackSolver, XC::BandGenLinLapackSolver, XC::BandSPDLinThreadSolver, XC::ConjugateGradientSolver, XC::DistributedDiagonalSolver, XC::DiagonalDirectSolver, and XC::SymSparseLinSolver.