https://mooseframework.inl.gov
INSFVVaporRecoilPressureMomentumFluxBC.C
Go to the documentation of this file.
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 
11 #include "NS.h"
12 
14 
17 {
19  params.addClassDescription(
20  "Imparts a surface recoil force on the momentum equation due to liquid phase evaporation");
21  params.addParam<MaterialPropertyName>("rc_pressure", "rc_pressure", "The recoil pressure");
22  return params;
23 }
24 
26  const InputParameters & params)
27  : INSFVFreeSurfaceBC(params), _rc_pressure(getFunctor<ADReal>("rc_pressure"))
28 {
29 }
30 
31 void
33 {
34  _face_info = &fi;
35  _face_type = fi.faceType(std::make_pair(_var.number(), _var.sys().number()));
36  const auto strong_resid =
38  addResidualAndJacobian(strong_resid * (fi.faceArea() * fi.faceCoord()));
39 }
const FaceInfo * _face_info
FaceInfo::VarFaceNeighbors _face_type
registerMooseObject("NavierStokesApp", INSFVVaporRecoilPressureMomentumFluxBC)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
unsigned int number() const
Moose::StateArg determineState() const
const unsigned int _index
index x|y|z
Moose::FaceArg singleSidedFaceArg(const FaceInfo *fi=nullptr, Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
const Moose::Functor< ADReal > & _rc_pressure
The recoil pressure.
MooseVariableFV< Real > & _var
INSFVVaporRecoilPressureMomentumFluxBC(const InputParameters &params)
Real & faceCoord()
DualNumber< Real, DNDerivativeType, true > ADReal
Real faceArea() const
A class that imparts a surface recoil force on the momentum equation due to liquid phase evaporation...
static InputParameters validParams()
const Point & normal() const
unsigned int number() const
void addResidualAndJacobian(const ADReal &residual)
Process into either the system residual or Jacobian.
Definition: INSFVFluxBC.C:57
A parent class for boundary conditions for freely moving surfaces.
void addClassDescription(const std::string &doc_string)
void gatherRCData(const FaceInfo &fi) override
Should be a non-empty implementation if the residual object is a FVFluxKernel and introduces residual...
VarFaceNeighbors faceType(const std::pair< unsigned int, unsigned int > &var_sys) const