https://mooseframework.inl.gov
PCNSFVImplicitMomentumPressureBC.C
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 
11 #include "NS.h"
12 
14 
17 {
19  params.addClassDescription(
20  "Specifies an implicit pressure at a boundary for the momentum equations.");
21  MooseEnum momentum_component("x=0 y=1 z=2");
23  "momentum_component",
24  momentum_component,
25  "The component of the momentum equation that this kernel applies to.");
26  return params;
27 }
28 
30  : FVFluxBC(params),
31  _pressure(getADMaterialProperty<Real>(NS::pressure)),
32  _eps(getMaterialProperty<Real>(NS::porosity)),
33  _index(getParam<MooseEnum>("momentum_component"))
34 {
35 }
36 
37 ADReal
39 {
40 
41  return _normal(_index) * _eps[_qp] * _pressure[_qp];
42 }
static InputParameters validParams()
registerMooseObject("NavierStokesApp", PCNSFVImplicitMomentumPressureBC)
DualNumber< Real, DNDerivativeType, true > ADReal
void addRequiredParam(const std::string &name, const std::string &doc_string)
const unsigned int _qp
static const std::string porosity
Definition: NS.h:104
PCNSFVImplicitMomentumPressureBC(const InputParameters &params)
Computes an implicit boundary flux for the term where denotes the conservation of momentum componen...
ADRealVectorValue _normal
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
void addClassDescription(const std::string &doc_string)
const ADMaterialProperty< Real > & _pressure