www.mooseframework.org
TimeIntegrator.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #include "TimeIntegrator.h"
16 #include "FEProblem.h"
17 #include "SystemBase.h"
18 #include "NonlinearSystem.h"
19 
20 template <>
23 {
25  params.registerBase("TimeIntegrator");
26  return params;
27 }
28 
30  : MooseObject(parameters),
31  Restartable(parameters, "TimeIntegrators"),
32  _fe_problem(*parameters.getCheckedPointerParam<FEProblemBase *>("_fe_problem_base")),
33  _sys(*parameters.getCheckedPointerParam<SystemBase *>("_sys")),
34  _nl(_fe_problem.getNonlinearSystemBase()),
35  _u_dot(_sys.solutionUDot()),
36  _du_dot_du(_sys.duDotDu()),
37  _solution(_sys.currentSolution()),
38  _solution_old(_sys.solutionOld()),
39  _solution_older(_sys.solutionOlder()),
40  _t_step(_fe_problem.timeStep()),
41  _dt(_fe_problem.dt()),
42  _dt_old(_fe_problem.dtOld()),
43  _Re_time(_nl.residualVector(Moose::KT_TIME)),
44  _Re_non_time(_nl.residualVector(Moose::KT_NONTIME))
45 {
46 }
47 
49 
50 void
52 {
53  _nl.system().solve();
54 }
NonlinearSystemBase & _nl
virtual void solve()
A class for creating restricted objects.
Definition: Restartable.h:31
InputParameters validParams< TimeIntegrator >()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Base class for a system (of equations)
Definition: SystemBase.h:91
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
virtual ~TimeIntegrator()
void registerBase(const std::string &value)
This method must be called from every base "Moose System" to create linkage with the Action System...
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:36
InputParameters validParams< MooseObject >()
Definition: MooseObject.C:22
virtual System & system() override
Get the reference to the libMesh system.
Definition: Moose.h:84
TimeIntegrator(const InputParameters &parameters)