|
|
| ScalingSolver () |
| Default constructor. More...
|
|
| ScalingSolver (typename BaseType::Pointer pLinearSolver, const bool SymmetricScaling=true) |
| Constructor without parameters. More...
|
|
| ScalingSolver (Parameters ThisParameters) |
| Constructor with parameters. More...
|
|
| ScalingSolver (const ScalingSolver &Other) |
| Copy constructor. More...
|
|
| ~ScalingSolver () override |
| Destructor. More...
|
|
|
ScalingSolver & | operator= (const ScalingSolver &Other) |
| Assignment operator. More...
|
|
|
bool | AdditionalPhysicalDataIsNeeded () override |
|
void | ProvideAdditionalData (SparseMatrixType &rA, VectorType &rX, VectorType &rB, typename ModelPart::DofsArrayType &rdof_set, ModelPart &r_model_part) override |
|
void | InitializeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB) override |
|
void | FinalizeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB) override |
|
void | Clear () override |
|
bool | Solve (SparseMatrixType &rA, VectorType &rX, VectorType &rB) override |
|
|
IndexType | GetIterationsNumber () override |
|
|
std::string | Info () const override |
| Turn back information as a string. More...
|
|
void | PrintInfo (std::ostream &rOStream) const override |
| Print information about this object. More...
|
|
void | PrintData (std::ostream &rOStream) const override |
| Print object's data. More...
|
|
| LinearSolver () |
| Default constructor. More...
|
|
| LinearSolver (Reorderer< TSparseSpaceType, TDenseSpaceType > NewReorderer) |
| Constructor with specific reorderer. More...
|
|
| LinearSolver (const LinearSolver &Other) |
| Copy constructor. More...
|
|
virtual | ~LinearSolver () |
| Destructor. More...
|
|
LinearSolver & | operator= (const LinearSolver &Other) |
| Assignment operator. More...
|
|
virtual void | Initialize (SparseMatrixType &rA, VectorType &rX, VectorType &rB) |
|
virtual void | PerformSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB) |
|
virtual bool | Solve (SparseMatrixType &rA, DenseMatrixType &rX, DenseMatrixType &rB) |
|
virtual void | Solve (SparseMatrixType &K, SparseMatrixType &M, DenseVectorType &Eigenvalues, DenseMatrixType &Eigenvectors) |
|
virtual TReordererType::Pointer | GetReorderer () |
|
virtual void | SetReorderer (typename TReordererType::Pointer pNewReorderer) |
|
virtual void | SetTolerance (double NewTolerance) |
| This method allows to set the tolerance in the linear solver. More...
|
|
virtual double | GetTolerance () |
| This method allows to get the tolerance in the linear solver. More...
|
|
virtual bool | IsConsistent (SparseMatrixType &rA, VectorType &rX, VectorType &rB) |
| This method checks if the dimensions of the system of equations are consistent. More...
|
|
virtual bool | IsConsistent (SparseMatrixType &rA, DenseMatrixType &rX, DenseMatrixType &rB) |
| This method checks if the dimensions of the system of equations are consistent (dense matrix for RHS and unknowns version) More...
|
|
virtual bool | IsNotConsistent (SparseMatrixType &rA, VectorType &rX, VectorType &rB) |
| This method checks if the dimensions of the system of equations are not consistent. More...
|
|
virtual bool | IsNotConsistent (SparseMatrixType &rA, DenseMatrixType &rX, DenseMatrixType &rB) |
| This method checks if the dimensions of the system of equations are not consistent. More...
|
|
| KRATOS_CLASS_POINTER_DEFINITION (LinearSolver) |
| Pointer definition of LinearSolver. More...
|
|
template<class TSparseSpaceType, class TDenseSpaceType, class TReordererType = Reorderer<TSparseSpaceType, TDenseSpaceType>>
class Kratos::ScalingSolver< TSparseSpaceType, TDenseSpaceType, TReordererType >
This solvers rescales in order to improve the conditioning of the system.
Rescales the matrix, and uses a given linear solver
- Author
- Riccardo Rossi
- Template Parameters
-
TSparseSpaceType | The sparse space definition |
TDenseSpaceType | The dense space definition |
TReordererType | The reorder considered |
template<class TSparseSpaceType , class TDenseSpaceType , class TReordererType = Reorderer<TSparseSpaceType, TDenseSpaceType>>
Some solvers may require a minimum degree of knowledge of the structure of the matrix. To make an example when solving a mixed u-p problem, it is important to identify the row associated to v and p. another example is the automatic prescription of rotation null-space for smoothed-aggregation solvers which require knowledge on the spatial position of the nodes associated to a given dof. This function tells if the solver requires such data
Reimplemented from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > >.
template<class TSparseSpaceType , class TDenseSpaceType , class TReordererType = Reorderer<TSparseSpaceType, TDenseSpaceType>>
template<class TSparseSpaceType , class TDenseSpaceType , class TReordererType = Reorderer<TSparseSpaceType, TDenseSpaceType>>
template<class TSparseSpaceType , class TDenseSpaceType , class TReordererType = Reorderer<TSparseSpaceType, TDenseSpaceType>>
This function is designed to be called every time the coefficients change in the system that is, normally at the beginning of each solve. For example if we are implementing a direct solver, this is the place to do the factorization so that then the backward substitution can be performed effectively more than once
- Parameters
-
rA. | System matrix |
rX. | Solution vector. it's also the initial guess for iterative linear solvers. |
rB. | Right hand side vector. |
Reimplemented from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > >.
template<class TSparseSpaceType , class TDenseSpaceType , class TReordererType = Reorderer<TSparseSpaceType, TDenseSpaceType>>
Some solvers may require a minimum degree of knowledge of the structure of the matrix. To make an example when solving a mixed u-p problem, it is important to identify the row associated to v and p. another example is the automatic prescription of rotation null-space for smoothed-aggregation solvers which require knowledge on the spatial position of the nodes associated to a given dof. This function is the place to eventually provide such data
Reimplemented from Kratos::LinearSolver< TSparseSpaceType, TDenseSpaceType, Reorderer< TSparseSpaceType, TDenseSpaceType > >.