www.mooseframework.org
LStableDirk3.h
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 #ifndef LSTABLEDIRK3_H
16 #define LSTABLEDIRK3_H
17 
18 #include "TimeIntegrator.h"
19 
20 class LStableDirk3;
21 
22 template <>
24 
52 {
53 public:
55  virtual ~LStableDirk3();
56 
57  virtual int order() { return 3; }
58  virtual void computeTimeDerivatives();
59  virtual void solve();
60  virtual void postStep(NumericVector<Number> & residual);
61 
62 protected:
63  // Indicates the current stage.
64  unsigned int _stage;
65 
66  // Store pointers to the various stage residuals
67  NumericVector<Number> * _stage_residuals[3];
68 
69  // The parameter of the method, set at construction time and cannot be changed.
70  const Real _gamma; // 0.4358665215084589
71 
72  // Butcher tableau "C" parameters derived from _gamma
73  // 0.4358665215084589, 0.7179332607542295, 1.0000000000000000
74  Real _c[3];
75 
76  // Butcher tableau "A" values derived from _gamma. We only use the
77  // lower triangle of this.
78  // 0.4358665215084589
79  // 0.2820667392457705, 0.4358665215084589
80  // 1.2084966491760099, -0.6443631706844688, 0.4358665215084589
81  Real _a[3][3];
82 };
83 
84 #endif /* LSTABLEDIRK3_H */
virtual void solve()
Definition: LStableDirk3.C:71
InputParameters validParams< LStableDirk3 >()
Definition: LStableDirk3.C:22
NumericVector< Number > * _stage_residuals[3]
Definition: LStableDirk3.h:67
Third order diagonally implicit Runge Kutta method (Dirk) with three stages.
Definition: LStableDirk3.h:51
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Real _a[3][3]
Definition: LStableDirk3.h:81
virtual void computeTimeDerivatives()
Definition: LStableDirk3.C:58
unsigned int _stage
Definition: LStableDirk3.h:64
virtual ~LStableDirk3()
Definition: LStableDirk3.C:55
Base class for time integrators.
virtual void postStep(NumericVector< Number > &residual)
Callback to the TimeIntegrator called immediately after the residuals are computed in NonlinearSystem...
Definition: LStableDirk3.C:99
const Real _gamma
Definition: LStableDirk3.h:70
LStableDirk3(const InputParameters &parameters)
Definition: LStableDirk3.C:28
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
virtual int order()
Definition: LStableDirk3.h:57
Real _c[3]
Definition: LStableDirk3.h:74