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 "FVFluxKernel.h" 13 : #include "INSFVMomentumResidualObject.h" 14 : 15 : /** 16 : * A flux kernel using the divergence theorem for the pressure gradient term in the momentum 17 : * equation 18 : */ 19 : class INSFVMomentumPressureFlux : public FVFluxKernel, public INSFVMomentumResidualObject 20 : { 21 : public: 22 : static InputParameters validParams(); 23 : INSFVMomentumPressureFlux(const InputParameters & params); 24 : 25 : // Pressure term so no RC data involved 26 0 : void gatherRCData(const Elem &) override final {} 27 200333 : void gatherRCData(const FaceInfo &) override final {} 28 : 29 : protected: 30 : virtual ADReal computeQpResidual() override; 31 88200 : virtual const Moose::FunctorBase<ADReal> & epsilon() const { return _unity_functor; } 32 : 33 : /// The pressure 34 : const Moose::Functor<ADReal> & _p; 35 : 36 : /// A unity functor used in the epsilon virtual method 37 : const Moose::ConstantFunctor<ADReal> _unity_functor{1}; 38 : };