www.mooseframework.org
MomentumFreeBC.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 #include "MomentumFreeBC.h"
11 #include "MooseMesh.h"
12 
13 registerMooseObject("NavierStokesApp", MomentumFreeBC);
14 
15 template <>
16 InputParameters
18 {
19  InputParameters params = validParams<IntegratedBC>();
20  params.addRequiredCoupledVar("vel_x", "x-component of velocity");
21  params.addCoupledVar("vel_y", "y-component of velocity");
22  params.addCoupledVar("vel_z", "z-component of velocity");
23  params.addRequiredParam<unsigned int>("component", "Component of the momentum equation");
24  params.addRequiredCoupledVar("pressure", "The value of pressure");
25 
26  return params;
27 }
28 
29 MomentumFreeBC::MomentumFreeBC(const InputParameters & parameters)
30  : IntegratedBC(parameters),
31  _component(getParam<unsigned int>("component")),
32  _pressure(coupledValue("pressure")),
33  _vel_x(coupledValue("vel_x")),
34  _vel_y(_mesh.dimension() >= 2 ? coupledValue("vel_y") : _zero),
35  _vel_z(_mesh.dimension() >= 3 ? coupledValue("vel_z") : _zero)
36 {
37 }
38 
39 Real
41 {
42  RealVectorValue vel_vec(_vel_x[_qp], _vel_y[_qp], _vel_z[_qp]);
43  return (_u[_qp] * vel_vec * _normals[_qp] + _pressure[_qp] * _normals[_qp](_component)) *
44  _test[_i][_qp];
45 }
MomentumFreeBC::MomentumFreeBC
MomentumFreeBC(const InputParameters &parameters)
Definition: MomentumFreeBC.C:29
registerMooseObject
registerMooseObject("NavierStokesApp", MomentumFreeBC)
MomentumFreeBC::_vel_z
const VariableValue & _vel_z
Definition: MomentumFreeBC.h:35
MomentumFreeBC::_vel_y
const VariableValue & _vel_y
Definition: MomentumFreeBC.h:34
MomentumFreeBC::computeQpResidual
virtual Real computeQpResidual()
Definition: MomentumFreeBC.C:40
MomentumFreeBC::_component
unsigned int _component
Definition: MomentumFreeBC.h:30
MomentumFreeBC::_pressure
const VariableValue & _pressure
Definition: MomentumFreeBC.h:32
MomentumFreeBC
Definition: MomentumFreeBC.h:22
MomentumFreeBC.h
validParams< MomentumFreeBC >
InputParameters validParams< MomentumFreeBC >()
Definition: MomentumFreeBC.C:17
MomentumFreeBC::_vel_x
const VariableValue & _vel_x
Definition: MomentumFreeBC.h:33