https://mooseframework.inl.gov
INSFEFluidWallMomentumBC.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 
13 registerMooseObjectRenamed("NavierStokesApp",
14  FluidWallMomentumBC,
15  "02/01/2024 00:00",
17 
20 {
22  params.addClassDescription("Implicitly sets normal component of velocity to zero if the "
23  "advection term of the momentum equation is integrated by parts");
24  params.addRequiredParam<unsigned>("component", "the velocity component");
25  return params;
26 }
27 
29  : INSFEFluidIntegratedBCBase(parameters),
30  _mu(getMaterialProperty<Real>("dynamic_viscosity")),
31  _mu_t(getMaterialProperty<Real>("turbulence_viscosity")),
32  _component(getParam<unsigned>("component"))
33 {
34 }
35 
36 Real
38 {
40  Real tau_w = (porosity > 0.99)
42  : 0;
43 
44  return (porosity * _pressure[_qp] * _normals[_qp](_component) + tau_w) * _test[_i][_qp];
45 }
46 
47 Real
49 {
51  Real jac = (porosity > 0.99) ? -(_mu[_qp] + _mu_t[_qp]) * _grad_phi[_j][_qp](_component) *
53  : 0;
54 
55  return jac;
56 }
57 
58 Real
60 {
61  if (jvar == _pressure_var_number)
62  {
64  return porosity * _phi[_j][_qp] * _normals[_qp](_component) * _test[_i][_qp];
65  }
66  else
67  return 0.0;
68 }
const VariableTestValue & _test
unsigned int _j
const MooseArray< Point > & _normals
virtual Real computeQpResidual() override
registerMooseObjectRenamed("NavierStokesApp", FluidWallMomentumBC, "02/01/2024 00:00", INSFEFluidWallMomentumBC)
const VariableGradient & _grad_u
registerMooseObject("NavierStokesApp", INSFEFluidWallMomentumBC)
unsigned int _i
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const VariablePhiValue & _phi
void addRequiredParam(const std::string &name, const std::string &doc_string)
unsigned int _qp
const MaterialProperty< Real > & _mu
const VariablePhiGradient & _grad_phi
static InputParameters validParams()
This class couples together all the variables for the 3D fluid equations to allow them to be used in ...
static const std::string porosity
Definition: NS.h:104
static InputParameters validParams()
INSFEFluidWallMomentumBC(const InputParameters &parameters)
Implicitly sets normal component of velocity to zero if the advection term of the momentum equation i...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MaterialProperty< Real > & _mu_t
void addClassDescription(const std::string &doc_string)
virtual Real computeQpJacobian() override