EnableMultigridLevel< ValueType > Class Template Reference#
|
Reference API
|
#include <ginkgo/core/multigrid/multigrid_level.hpp>
Public Types | |
| using | value_type = ValueType |
Public Types inherited from gko::UseComposition< ValueType > | |
| using | value_type = ValueType |
Public Member Functions | |
| std::shared_ptr< const LinOp > | get_fine_op () const override |
| std::shared_ptr< const LinOp > | get_restrict_op () const override |
| std::shared_ptr< const LinOp > | get_coarse_op () const override |
| std::shared_ptr< const LinOp > | get_prolong_op () const override |
Public Member Functions inherited from gko::UseComposition< ValueType > | |
| std::shared_ptr< Composition< ValueType > > | get_composition () const |
| std::shared_ptr< const LinOp > | get_operator_at (size_type index) const |
Protected Member Functions | |
| void | set_multigrid_level (std::shared_ptr< const LinOp > prolong_op, std::shared_ptr< const LinOp > coarse_op, std::shared_ptr< const LinOp > restrict_op) |
| void | set_fine_op (std::shared_ptr< const LinOp > fine_op) |
| EnableMultigridLevel (std::shared_ptr< const LinOp > fine_op) | |
Protected Member Functions inherited from gko::UseComposition< ValueType > | |
| void | set_composition (LinOp &&... linop) |
Detailed Description
class gko::multigrid::EnableMultigridLevel< ValueType >
The EnableMultigridLevel gives the default implementation of MultigridLevel with composition and provides set_multigrid_level function.
A class inherit from EnableMultigridLevel should use the this->get_compositions()->apply(...) as its own apply, which represents op(b) = prolong(coarse(restrict(b))).
Constructor & Destructor Documentation
◆ EnableMultigridLevel()
|
inlineexplicitprotected |
Creates a EnableMultigridLevel with the given fine operator
- Parameters
-
fine_op The fine operator associated to the multigrid_level
- Note
- the multigrid is generated in the generation not the construction, so the user needs to call
set_multigrid_levelto set the corresponding information after generation.
Member Function Documentation
◆ get_coarse_op()
|
inlineoverridevirtual |
Returns the operator on coarse level.
- Returns
- the operator on coarse level.
Implements gko::multigrid::MultigridLevel.
References gko::UseComposition< ValueType >::get_operator_at().
◆ get_fine_op()
|
inlineoverridevirtual |
Returns the operator on fine level.
- Returns
- the operator on fine level.
Implements gko::multigrid::MultigridLevel.
◆ get_prolong_op()
|
inlineoverridevirtual |
Returns the prolong operator.
- Returns
- the prolong operator.
Implements gko::multigrid::MultigridLevel.
References gko::UseComposition< ValueType >::get_operator_at().
◆ get_restrict_op()
|
inlineoverridevirtual |
Returns the restrict operator.
- Returns
- the restrict operator.
Implements gko::multigrid::MultigridLevel.
References gko::UseComposition< ValueType >::get_operator_at().
◆ set_fine_op()
|
inlineprotected |
Sets the multigrid level fine operator, which is used to update fine operator when the MultigridLevel changes the precision of the operator.
- Parameters
-
fine_op the fine operator
◆ set_multigrid_level()
|
inlineprotected |
Sets the multigrid level information. The stored composition will be prolong_op x coarse_op x restrict_op.
- Parameters
-
prolong_op the prolong operator coarse_op the coarse operator restrict_op the restrict operator
References gko::UseComposition< ValueType >::set_composition().
The documentation for this class was generated from the following file:
- ginkgo/core/multigrid/multigrid_level.hpp
Generated by
Public Types inherited from