https://mooseframework.inl.gov
Loading...
Searching...
No Matches
NSMomentumInviscidBC.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 "NSIntegratedBC.h"
13#include "NSPressureDerivs.h"
14
15// Forward Declarations
16
56{
57public:
59
61
62protected:
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.
85 Real pressureQpResidualHelper(Real 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};
const InputParameters & parameters() const
This class couples together all the variables for the compressible Navier-Stokes equations to allow t...
This class corresponds to the inviscid part of the "natural" boundary condition for the momentum equa...
Real convectiveQpJacobianHelper(unsigned var_number)
NSPressureDerivs< NSMomentumInviscidBC > _pressure_derivs
Real pressureQpJacobianHelper(unsigned var_number)
static InputParameters validParams()
Real convectiveQpResidualHelper(Real rhou_udotn)
Real pressureQpResidualHelper(Real pressure)
Class outside the Moose hierarchy that contains common functionality for computing derivatives of the...