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