www.mooseframework.org
NSPressureNeumannBC.C
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 // Navier-Stokes inclues
11 #include "NS.h"
12 #include "NSPressureNeumannBC.h"
13 
14 registerMooseObject("NavierStokesApp", NSPressureNeumannBC);
15 
16 template <>
17 InputParameters
19 {
20  InputParameters params = validParams<NSIntegratedBC>();
21 
22  params.addClassDescription("This kernel is appropriate for use with a 'zero normal flow' "
23  "boundary condition in the context of the Euler equations.");
24  params.addRequiredCoupledVar(NS::pressure, "The current value of the pressure");
25  params.addRequiredParam<unsigned>(
26  "component", "(0,1,2) = (x,y,z) for which momentum component this BC is applied to");
27 
28  return params;
29 }
30 
31 NSPressureNeumannBC::NSPressureNeumannBC(const InputParameters & parameters)
32  : NSIntegratedBC(parameters),
33  _pressure(coupledValue(NS::pressure)),
34  _component(getParam<unsigned>("component")),
35  _pressure_derivs(*this)
36 {
37 }
38 
39 Real
41 {
42  return _pressure[_qp] * _normals[_qp](_component) * _test[_i][_qp];
43 }
44 
45 Real
47 {
49  1); // <-- the on-diagonal variable number is _component+1
50 }
51 
52 Real
54 {
55  if (isNSVariable(jvar))
56  return computeJacobianHelper(mapVarNumber(jvar));
57  else
58  return 0.0;
59 }
60 
61 Real
63 {
64  return _normals[_qp](_component) * _pressure_derivs.get_grad(m) * _phi[_j][_qp] * _test[_i][_qp];
65 }
NSPressureNeumannBC
This kernel is appropriate for use with a "zero normal flow" boundary condition in the context of the...
Definition: NSPressureNeumannBC.h:32
NSIntegratedBC::mapVarNumber
unsigned mapVarNumber(unsigned var)
Definition: NSIntegratedBC.C:90
validParams< NSIntegratedBC >
InputParameters validParams< NSIntegratedBC >()
Definition: NSIntegratedBC.C:22
NSPressureNeumannBC::computeJacobianHelper
Real computeJacobianHelper(unsigned m)
Definition: NSPressureNeumannBC.C:62
NSPressureDerivs::get_grad
Real get_grad(unsigned i)
The primary interfaces for computing pressure derivatives.
Definition: NSPressureDerivs.h:49
NSPressureNeumannBC.h
NSPressureNeumannBC::_pressure_derivs
NSPressureDerivs< NSPressureNeumannBC > _pressure_derivs
Definition: NSPressureNeumannBC.h:52
NSIntegratedBC::isNSVariable
bool isNSVariable(unsigned var)
Definition: NSIntegratedBC.C:80
NSPressureNeumannBC::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned jvar)
Definition: NSPressureNeumannBC.C:53
NS
Definition: NS.h:14
NSPressureNeumannBC::computeQpResidual
virtual Real computeQpResidual()
Definition: NSPressureNeumannBC.C:40
registerMooseObject
registerMooseObject("NavierStokesApp", NSPressureNeumannBC)
NSIntegratedBC
This class couples together all the variables for the compressible Navier-Stokes equations to allow t...
Definition: NSIntegratedBC.h:29
NSPressureNeumannBC::_pressure
const VariableValue & _pressure
Definition: NSPressureNeumannBC.h:45
NSPressureNeumannBC::computeQpJacobian
virtual Real computeQpJacobian()
Definition: NSPressureNeumannBC.C:46
NSPressureNeumannBC::NSPressureNeumannBC
NSPressureNeumannBC(const InputParameters &parameters)
Definition: NSPressureNeumannBC.C:31
NS.h
NSPressureNeumannBC::_component
unsigned _component
Definition: NSPressureNeumannBC.h:48
validParams< NSPressureNeumannBC >
InputParameters validParams< NSPressureNeumannBC >()
Definition: NSPressureNeumannBC.C:18
NS::pressure
const std::string pressure
Definition: NS.h:25