This is an object factory for creating preconditioners.
More...
#include <PreconditionerFactory.hpp>
|
| static PrecPtr | create (const Operator &op, const PropertyTree &prm, const std::function< Vector()> &weightsCalculator={}, std::size_t pressureIndex=std::numeric_limits< std::size_t >::max()) |
| | Create a new serial preconditioner and return a pointer to it.
|
| |
| static PrecPtr | create (const Operator &op, const PropertyTree &prm, const std::function< Vector()> &weightsCalculator, const Comm &comm, std::size_t pressureIndex=std::numeric_limits< std::size_t >::max()) |
| | Create a new parallel preconditioner and return a pointer to it.
|
| |
| static PrecPtr | create (const Operator &op, const PropertyTree &prm, const Comm &comm, std::size_t pressureIndex=std::numeric_limits< std::size_t >::max()) |
| | Create a new parallel preconditioner and return a pointer to it.
|
| |
| static void | addCreator (const std::string &type, Creator creator) |
| | Add a creator for a serial preconditioner to the PreconditionerFactory.
|
| |
| static void | addCreator (const std::string &type, ParCreator creator) |
| | Add a creator for a parallel preconditioner to the PreconditionerFactory.
|
| |
template<
class Operator,
class Comm>
class Opm::PreconditionerFactory< Operator, Comm >
This is an object factory for creating preconditioners.
The user need only interact with the factory through the static methods addStandardPreconditioners() and create(). In addition a user can call the addCreator() static method to add further preconditioners.
◆ addCreator() [1/2]
Add a creator for a serial preconditioner to the PreconditionerFactory.
After the call, the user may obtain a preconditioner by calling create() with the given type string as a parameter contained in the property_tree.
- Parameters
-
| type | the type string we want the PreconditionerFactory to associate with the preconditioner. |
| creator | a function or lambda creating a preconditioner. |
◆ addCreator() [2/2]
Add a creator for a parallel preconditioner to the PreconditionerFactory.
After the call, the user may obtain a preconditioner by calling create() with the given type string as a parameter contained in the property_tree.
- Parameters
-
| type | the type string we want the PreconditionerFactory to associate with the preconditioner. |
| creator | a function or lambda creating a preconditioner. |
◆ create() [1/3]
Create a new parallel preconditioner and return a pointer to it.
- Parameters
-
| op | operator to be preconditioned. |
| prm | parameters for the preconditioner, in particular its type. |
| comm | communication object (typically OwnerOverlapCopyCommunication). |
- Returns
- (smart) pointer to the created preconditioner.
◆ create() [2/3]
Create a new parallel preconditioner and return a pointer to it.
- Parameters
-
| op | operator to be preconditioned. |
| prm | parameters for the preconditioner, in particular its type. |
| comm | communication object (typically OwnerOverlapCopyCommunication). |
| weightsCalculator | Calculator for weights used in CPR. |
- Returns
- (smart) pointer to the created preconditioner.
◆ create() [3/3]
Create a new serial preconditioner and return a pointer to it.
- Parameters
-
| op | operator to be preconditioned. |
| prm | parameters for the preconditioner, in particular its type. |
| weightsCalculator | Calculator for weights used in CPR. |
- Returns
- (smart) pointer to the created preconditioner.
The documentation for this class was generated from the following files: