https://mooseframework.inl.gov
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 
12 #include "MultiSystemSolveObject.h"
13 
14 class Convergence;
15 
17 {
18 public:
20 
23 
24  static const std::set<std::string> & mooseLineSearches();
25 
30  virtual bool solve() override;
31 
32  virtual void setInnerSolve(SolveObject &) override
33  {
34  mooseError("Cannot set inner solve for FEProblemSolve");
35  }
36 
40  unsigned int numGridSteps() const { return _num_grid_steps; }
41 
42 protected:
49  template <typename T>
50  T getParamFromNonlinearSystemVectorParam(const std::string & param_name,
51  unsigned int index) const;
52 
54  static std::set<std::string> const _moose_line_searches;
55 
62  const unsigned int _num_grid_steps;
63 
68 };
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...
const unsigned int _num_grid_steps
The number of steps to perform in a grid sequencing algorithm.
Convergence * _multi_sys_fp_convergence
Convergence object to assess the convergence of the multi-system fixed point iteration.
Base class for convergence criteria.
Definition: Convergence.h:21
static InputParameters feProblemDefaultConvergenceParams()
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()
T getParamFromNonlinearSystemVectorParam(const std::string &param_name, unsigned int index) const
Helper routine to get the nonlinear system parameter at the right index.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const bool _using_multi_sys_fp_iterations
Whether we are using fixed point iterations for multi-system.
static const std::set< std::string > & mooseLineSearches()
A solve object for use when wanting to solve multiple systems.