3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
istlsolverregistry.hh File Reference

The specialized Dumux macro and tag for the ISTL registry to choose the solver and preconditioner at runtime. More...

#include <dune/istl/common/registry.hh>

Go to the source code of this file.

Description

The specialized Dumux macro and tag for the ISTL registry to choose the solver and preconditioner at runtime.

Namespaces

namespace  Dumux

Macros

#define DUMUX_REGISTER_PRECONDITIONER(name, tag, ...)
 Register a Dumux preconditioner.

Macro Definition Documentation

◆ DUMUX_REGISTER_PRECONDITIONER

#define DUMUX_REGISTER_PRECONDITIONER ( name,
tag,
... )
Value:
} namespace Dune { \
DUNE_REGISTRY_PUT(tag, name, __VA_ARGS__); \
} namespace Dumux { \
static_assert(true, "Require semicolon after macro call")
Definition common/pdesolver.hh:35

Register a Dumux preconditioner.

Use this macro in namespace Dumux. Example: DUMUX_REGISTER_PRECONDITIONER("mypreconditioner", Dumux::MultiTypeBlockMatrixPreconditionerTag, Dune::defaultPreconditionerBlockLevelCreator<Dumux::MyPreconditioner, 1>()); Expicitly specifying the namespaces is required. Set parameter Preconditioner.Type to "mypreconditioner" to use it through the factory.

In the macro implementation, the final static_assert forces implementers to put a semicolon after every DUMUX_REGISTER_PRECONDITIONER macro call (cf. example) and avoids a compiler warning for an empty line semicolon at the same time