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 "PINSFVMomentumGravity.h" 11 : #include "NS.h" 12 : 13 : registerMooseObject("NavierStokesApp", PINSFVMomentumGravity); 14 : 15 : InputParameters 16 1076 : PINSFVMomentumGravity::validParams() 17 : { 18 1076 : InputParameters params = INSFVMomentumGravity::validParams(); 19 1076 : params.addClassDescription("Computes a body force, $eps * \rho * g$ due to gravity on fluid in " 20 : "porous media in Rhie-Chow (incompressible) contexts."); 21 1076 : params.addParam<MooseFunctorName>(NS::porosity, NS::porosity, "Porosity functor"); 22 1076 : return params; 23 0 : } 24 : 25 146 : PINSFVMomentumGravity::PINSFVMomentumGravity(const InputParameters & params) 26 146 : : INSFVMomentumGravity(params), _eps(getFunctor<ADReal>(NS::porosity)) 27 : { 28 146 : } 29 : 30 : ADReal 31 843072 : PINSFVMomentumGravity::computeQpResidual() 32 : { 33 843072 : return _eps(makeElemArg(_current_elem), determineState()) * 34 1686144 : INSFVMomentumGravity::computeQpResidual(); 35 : }