www.mooseframework.org
NSEnergyViscousBC.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 NSENERGYVISCOUSBC_H
8 #define NSENERGYVISCOUSBC_H
9 
10 #include "NSIntegratedBC.h"
12 #include "NSTemperatureDerivs.h"
13 
14 // Forward Declarations
15 class NSEnergyViscousBC;
16 
17 template <>
18 InputParameters validParams<NSEnergyViscousBC>();
19 
32 {
33 public:
34  NSEnergyViscousBC(const InputParameters & parameters);
35 
36 protected:
40  virtual Real computeQpResidual();
41  virtual Real computeQpJacobian();
42  virtual Real computeQpOffDiagJacobian(unsigned jvar);
43 
44  // Coupled gradients
45  const VariableGradient & _grad_temperature;
46 
47  // Material properties
48  const MaterialProperty<Real> & _thermal_conductivity;
49 
50  // An object for computing viscous stress tensor derivatives.
51  // Constructed via a reference to ourself so we can access all of our data.
53 
54  // Declare ourselves friend to the helper class.
55  template <class U>
57 
58  // A helper object for computing temperature gradient and Hessians.
59  // Constructed via a reference to ourself so we can access all of our data.
61 
62  // Declare ourselves a friend to the helper class
63  template <class U>
64  friend class NSTemperatureDerivs;
65 
66  // Single vector to refer to all gradients. Initialized in
67  // the ctor.
68  std::vector<const VariableGradient *> _gradU;
69 };
70 
71 #endif // NSENERGYVISCOUSBC_H
This class couples together all the variables for the compressible Navier-Stokes equations to allow t...
virtual Real computeQpOffDiagJacobian(unsigned jvar)
NSTemperatureDerivs< NSEnergyViscousBC > _temp_derivs
virtual Real computeQpJacobian()
const MaterialProperty< Real > & _thermal_conductivity
InputParameters validParams< NSEnergyViscousBC >()
NSViscStressTensorDerivs< NSEnergyViscousBC > _vst_derivs
virtual Real computeQpResidual()
Just like other kernels, we must overload the Residual and Jacobian contributions...
std::vector< const VariableGradient * > _gradU
NSEnergyViscousBC(const InputParameters &parameters)
const VariableGradient & _grad_temperature
This class corresponds to the viscous part of the "natural" boundary condition for the energy equatio...