xc
|
Data (size, arrays,...) for linear system of equations. More...
#include <LinearSOEData.h>
Public Member Functions | |
virtual int | getNumEqn (void) const |
Return the current size of the system. | |
virtual void | zeroB (void) |
Zeros the entries in the 1d array for \(b\). | |
virtual void | zeroX (void) |
Zeros the entries in the 1d array for \(x\). | |
virtual void | zero (void) |
Zeros the entries in the 1d array for \(x\) and \(b\). | |
virtual int | addB (const Vector &, const double &fact=1.0) |
add v multiplied by factor to vector B. More... | |
virtual int | addB (const Vector &, const ID &, const double &fact=1.0) |
assemblies v multiplied by factor into vector B. More... | |
virtual int | setB (const XC::Vector &v, const double &fact=1.0) |
Sets B= v*fact. More... | |
virtual void | setX (int loc, double value) |
If loc is within the range of \(x\), sets \(x(loc) = value\). | |
virtual void | setX (const Vector &x) |
Assigns \(x\). | |
virtual const Vector & | getX (void) const |
Returns the Vector object created for \(x\). | |
virtual Vector & | getX (void) |
Returns the Vector object created for \(x\). | |
virtual const Vector & | getB (void) const |
Returns the Vector object created for \(b\). | |
virtual Vector & | getB (void) |
Returns the Vector object created for \(b\). | |
virtual double | normRHS (void) const |
Returns the 2-norm of the vector \(x\). | |
void | receiveB (const CommParameters &) |
void | receiveX (const CommParameters &) |
void | receiveBX (const CommParameters &) |
void | sendB (CommParameters &) const |
void | sendBX (CommParameters &) const |
![]() | |
virtual | ~LinearSOE (void) |
Destructor. | |
virtual int | solve (void) |
Computes the solution of the system of equations. More... | |
virtual int | setSize (Graph &theGraph)=0 |
Determines and sets the size of the system. More... | |
virtual int | addA (const Matrix &M, const ID &loc, double fact=1.0)=0 |
The LinearSOE object assembles fact times the Matrix M into the matrix $A$. More... | |
virtual void | zeroA (void)=0 |
To zero the matrix $A$, i.e. set all the components of $A$ to $0$. | |
virtual double | getDeterminant (void) |
Returns the determinant of the system matrix. | |
LinearSOESolver * | getSolver (void) |
Returns a pointer to the solver. | |
LinearSOESolver & | newSolver (const std::string &) |
![]() | |
int | checkSize (Graph &theGraph) const |
Check number of DOFs in the graph. | |
![]() | |
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 (CommParameters &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (CommParameters &) |
Sets the object identifier in the database if not already set. More... | |
virtual int | sendSelf (CommParameters &cp)=0 |
Send the object. More... | |
virtual int | recvSelf (const CommParameters &cp)=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 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 | |
void | inic (const size_t &) |
1d arrays containing coefficients of B and X More... | |
const double & | getB (const size_t &i) const |
double & | getB (const size_t &i) |
const double & | getX (const size_t &i) const |
double & | getX (const size_t &i) |
double * | getPtrB (void) |
const double * | getPtrB (void) const |
double * | getPtrX (void) |
const double * | getPtrX (void) const |
LinearSOEData (AnalysisAggregation *, int classTag, int N=0) | |
Constructor. More... | |
![]() | |
virtual bool | setSolver (LinearSOESolver *) |
Sets the solver for the system of equations. More... | |
int | setSolverSize (void) |
invoke setSize() on the Solver | |
LinearSOE (AnalysisAggregation *, int classTag) | |
Constructor. More... | |
![]() | |
virtual AnalysisModel * | getAnalysisModelPtr (void) |
Returns a pointer to the analysis model. | |
virtual const AnalysisModel * | getAnalysisModelPtr (void) const |
Returns a const pointer to the analysis model. | |
SystemOfEqn (AnalysisAggregation *, int classTag) | |
Constructor. More... | |
virtual SystemOfEqn * | getCopy (void) const =0 |
Virtual constructor. | |
Protected Attributes | |
int | size |
Vector | B |
order of A | |
Vector | X |
Data (size, arrays,...) for linear system of equations.
|
protected |
Constructor.
owr | analysis aggregation that owns this object. |
classTag | identifier of the class. |
N | size of the system. |
|
virtual |
add v multiplied by factor to vector B.
v | vector to add. |
fact | factor that multiplies v. |
assemblies v multiplied by factor into vector B.
First tests that loc
and V
are of compatible sizes; if not a warning message is printed and a \(-1\) is returned. The LinearSOE object then assembles fact
times the Vector V
into the vector \(b\). The Vector is assembled into \(b\) at the locations given by the ID object loc
, i.e. \(b_{loc(i)} += fact * V(i)\). If a location specified is outside the range, e.g. \(-1\), the corresponding entry in V
is not added to \(b\). If fact
is equal to \(0.0\), \(1.0\) or \(-1.0\), more efficient steps are performed. Returns \(0\).
v | vector to add. |
id | row indexes. |
fact | factor that multiplies v. |
Implements XC::LinearSOE.
Reimplemented in XC::DistributedBandGenLinSOE, XC::DistributedSparseGenColLinSOE, XC::DistributedBandSPDLinSOE, XC::DistributedProfileSPDLinSOE, and XC::SymSparseLinSOE.
|
protected |
1d arrays containing coefficients of B and X
Initializes storage.
|
virtual |
Sets B= v*fact.
First tests that V
and the size of the system are of compatible sizes; if not a warning message is printed and a \(-1\) is returned. The LinearSOE object then sets the vector b
to be fact
times the Vector V
. If fact
is equal to \(0.0\), \(1.0\) or \(-1.0\), more efficient steps are performed. Returns \(0\).
v | vector to add. |
fact | factor that multiplies v. |
??? LCPT (must not set B to 0?).
Implements XC::LinearSOE.
Reimplemented in XC::DistributedBandGenLinSOE, XC::DistributedSparseGenColLinSOE, XC::DistributedBandSPDLinSOE, and XC::DistributedProfileSPDLinSOE.