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 : #include "CNSFVHLLCMomentumSpecifiedPressureBC.h" 11 : #include "Function.h" 12 : 13 : // Full specialization of the validParams function for this object 14 : registerMooseObject("NavierStokesApp", CNSFVHLLCMomentumSpecifiedPressureBC); 15 : 16 : InputParameters 17 0 : CNSFVHLLCMomentumSpecifiedPressureBC::validParams() 18 : { 19 0 : InputParameters params = CNSFVHLLCMomentumImplicitBC::validParams(); 20 0 : params.addClassDescription("Implements an HLLC boundary condition for the momentum conservation " 21 : "equation in which the pressure is specified."); 22 0 : params.addRequiredParam<FunctionName>("specified_pressure_function", 23 : "Specified pressure function"); 24 0 : return params; 25 0 : } 26 : 27 0 : CNSFVHLLCMomentumSpecifiedPressureBC::CNSFVHLLCMomentumSpecifiedPressureBC( 28 0 : const InputParameters & parameters) 29 : : CNSFVHLLCMomentumImplicitBC(parameters), 30 0 : _pressure_function(getFunction("specified_pressure_function")) 31 : { 32 0 : } 33 : 34 : ADReal 35 0 : CNSFVHLLCMomentumSpecifiedPressureBC::fluxElem() 36 : { 37 0 : return _normal_speed_elem * _rho_elem[_qp] * _vel_elem[_qp](_index) + 38 0 : _normal(_index) * _pressure_elem[_qp]; 39 : } 40 : 41 : ADReal 42 0 : CNSFVHLLCMomentumSpecifiedPressureBC::fluxBoundary() 43 : { 44 0 : return _normal_speed_boundary * _rho_boundary * _vel_boundary(_index) + 45 0 : _normal(_index) * _pressure_function.value(_t, _face_info->faceCentroid()); 46 : }