https://mooseframework.inl.gov
NSMomentumInviscidFluxWithGradP.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "NSKernel.h"
13 #include "NSPressureDerivs.h"
14 
15 // ForwardDeclarations
16 
18 {
19 public:
21 
23 
24 protected:
25  virtual Real computeQpResidual();
26  virtual Real computeQpJacobian();
27  virtual Real computeQpOffDiagJacobian(unsigned int jvar);
28 
29  // Coupled gradients
31 
32  // Parameters
33  const unsigned int _component;
34 
35 private:
36  // Computes the Jacobian contribution due to the pressure term,
37  // by summing over the appropriate Hessian row.
38  Real pressureQpJacobianHelper(unsigned var_number);
39 
40  // Single vector to refer to all gradients. We have to store
41  // pointers since you can't have a vector<Foo&>. Initialized in
42  // the ctor.
43  std::vector<const VariableGradient *> _gradU;
44 
45  // An object for computing pressure derivatives.
46  // Constructed via a reference to ourself
48 
49  // Declare ourselves friend to the helper class.
50  template <class U>
51  friend class NSPressureDerivs;
52 };
OutputTools< Real >::VariableGradient VariableGradient
This class couples together all the variables for the compressible Navier-Stokes equations to allow t...
Definition: NSKernel.h:25
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
NSMomentumInviscidFluxWithGradP(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
std::vector< const VariableGradient * > _gradU
NSPressureDerivs< NSMomentumInviscidFluxWithGradP > _pressure_derivs