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: