www.mooseframework.org
NSMomentumInviscidBC.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "NSIntegratedBC.h"
13 #include "NSPressureDerivs.h"
14 
15 // Forward Declarations
16 
56 {
57 public:
59 
61 
62 protected:
63  // Which spatial component of the momentum equations (0,1, or 2) is this
64  // kernel applied in?
65  const unsigned _component;
66 
67  // An object for computing pressure derivatives.
68  // Constructed via a reference to ourself
70 
71  // Declare ourselves friend to the helper class.
72  template <class U>
73  friend class NSPressureDerivs;
74 
75  // These functions can be mix-n-matched by derived classes to implement
76  // any of the following boundary conditions:
77  // .) Fully unspecified (both (rho*u)(u.n) and p computed implicitly, is this valid?)
78  // .) Specified pressure/unspecified (rho*u)(u.n)
79  // .) Unspecified pressure/specified (rho*u)(u.n)
80  // .) Fully specified (both pressure and (rho*u)(u.n) given, this may not be physically
81  // meaningful?)
82 
83  // Depending on the passed-in value, will compute the residual for either a specified
84  // pressure value or the residual at the current value of the pressure.
86 
87  // If the pressure is fixed, the Jacobian of the pressure term is zero, otherwise
88  // we return the Jacobian value for the passed-in variable number.
89  Real pressureQpJacobianHelper(unsigned var_number);
90 
91  // Depending on the passed-in vector, will compute the residual for either a specified
92  // value of (rho*u)(u.n) or the residual at the current value of (rho*u)(u.n).
93  // The passed-in value is the _component'th entry of the (rho*u)(u.n) vector.
94  Real convectiveQpResidualHelper(Real rhou_udotn);
95 
96  // If the value of (rho*u)(u.n) is fixed, the Jacobian of the
97  // convective term is zero, otherwise we return the correct value
98  // based on the passed-in variable number.
99  Real convectiveQpJacobianHelper(unsigned var_number);
100 };
This class corresponds to the inviscid part of the "natural" boundary condition for the momentum equa...
This class couples together all the variables for the compressible Navier-Stokes equations to allow t...
Real convectiveQpResidualHelper(Real rhou_udotn)
Real convectiveQpJacobianHelper(unsigned var_number)
NSMomentumInviscidBC(const InputParameters &parameters)
Real pressureQpJacobianHelper(unsigned var_number)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
Real pressureQpResidualHelper(Real pressure)
const InputParameters & parameters() const
NSPressureDerivs< NSMomentumInviscidBC > _pressure_derivs
static InputParameters validParams()