www.mooseframework.org
NSEnergyThermalFlux.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 NSENERGYTHERMALFLUX_H
8 #define NSENERGYTHERMALFLUX_H
9 
10 #include "NSKernel.h"
11 #include "NSTemperatureDerivs.h"
12 
13 // ForwardDeclarations
15 
16 template <>
17 InputParameters validParams<NSEnergyThermalFlux>();
18 
25 {
26 public:
27  NSEnergyThermalFlux(const InputParameters & parameters);
28 
29 protected:
30  virtual Real computeQpResidual();
31  virtual Real computeQpJacobian();
32  virtual Real computeQpOffDiagJacobian(unsigned int jvar);
33 
34  // Gradients
35  const VariableGradient & _grad_temp;
36 
37  // Material properties
38  const MaterialProperty<Real> & _thermal_conductivity;
39 
40  // A helper object for computing temperature gradient and Hessians.
41  // Constructed via a reference to ourself so we can access all of our data.
43 
44  // Declare ourselves a friend to the helper class
45  template <class U>
46  friend class NSTemperatureDerivs;
47 
48 private:
49  // Computes the Jacobian value (on or off-diagonal) for
50  // var_number, which has been mapped to
51  // 0 = rho
52  // 1 = rho*u
53  // 2 = rho*v
54  // 3 = rho*w
55  // 4 = rho*E
56  Real computeJacobianHelper_value(unsigned var_number);
57 
58  // Single vector to refer to all gradients. We have to store
59  // pointers since you can't have a vector<Foo&>. Initialized in
60  // the ctor.
61  std::vector<const VariableGradient *> _gradU;
62 };
63 
64 #endif // NSENERGYTHERMALFLUX_H
NSEnergyThermalFlux(const InputParameters &parameters)
This class couples together all the variables for the compressible Navier-Stokes equations to allow t...
Definition: NSKernel.h:27
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
InputParameters validParams< NSEnergyThermalFlux >()
virtual Real computeQpResidual()
NSTemperatureDerivs< NSEnergyThermalFlux > _temp_derivs
Real computeJacobianHelper_value(unsigned var_number)
virtual Real computeQpJacobian()
const VariableGradient & _grad_temp
std::vector< const VariableGradient * > _gradU
const MaterialProperty< Real > & _thermal_conductivity
This class is responsible for computing residuals and Jacobian terms for the k * grad(T) * grad(phi) ...