Line data Source code
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 : 10 : #pragma once 11 : 12 : #include "NodalNormalBC.h" 13 : 14 : /** 15 : * Boundary condition that applies free slip condition at nodes 16 : */ 17 : class MomentumFreeSlipBC : public NodalNormalBC 18 : { 19 : public: 20 : static InputParameters validParams(); 21 : 22 : MomentumFreeSlipBC(const InputParameters & parameters); 23 : virtual ~MomentumFreeSlipBC(); 24 : 25 : virtual bool shouldApply() const override; 26 : virtual void computeResidual() override; 27 : 28 : protected: 29 0 : Real computeQpResidual() override { mooseError("Function unused"); } 30 : 31 : /// The dimension of the mesh 32 : const unsigned int _mesh_dimension; 33 : 34 : /// Momentum in x-direction 35 : const VariableValue & _rho_u; 36 : /// Momentum in y-direction 37 : const VariableValue & _rho_v; 38 : /// Momentum in z-direction 39 : const VariableValue & _rho_w; 40 : 41 : /// x-velocity variable 42 : const MooseVariable * const _rho_u_var; 43 : /// y-velocity variable 44 : const MooseVariable * const _rho_v_var; 45 : /// z-velocity variable 46 : const MooseVariable * const _rho_w_var; 47 : };