https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FEProblemSolve.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#pragma once
11
13
14class Convergence;
15
17{
18public:
20
23
24 static const std::set<std::string> & mooseLineSearches();
25
26 virtual void initialSetup() override;
27
32 virtual bool solve() override;
33
34 virtual void setInnerSolve(SolveObject &) override
35 {
36 mooseError("Cannot set inner solve for FEProblemSolve");
37 }
38
42 unsigned int numGridSteps() const { return _num_grid_steps; }
43
44protected:
51 template <typename T>
52 T getParamFromNonlinearSystemVectorParam(const std::string & param_name,
53 unsigned int index) const;
54
56 static std::set<std::string> const _moose_line_searches;
57
64 const unsigned int _num_grid_steps;
65
67 void convergenceSetup();
68};
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Definition MooseError.h:311
Base class for convergence criteria.
Definition Convergence.h:26
Executioners are objects that do the actual work of solving your problem.
Definition Executioner.h:37
static InputParameters feProblemDefaultConvergenceParams()
T getParamFromNonlinearSystemVectorParam(const std::string &param_name, unsigned int index) const
Helper routine to get the nonlinear system parameter at the right index.
static const std::set< std::string > & mooseLineSearches()
void convergenceSetup()
Performs setup related to Convergence objects.
const unsigned int _num_grid_steps
The number of steps to perform in a grid sequencing algorithm.
unsigned int numGridSteps() const
Return the number of grid sequencing steps.
static std::set< std::string > const _moose_line_searches
Moose provided line searches.
virtual void initialSetup() override
Method that should be executed once, before any solve calls.
virtual bool solve() override
Picard solve the FEProblem.
virtual void setInnerSolve(SolveObject &) override
Set the inner solve object wrapped by this object.
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
A solve object for use when wanting to solve multiple systems.