| 
    GEOS
    
   | 
 
MsRSB level builder for single-physics problems. More...
#include <MsrsbLevelBuilder.hpp>

Public Types | |
| using | Base = MsrsbLevelBuilderBase< LAI > | 
| Alias for base type.  | |
| using | Vector = typename Base::Vector | 
| Alias for vector type.  | |
| using | Matrix = typename Base::Matrix | 
| Alias for matrix type.  | |
  Public Types inherited from geos::multiscale::MsrsbLevelBuilderBase< LAI > | |
| 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 | |
| MsrsbLevelBuilder (string name, LinearSolverParameters params) | |
| Constructor.  More... | |
| virtual void | initializeFineLevel (DomainPartition &domain, geos::DofManager const &dofManager, MPI_Comm const &comm) override | 
| Initialize the finest level (level 0).  More... | |
| virtual void | initializeCoarseLevel (LevelBuilderBase< LAI > &fineLevel, Matrix const &fineMatrix) override | 
| Initialize a coarse level (levels 1 and above).  More... | |
| multiscale::MeshLevel & | mesh () | 
| multiscale::MeshLevel const & | mesh () const | 
| multiscale::MeshObjectManager & | manager () | 
| multiscale::MeshObjectManager const & | manager () const | 
| integer | numComp () const | 
| virtual bool | updateProlongation (Matrix const &fineMatrix) override | 
| Update current level's prolongation using a new previous level matrix.  More... | |
| virtual std::unique_ptr< PreconditionerBase< LAI > > | makeCoarseSolver () const override | 
| Instantiate coarsest level solver.  More... | |
  Public Member Functions inherited from geos::multiscale::MsrsbLevelBuilderBase< LAI > | |
| 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... | |
  Public Member Functions inherited from geos::multiscale::LevelBuilderBase< LAI > | |
| LevelBuilderBase (string name, LinearSolverParameters params) | |
| Constructor.  More... | |
| virtual | ~LevelBuilderBase ()=default | 
| Destructor.  | |
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... | |
  Protected Attributes inherited from geos::multiscale::MsrsbLevelBuilderBase< LAI > | |
| 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.  | |
MsRSB level builder for single-physics problems.
| LAI | linear algebra interface type | 
Definition at line 37 of file MsrsbLevelBuilder.hpp.
      
  | 
  explicit | 
Constructor.
| name | level name | 
| params | linear solver parameters | 
      
  | 
  overridevirtual | 
Initialize a coarse level (levels 1 and above).
| fineLevel | the previous (fine) level | 
| fineMatrix | the previous (fine) level system matrix | 
Implements geos::multiscale::LevelBuilderBase< LAI >.
      
  | 
  overridevirtual | 
Initialize the finest level (level 0).
| domain | the physical domain object | 
| dofManager | the source DofManager | 
| comm | MPI communicator | 
Implements geos::multiscale::LevelBuilderBase< LAI >.
      
  | 
  overridevirtual | 
Instantiate coarsest level solver.
Implements geos::multiscale::LevelBuilderBase< LAI >.
      
  | 
  inline | 
Definition at line 88 of file MsrsbLevelBuilder.hpp.
      
  | 
  inline | 
Definition at line 96 of file MsrsbLevelBuilder.hpp.
      
  | 
  inline | 
Definition at line 78 of file MsrsbLevelBuilder.hpp.
      
  | 
  inline | 
Definition at line 83 of file MsrsbLevelBuilder.hpp.
      
  | 
  inline | 
Definition at line 104 of file MsrsbLevelBuilder.hpp.
      
  | 
  overridevirtual | 
Update current level's prolongation using a new previous level matrix.
| fineMatrix | the previous level matrix | 
Implements geos::multiscale::MsrsbLevelBuilderBase< LAI >.