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 "INSFVVaporRecoilPressureMomentumFluxBC.h" 11 : #include "NS.h" 12 : 13 : registerMooseObject("NavierStokesApp", INSFVVaporRecoilPressureMomentumFluxBC); 14 : 15 : InputParameters 16 82 : INSFVVaporRecoilPressureMomentumFluxBC::validParams() 17 : { 18 82 : InputParameters params = INSFVFreeSurfaceBC::validParams(); 19 82 : params.addClassDescription( 20 : "Imparts a surface recoil force on the momentum equation due to liquid phase evaporation"); 21 164 : params.addParam<MaterialPropertyName>("rc_pressure", "rc_pressure", "The recoil pressure"); 22 82 : return params; 23 0 : } 24 : 25 44 : INSFVVaporRecoilPressureMomentumFluxBC::INSFVVaporRecoilPressureMomentumFluxBC( 26 44 : const InputParameters & params) 27 88 : : INSFVFreeSurfaceBC(params), _rc_pressure(getFunctor<ADReal>("rc_pressure")) 28 : { 29 44 : } 30 : 31 : void 32 5880 : INSFVVaporRecoilPressureMomentumFluxBC::gatherRCData(const FaceInfo & fi) 33 : { 34 5880 : _face_info = &fi; 35 5880 : _face_type = fi.faceType(std::make_pair(_var.number(), _var.sys().number())); 36 : const auto strong_resid = 37 5880 : fi.normal()(_index) * _rc_pressure(singleSidedFaceArg(), determineState()); 38 11760 : addResidualAndJacobian(strong_resid * (fi.faceArea() * fi.faceCoord())); 39 5880 : }