www.mooseframework.org
NSEnergyInviscidUnspecifiedBC.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 includes
11 #include "NS.h"
13 
15 
16 template <>
17 InputParameters
19 {
20  InputParameters params = validParams<NSEnergyInviscidBC>();
21  params.addRequiredCoupledVar(NS::pressure, "pressure");
22  return params;
23 }
24 
26  : NSEnergyInviscidBC(parameters), _pressure(coupledValue(NS::pressure))
27 {
28 }
29 
30 Real
32 {
33  // Velocity vector object
34  RealVectorValue vel(_u_vel[_qp], _v_vel[_qp], _w_vel[_qp]);
35 
36  // Normal component
37  Real un = vel * _normals[_qp];
38 
39  return qpResidualHelper(_pressure[_qp], un);
40 }
41 
42 Real
44 {
45  return computeJacobianHelper(/*on-diagonal variable is energy=*/4);
46 }
47 
48 Real
50 {
51  if (isNSVariable(jvar))
52  return computeJacobianHelper(mapVarNumber(jvar));
53  else
54  return 0.0;
55 }
56 
57 Real
59 {
60  // Velocity vector object
61  RealVectorValue vel(_u_vel[_qp], _v_vel[_qp], _w_vel[_qp]);
62 
63  // Normal component of velocity
64  Real un = vel * _normals[_qp];
65 
66  // When both u.n and pressure are unspecified, all 3 Jacobian terms apply.
67  // See base class for details.
68  return qpJacobianTermA(var_number, _pressure[_qp]) + qpJacobianTermB(var_number, un) +
69  qpJacobianTermC(var_number, un);
70 }
NSIntegratedBC::mapVarNumber
unsigned mapVarNumber(unsigned var)
Definition: NSIntegratedBC.C:90
NSEnergyInviscidUnspecifiedBC
The inviscid energy BC term with specified pressure.
Definition: NSEnergyInviscidUnspecifiedBC.h:23
NSEnergyInviscidUnspecifiedBC::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned jvar)
Definition: NSEnergyInviscidUnspecifiedBC.C:49
NSIntegratedBC::_w_vel
const VariableValue & _w_vel
Definition: NSIntegratedBC.h:37
NSEnergyInviscidUnspecifiedBC::computeJacobianHelper
Real computeJacobianHelper(unsigned var_number)
Definition: NSEnergyInviscidUnspecifiedBC.C:58
NSEnergyInviscidBC::qpJacobianTermA
Real qpJacobianTermA(unsigned var_number, Real pressure)
Definition: NSEnergyInviscidBC.C:55
NSIntegratedBC::isNSVariable
bool isNSVariable(unsigned var)
Definition: NSIntegratedBC.C:80
validParams< NSEnergyInviscidBC >
InputParameters validParams< NSEnergyInviscidBC >()
Definition: NSEnergyInviscidBC.C:19
NSEnergyInviscidBC
This class corresponds to the inviscid part of the "natural" boundary condition for the energy equati...
Definition: NSEnergyInviscidBC.h:36
NSEnergyInviscidBC::qpJacobianTermB
Real qpJacobianTermB(unsigned var_number, Real un)
Definition: NSEnergyInviscidBC.C:92
NSEnergyInviscidBC::qpResidualHelper
Real qpResidualHelper(Real pressure, Real un)
Definition: NSEnergyInviscidBC.C:37
NS
Definition: NS.h:14
registerMooseObject
registerMooseObject("NavierStokesApp", NSEnergyInviscidUnspecifiedBC)
NSEnergyInviscidBC::qpJacobianTermC
Real qpJacobianTermC(unsigned var_number, Real un)
Definition: NSEnergyInviscidBC.C:122
NSIntegratedBC::_v_vel
const VariableValue & _v_vel
Definition: NSIntegratedBC.h:36
NSEnergyInviscidUnspecifiedBC::computeQpJacobian
virtual Real computeQpJacobian()
Definition: NSEnergyInviscidUnspecifiedBC.C:43
NSEnergyInviscidUnspecifiedBC::NSEnergyInviscidUnspecifiedBC
NSEnergyInviscidUnspecifiedBC(const InputParameters &parameters)
Definition: NSEnergyInviscidUnspecifiedBC.C:25
NSIntegratedBC::_u_vel
const VariableValue & _u_vel
Definition: NSIntegratedBC.h:35
NSEnergyInviscidUnspecifiedBC::_pressure
const VariableValue & _pressure
Definition: NSEnergyInviscidUnspecifiedBC.h:34
NSEnergyInviscidUnspecifiedBC::computeQpResidual
virtual Real computeQpResidual()
Definition: NSEnergyInviscidUnspecifiedBC.C:31
validParams< NSEnergyInviscidUnspecifiedBC >
InputParameters validParams< NSEnergyInviscidUnspecifiedBC >()
Definition: NSEnergyInviscidUnspecifiedBC.C:18
NS.h
NSEnergyInviscidUnspecifiedBC.h
NS::pressure
const std::string pressure
Definition: NS.h:25