|
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 |
Public Member Functions inherited from XC::LinearSOE | |
| 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 &) |
Public Member Functions inherited from XC::SystemOfEqn | |
| int | checkSize (Graph &theGraph) const |
| Check number of DOFs in the graph. | |
Public Member Functions inherited from XC::MovableObject | |
| 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. | |
Public Member Functions inherited from XC::DistributedBase | |
| 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... | |
Protected Member Functions inherited from XC::LinearSOE | |
| 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... | |
Protected Member Functions inherited from XC::SystemOfEqn | |
| 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.
1.8.12