47 template <
typename Base>
72 virtual std::string
prefix()
const = 0;
95 virtual void setupDM()
override;
96 virtual KSP
getKSP()
override;
101 virtual std::string
prefix()
const override;
FieldSplitPreconditionerTempl(const InputParameters ¶meters)
virtual const libMesh::System & system() const override
NonlinearSystemBase & _nl
The nonlinear system this FSP is associated with (convenience reference)
static InputParameters validParams()
Constructor.
virtual void setupDM() override
setup the data management data structure that manages the field split
virtual const libMesh::DofMapBase & dofMap() const =0
const InputParameters & parameters() const
Get the parameters of the object.
FieldSplitPreconditioner(const InputParameters ¶meters)
PetscErrorCode PetscOptionItems *PetscErrorCode DM dm
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
virtual KSP getKSP() override
Nonlinear system to be solved.
FieldSplitPreconditionerBase()=default
virtual const libMesh::DofMapBase & dofMap() const override
virtual void setupDM()=0
setup the data management data structure that manages the field split
Implements a preconditioner designed to map onto PETSc's PCFieldSplit.
virtual std::string prefix() const override
std::string _decomposition_split
The decomposition split.
void createMooseDM(DM *dm)
creates the MOOSE data management object
Base interface for field split preconditioner.
static InputParameters validParams()
virtual std::string prefix() const =0
virtual const libMesh::System & system() const =0