#include <additive_schwarz_preconditioner.h>
|
|
| AdditiveSchwarzPreconditioner () |
| Default constructor. More...
|
|
| AdditiveSchwarzPreconditioner (const AdditiveSchwarzPreconditioner &Other)=delete |
| Copy constructor. More...
|
|
| ~AdditiveSchwarzPreconditioner () override |
| Destructor. More...
|
|
|
AdditiveSchwarzPreconditioner & | operator= (const AdditiveSchwarzPreconditioner &Other)=delete |
| Assignment operator. More...
|
|
|
bool | AdditionalPhysicalDataIsNeeded () override |
|
void | ProvideAdditionalData (SparseMatrixType &rA, VectorType &rX, VectorType &rB, DofsArrayType &rdof_set, ModelPart &r_model_part) override |
|
|
VectorType & | ApplyInverseRight (VectorType &rX) override |
|
void | Mult (SparseMatrixType &rA, VectorType &rX, VectorType &rY) override |
|
VectorType & | ApplyLeft (VectorType &rX) override |
|
VectorType & | Finalize (VectorType &rX) override |
|
|
std::string | Info () const override |
| Return information about this object. More...
|
|
void | PrintInfo (std::ostream &OStream) const override |
| Print information about this object. More...
|
|
void | PrintData (std::ostream &OStream) const override |
| Print object's data. More...
|
|
| Preconditioner () |
| Default constructor. More...
|
|
| Preconditioner (const Preconditioner &Other) |
| Copy constructor. More...
|
|
virtual | ~Preconditioner () |
| Destructor. More...
|
|
Preconditioner & | operator= (const Preconditioner &Other) |
| Assignment operator. More...
|
|
virtual void | Initialize (SparseMatrixType &rA, VectorType &rX, VectorType &rB) |
|
virtual void | Initialize (SparseMatrixType &rA, DenseMatrixType &rX, DenseMatrixType &rB) |
|
virtual void | InitializeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB) |
|
virtual void | FinalizeSolutionStep (SparseMatrixType &rA, VectorType &rX, VectorType &rB) |
|
virtual void | Clear () |
|
virtual void | TransposeMult (SparseMatrixType &rA, VectorType &rX, VectorType &rY) |
|
virtual VectorType & | ApplyRight (VectorType &rX) |
|
virtual VectorType & | ApplyTransposeLeft (VectorType &rX) |
|
virtual VectorType & | ApplyTransposeRight (VectorType &rX) |
|
| KRATOS_CLASS_POINTER_DEFINITION (Preconditioner) |
| Pointer definition of Preconditioner. More...
|
|
template<class TSparseSpaceType, class TDenseSpaceType>
class Kratos::AdditiveSchwarzPreconditioner< TSparseSpaceType, TDenseSpaceType >
- Todo:
- Use dense solver for computation of inverse/ pseudo inverse. Check values for relaxation parameter. Only apply additive schwarz preconditioner for trimmed elements (badly conditioned elements). Apply Jacobi preconditioning for non-trimmed elements. Migrate preconditioner into Kratos Core.
◆ BaseType
template<class TSparseSpaceType , class TDenseSpaceType >
◆ DenseMatrixType
template<class TSparseSpaceType , class TDenseSpaceType >
◆ DofsArrayType
template<class TSparseSpaceType , class TDenseSpaceType >
◆ IndexType
template<class TSparseSpaceType , class TDenseSpaceType >
◆ SizeType
template<class TSparseSpaceType , class TDenseSpaceType >
◆ SparseMatrixPointerType
template<class TSparseSpaceType , class TDenseSpaceType >
◆ SparseMatrixType
template<class TSparseSpaceType , class TDenseSpaceType >
◆ VectorType
template<class TSparseSpaceType , class TDenseSpaceType >
◆ AdditiveSchwarzPreconditioner() [1/2]
template<class TSparseSpaceType , class TDenseSpaceType >
◆ AdditiveSchwarzPreconditioner() [2/2]
template<class TSparseSpaceType , class TDenseSpaceType >
◆ ~AdditiveSchwarzPreconditioner()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ AdditionalPhysicalDataIsNeeded()
template<class TSparseSpaceType , class TDenseSpaceType >
Some preconditioners 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 preconditioners 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::Preconditioner< TSparseSpaceType, TDenseSpaceType >.
◆ ApplyInverseRight()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ ApplyLeft()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ Finalize()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ Info()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ KRATOS_CLASS_POINTER_DEFINITION()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ Mult()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ operator=()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ PrintData()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ PrintInfo()
template<class TSparseSpaceType , class TDenseSpaceType >
◆ ProvideAdditionalData()
template<class TSparseSpaceType , class TDenseSpaceType >
Some preconditioners 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 preconditioners 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::Preconditioner< TSparseSpaceType, TDenseSpaceType >.
◆ mMatrixIsInitializedFlag
template<class TSparseSpaceType , class TDenseSpaceType >
◆ mpS
template<class TSparseSpaceType , class TDenseSpaceType >
The documentation for this class was generated from the following file: