https://mooseframework.inl.gov
FEProblem.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 "FEProblemBase.h"
13 
14 class NonlinearSystem;
15 
20 class FEProblem : public FEProblemBase
21 {
22 public:
24 
26 
27  virtual bool getUseNonlinear() const { return _use_nonlinear; }
28  virtual void setUseNonlinear(bool use_nonlinear) { _use_nonlinear = use_nonlinear; }
29 
31 
32  virtual NonlinearSystem & getNonlinearSystem(const unsigned int nl_sys_num) override;
33 
34  virtual void addLineSearch(const InputParameters & parameters) override;
35  virtual void init() override;
36 
37 protected:
39  std::vector<std::shared_ptr<NonlinearSystem>> _nl_sys;
40 
41 private:
42  using FEProblemBase::_nl;
43 };
44 
46 
47 inline NonlinearSystem &
48 FEProblem::getNonlinearSystem(const unsigned int nl_sys_num)
49 {
50  return *_nl_sys[nl_sys_num];
51 }
std::vector< std::shared_ptr< NonlinearSystem > > _nl_sys
Definition: FEProblem.h:39
bool _use_nonlinear
Definition: FEProblem.h:38
virtual void setInputParametersFEProblem(InputParameters &parameters) override
Definition: FEProblem.C:120
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Definition: FEProblem.h:20
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual void setUseNonlinear(bool use_nonlinear)
Definition: FEProblem.h:28
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual void init() override
Definition: FEProblem.C:86
FEProblem(const InputParameters &parameters)
Definition: FEProblem.C:35
std::vector< std::shared_ptr< NonlinearSystemBase > > _nl
The nonlinear systems.
static InputParameters validParams()
Definition: FEProblem.C:26
virtual void addLineSearch(const InputParameters &parameters) override
add a MOOSE line search
Definition: FEProblem.C:129
virtual bool getUseNonlinear() const
Definition: FEProblem.h:27
Nonlinear system to be solved.
const InputParameters & parameters() const
Get the parameters of the object.
virtual NonlinearSystem & getNonlinearSystem(const unsigned int nl_sys_num) override
Definition: FEProblem.h:48