https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMPetscNonlinearSolver.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#ifdef MOOSE_MFEM_ENABLED
11
12#pragma once
13
15
16#ifdef MFEM_USE_PETSC
17
22{
23public:
25
27
28 void ConstructSolver() override;
29
30 void SetLinearSolver(mfem::Solver & solver) override;
31 bool RequiresGradient() const override { return true; }
32 bool RequiresExternalLinearSolver() const override { return false; }
33};
34
35#endif
36
37#endif
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
MooseObject wrapper for mfem::PetscNonlinearSolver-backed nonlinear solves.
void SetLinearSolver(mfem::Solver &solver) override
Configure the linear solver used inside the nonlinear solve.
bool RequiresGradient() const override
Return whether this nonlinear solver requires Jacobian/gradient information from the operator.
void ConstructSolver() override
Override in derived classes to construct and set the solver options.
bool RequiresExternalLinearSolver() const override
Return whether this nonlinear solver requires an externally configured MFEM linear solver.
static InputParameters validParams()
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
MooseObject base for nonlinear MFEM solve strategies configured in the input file.