|
GEOS
|
Base class for MsRSB level builders. More...
#include <MsrsbLevelBuilderBase.hpp>

Public Types | |
| using | Base = LevelBuilderBase< LAI > |
| Alias for base type. | |
| using | Vector = typename Base::Vector |
| Alias for vector type. | |
| using | Matrix = typename Base::Matrix |
| Alias for matrix type. | |
| using | Operator = typename Base::Operator |
| Alias for operator type. | |
Public Types inherited from geos::multiscale::LevelBuilderBase< LAI > | |
| using | Vector = typename LAI::ParallelVector |
| Alias for vector type. | |
| using | Matrix = typename LAI::ParallelMatrix |
| Alias for matrix type. | |
| using | Operator = LinearOperator< Vector > |
| Alias for operator type. | |
Public Member Functions | |
| MsrsbLevelBuilderBase (string name, LinearSolverParameters params) | |
| Constructor. More... | |
| virtual Matrix const & | prolongation () const override |
| virtual Operator const & | restriction () const override |
| virtual Matrix const & | matrix () const override |
| virtual PreconditionerBase< LAI > const * | presmoother () const override |
| PreconditionerBase< LAI > * | presmoother () |
| virtual PreconditionerBase< LAI > const * | postsmoother () const override |
| PreconditionerBase< LAI > * | postsmoother () |
| multiscale::DofManager & | dofManager () |
| multiscale::DofManager const & | dofManager () const |
| virtual void | compute (Matrix const &fineMatrix) override |
| Compute the current level. More... | |
| virtual bool | updateProlongation (Matrix const &fineMatrix)=0 |
| Update current level's prolongation using a new previous level matrix. More... | |
Public Member Functions inherited from geos::multiscale::LevelBuilderBase< LAI > | |
| LevelBuilderBase (string name, LinearSolverParameters params) | |
| Constructor. More... | |
| virtual | ~LevelBuilderBase ()=default |
| Destructor. | |
| virtual void | initializeFineLevel (DomainPartition &domain, geos::DofManager const &dofManager, MPI_Comm const &comm)=0 |
| Initialize the finest level (level 0). More... | |
| virtual void | initializeCoarseLevel (LevelBuilderBase< LAI > &fineLevel, Matrix const &fineMatrix)=0 |
| Initialize a coarse level (levels 1 and above). More... | |
| virtual std::unique_ptr< PreconditionerBase< LAI > > | makeCoarseSolver () const =0 |
| Instantiate coarsest level solver. More... | |
Protected Attributes | |
| MsrsbLevelBuilderBase const * | m_fineLevel {} |
| Pointer to the fine level. | |
| Matrix | m_prolongation |
| Prolongation matrix P. | |
| std::unique_ptr< Operator > | m_restriction |
| Restriction (kept as abstract operator to allow for memory efficiency, e.g. when R = P^T) | |
| Matrix | m_matrix |
| Level operator matrix. | |
| multiscale::DofManager | m_dofManager |
| DofManager for the matrix. | |
| std::unique_ptr< PreconditionerBase< LAI > > | m_preSmoother |
| Pre-smoothing operator. | |
| std::unique_ptr< PreconditionerBase< LAI > > | m_postSmoother |
| Post-smoothing operator. | |
| LinearSolverParameters | m_params |
| Linear solver top-level parameters. | |
| string | m_name |
| Level name (label) | |
Protected Attributes inherited from geos::multiscale::LevelBuilderBase< LAI > | |
| string | m_name |
| Level name (label) | |
| LinearSolverParameters | m_params |
| Linear solver top-level parameters. | |
Additional Inherited Members | |
Static Public Member Functions inherited from geos::multiscale::LevelBuilderBase< LAI > | |
| static std::unique_ptr< LevelBuilderBase< LAI > > | create (string name, LinearSolverParameters params) |
| Factory interface to create level instances. More... | |
Base class for MsRSB level builders.
| LAI | linear algebra interface type |
Definition at line 37 of file MsrsbLevelBuilderBase.hpp.
|
explicit |
Constructor.
| name | level name |
| params | linear solver parameters |
|
overridevirtual |
Compute the current level.
| fineMatrix | the previous (fine) level system matrix |
Implements geos::multiscale::LevelBuilderBase< LAI >.
|
inline |
Definition at line 104 of file MsrsbLevelBuilderBase.hpp.
|
inline |
Definition at line 109 of file MsrsbLevelBuilderBase.hpp.
|
inlineoverridevirtual |
Implements geos::multiscale::LevelBuilderBase< LAI >.
Definition at line 70 of file MsrsbLevelBuilderBase.hpp.
|
inline |
Definition at line 96 of file MsrsbLevelBuilderBase.hpp.
|
inlineoverridevirtual |
Implements geos::multiscale::LevelBuilderBase< LAI >.
Definition at line 88 of file MsrsbLevelBuilderBase.hpp.
|
inline |
Definition at line 83 of file MsrsbLevelBuilderBase.hpp.
|
inlineoverridevirtual |
Implements geos::multiscale::LevelBuilderBase< LAI >.
Definition at line 75 of file MsrsbLevelBuilderBase.hpp.
|
inlineoverridevirtual |
Implements geos::multiscale::LevelBuilderBase< LAI >.
Definition at line 60 of file MsrsbLevelBuilderBase.hpp.
|
inlineoverridevirtual |
Implements geos::multiscale::LevelBuilderBase< LAI >.
Definition at line 65 of file MsrsbLevelBuilderBase.hpp.
|
pure virtual |
Update current level's prolongation using a new previous level matrix.
| fineMatrix | the previous level matrix |
Implemented in geos::multiscale::MsrsbLevelBuilderCoupled< LAI >, and geos::multiscale::MsrsbLevelBuilder< LAI >.