www.mooseframework.org
NSEnergyInviscidSpecifiedDensityAndVelocityBC.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 // This was experimental code and did not really work out, do not use!
13 #include "NS.h"
14 
16 
19 {
21 
22  // Coupled variables
23  params.addRequiredCoupledVar(NS::pressure, "pressure");
24 
25  // Required parameters
26  params.addRequiredParam<Real>("specified_density", "The specified density for this boundary");
27  params.addRequiredParam<Real>("specified_u",
28  "The x-component of the specified velocity for this boundary");
29  params.addRequiredParam<Real>("specified_v",
30  "The y-component of the specified velocity for this boundary");
31  params.addParam<Real>(
32  "specified_w",
33  0.0,
34  "The z-component of the specified velocity for this boundary"); // only required in 3D
35 
36  return params;
37 }
38 
40  const InputParameters & parameters)
41  : NSEnergyInviscidBC(parameters),
42  _pressure(coupledValue(NS::pressure)),
43  _specified_density(getParam<Real>("specified_density")),
44  _specified_u(getParam<Real>("specified_u")),
45  _specified_v(getParam<Real>("specified_v")),
46  _specified_w(getParam<Real>("specified_w"))
47 {
48 }
49 
50 Real
52 {
55  _pressure[_qp]);
56 }
57 
58 Real
60 {
61  // TODO
62  // return computeJacobianHelper(/*on-diagonal variable is energy=*/4);
63  return 0.;
64 }
65 
66 Real
68 {
69  // TODO
70  // return computeJacobianHelper(mapVarNumber(jvar));
71  return 0.;
72 }
The inviscid energy BC term with specified density and velocity components.
static InputParameters validParams()
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)
unsigned int _qp
registerMooseObject("NavierStokesApp", NSEnergyInviscidSpecifiedDensityAndVelocityBC)
Real qpResidualHelper(Real pressure, Real un)
This class corresponds to the inviscid part of the "natural" boundary condition for the energy equati...
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56