| 
    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 >.