44 cout <<
"TPZSequenceSolver::Solve called without a matrix pointer\n";
47 if(result.
Rows() != mat->Rows() || result.
Cols() != F.
Cols()) {
60 for(s=0; s<nums; s++) {
63 mat->Residual(result,F,this->
fScratch);
65 if(residual) *residual = this->
fScratch;
78 for(s=0; s<nums; s++) {
92 for(s=0; s<nums; s++) {
103 buf.
Write(&StackSz, 1);
105 for(i = 0; i < StackSz; i++)
111 template <
class TVar>
116 buf.
Read(&StackSz, 1);
118 for(
int i = 0; i< StackSz; i++)
int ClassId() const override
Define the class id associated with the class.
void ResetMatrix() override
Resets current object.
void ResetSolver()
This method will reinitialize the solver object, including the solution procedure.
virtual void UpdateFrom(TPZAutoPointer< TPZMatrix< TVar > > matrix) override
Updates the values of the current matrix based on the values of the matrix.
TPZSequenceSolver(TPZMatrix< TVar > *refmat=0)
Constructor with initialization parameter.
TPZStack< TPZMatrixSolver< TVar > *> fSolvers
Defines a abstract class of solvers which will be used by matrix classes. Solver. ...
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
Defines a class of matrix solvers. Solver.
void AppendSolver(TPZMatrixSolver< TVar > &solve)
virtual TPZSolver< TVar > * Clone() const override
Clones the current object returning a pointer of type TPZSolver.
static TPZSavable * GetInstance(const int64_t &objId)
void Write(TPZStream &buf, int withclassid) const override
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
virtual void Resize(const int64_t newsize, const T &object)
Resizes the vector object.
void Solve(const TPZFMatrix< TVar > &F, TPZFMatrix< TVar > &result, TPZFMatrix< TVar > *residual=0) override
Solves the system of linear equations.
TPZSkylMatrix< REAL > matrix
virtual TVar & s(const int64_t row, const int64_t col)
The operators check on the bounds if the DEBUG variable is defined.
int Zero() override
Makes Zero all the elements.
virtual void ResetMatrix() override
This method will reset the matrix associated with the solver.
void Push(const T object)
Pushes a copy of the object on the stack.
virtual void Write(const bool val)
void Read(TPZStream &buf, void *context) override
read objects from the stream
int64_t Rows() const
Returns number of rows.
Contains TPZSequenceSolver class which defines sequence solvers.
void Read(TPZStream &buf, void *context) override
read objects from the stream
virtual void UpdateFrom(TPZAutoPointer< TPZMatrix< TVar > > mat) override
Updates the values of the preconditioner based on the values of the matrix.
TPZFMatrix< TVar > fScratch
Manipulation matrix.
Full matrix class. Matrix.
int Redim(const int64_t newRows, const int64_t newCols) override
Redimension a matrix and ZERO your elements.
int ClassId() const override
Saveable specific methods.
virtual TPZSolver * Clone() const =0
Clones the current object returning a pointer of type TPZSolver.
T Pop()
Retrieve an object from the stack.
Defines sequence solvers. Solver.
TPZAutoPointer< TPZMatrix< TVar > > Matrix() const
Returns a pointer to TPZMatrix<>
int64_t Cols() const
Returns number of cols.
Defines the interface for saving and reading data. Persistency.
int64_t NElements() const
Returns the number of elements of the vector.
static void WritePointer(const TPZSavable *obj, TPZStream *stream)
Implements an interface to register a class id and a restore function. Persistence.
virtual void Read(bool &val)
Root matrix class (abstract). Matrix.
This class implements a reference counter mechanism to administer a dynamically allocated object...