https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMNewtonNonlinearSolver.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
20{
21public:
23
25
26 void ConstructSolver() override;
27
28 void SetLinearSolver(mfem::Solver & solver) override;
29 bool RequiresGradient() const override { return true; }
30 bool RequiresExternalLinearSolver() const override { return true; }
31};
32
33#endif
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
MooseObject wrapper for mfem::NewtonSolver-backed nonlinear solves.
void ConstructSolver() override
Override in derived classes to construct and set the solver options.
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.
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.