www.mooseframework.org
INSChorinPredictor.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef INSCHORINPREDICTOR_H
8 #define INSCHORINPREDICTOR_H
9 
10 #include "Kernel.h"
11 
12 // Forward Declarations
13 class INSChorinPredictor;
14 
15 template <>
16 InputParameters validParams<INSChorinPredictor>();
17 
22 class INSChorinPredictor : public Kernel
23 {
24 public:
25  INSChorinPredictor(const InputParameters & parameters);
26 
27  virtual ~INSChorinPredictor() {}
28 
29 protected:
30  virtual Real computeQpResidual();
31  virtual Real computeQpJacobian();
32  virtual Real computeQpOffDiagJacobian(unsigned jvar);
33 
34  // Velocity
35  const VariableValue & _u_vel;
36  const VariableValue & _v_vel;
37  const VariableValue & _w_vel;
38 
39  // Old Velocity
40  const VariableValue & _u_vel_old;
41  const VariableValue & _v_vel_old;
42  const VariableValue & _w_vel_old;
43 
44  // Star Velocity
45  const VariableValue & _u_vel_star;
46  const VariableValue & _v_vel_star;
47  const VariableValue & _w_vel_star;
48 
49  // Velocity Gradients
50  const VariableGradient & _grad_u_vel;
51  const VariableGradient & _grad_v_vel;
52  const VariableGradient & _grad_w_vel;
53 
54  // Old Velocity Gradients
55  const VariableGradient & _grad_u_vel_old;
56  const VariableGradient & _grad_v_vel_old;
57  const VariableGradient & _grad_w_vel_old;
58 
59  // Star Velocity Gradients
60  const VariableGradient & _grad_u_vel_star;
61  const VariableGradient & _grad_v_vel_star;
62  const VariableGradient & _grad_w_vel_star;
63 
64  // Variable numberings
68 
69  // Star velocity numbers
73 
74  // Parameters
75  unsigned _component;
76 
77  // This is the string that's actually read in from file and used to set the
78  // MooseEnum, below. The options are:
79  // OLD - Use velocity from the previous timestep, leads to explicit method
80  // NEW - Use velocity from current timestep, this may not be an actual method
81  // STAR - Use the "star" velocity. According to Donea's book, this is the
82  // right way to get an implicit method...
83  std::string _predictor_type;
84 
85  // An enumeration defining which velocity vector is used on the rhs
86  // of the Chorin predictor.
87  MooseEnum _predictor_enum;
88 
89  // A C++ enumeration corresponding to the predictor enumeration.
91  {
92  OLD = 0,
93  NEW = 1,
94  STAR = 2
95  };
96 
97  // Material properties
98  const MaterialProperty<Real> & _mu;
99  const MaterialProperty<Real> & _rho;
100 };
101 
102 #endif // INSCHORINPREDICTOR_H
const MaterialProperty< Real > & _rho
const VariableValue & _w_vel
virtual Real computeQpJacobian()
const MaterialProperty< Real > & _mu
This class computes the "Chorin" Predictor equation in fully-discrete (both time and space) form...
const VariableValue & _u_vel
const VariableGradient & _grad_u_vel
virtual Real computeQpResidual()
const VariableGradient & _grad_v_vel_old
const VariableValue & _v_vel_old
const VariableValue & _w_vel_old
const VariableValue & _u_vel_old
const VariableValue & _v_vel
InputParameters validParams< INSChorinPredictor >()
const VariableGradient & _grad_u_vel_old
const VariableGradient & _grad_w_vel
const VariableValue & _v_vel_star
const VariableGradient & _grad_v_vel_star
virtual Real computeQpOffDiagJacobian(unsigned jvar)
INSChorinPredictor(const InputParameters &parameters)
const VariableValue & _w_vel_star
std::string _predictor_type
const VariableGradient & _grad_w_vel_old
const VariableGradient & _grad_w_vel_star
const VariableGradient & _grad_u_vel_star
const VariableGradient & _grad_v_vel
const VariableValue & _u_vel_star