www.mooseframework.org
MassFreeBC.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 "MassFreeBC.h"
11 #include "MooseMesh.h"
12 
13 registerMooseObject("NavierStokesApp", MassFreeBC);
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  return params;
24 }
25 
26 MassFreeBC::MassFreeBC(const InputParameters & parameters)
27  : IntegratedBC(parameters),
28  _vel_x(coupledValue("vel_x")),
29  _vel_y(_mesh.dimension() >= 2 ? coupledValue("vel_y") : _zero),
30  _vel_z(_mesh.dimension() >= 3 ? coupledValue("vel_z") : _zero)
31 {
32 }
33 
34 Real
36 {
37  RealVectorValue vel_vec(_vel_x[_qp], _vel_y[_qp], _vel_z[_qp]);
38  return _u[_qp] * vel_vec * _normals[_qp] * _test[_i][_qp];
39 }
MassFreeBC.h
MassFreeBC
Definition: MassFreeBC.h:22
MassFreeBC::_vel_x
const VariableValue & _vel_x
Definition: MassFreeBC.h:30
MassFreeBC::_vel_y
const VariableValue & _vel_y
Definition: MassFreeBC.h:31
registerMooseObject
registerMooseObject("NavierStokesApp", MassFreeBC)
validParams< MassFreeBC >
InputParameters validParams< MassFreeBC >()
Definition: MassFreeBC.C:17
MassFreeBC::computeQpResidual
virtual Real computeQpResidual()
Definition: MassFreeBC.C:35
MassFreeBC::_vel_z
const VariableValue & _vel_z
Definition: MassFreeBC.h:32
MassFreeBC::MassFreeBC
MassFreeBC(const InputParameters &parameters)
Definition: MassFreeBC.C:26