www.mooseframework.org
FEProblemSolve.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
12 #include "NonlinearSolveObject.h"
13 
15 {
16 public:
18 
20 
21  static const std::set<std::string> & mooseLineSearches();
22 
27  virtual bool solve() override;
28 
29  virtual void setInnerSolve(SolveObject &) override
30  {
31  mooseError("Cannot set inner solve for FEProblemSolve");
32  }
33 
37  unsigned int numGridSteps() const { return _num_grid_steps; }
38 
39 protected:
41  std::vector<std::string> _splitting;
42 
44  static std::set<std::string> const _moose_line_searches;
45 
52  const unsigned int _num_grid_steps;
53 };
virtual void setInnerSolve(SolveObject &) override
Set the inner solve object wrapped by this object.
static std::set< std::string > const _moose_line_searches
Moose provided line searches.
virtual bool solve() override
Picard solve the FEProblem.
FEProblemSolve(Executioner &ex)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::vector< std::string > _splitting
Splitting.
const unsigned int _num_grid_steps
The number of steps to perform in a grid sequencing algorithm.
A solve object for use with a nonlinear system solver.
unsigned int numGridSteps() const
Return the number of grid sequencing steps.
Executioners are objects that do the actual work of solving your problem.
Definition: Executioner.h:30
static InputParameters validParams()
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
static const std::set< std::string > & mooseLineSearches()