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 "PINSFVMomentumPressureFlux.h" 11 : #include "PINSFVSuperficialVelocityVariable.h" 12 : #include "NS.h" 13 : 14 : registerMooseObject("NavierStokesApp", PINSFVMomentumPressureFlux); 15 : 16 : InputParameters 17 322 : PINSFVMomentumPressureFlux::validParams() 18 : { 19 322 : auto params = INSFVMomentumPressureFlux::validParams(); 20 322 : params.addClassDescription("Momentum pressure term eps grad_P, as a flux kernel " 21 : "using the divergence theoreom, in the porous media " 22 : "incompressible Navier-Stokes momentum equation. This kernel " 23 : "is also executed on boundaries."); 24 322 : params.addRequiredParam<MooseFunctorName>(NS::porosity, "Porosity functor"); 25 322 : params.set<bool>("force_boundary_execution") = true; 26 322 : return params; 27 0 : } 28 : 29 164 : PINSFVMomentumPressureFlux::PINSFVMomentumPressureFlux(const InputParameters & params) 30 164 : : INSFVMomentumPressureFlux(params), _eps(getFunctor<ADReal>(NS::porosity)) 31 : { 32 164 : if (!dynamic_cast<PINSFVSuperficialVelocityVariable *>(&_var)) 33 0 : mooseError("PINSFVMomentumPressureFlux may only be used with a superficial velocity, " 34 : "of variable type PINSFVSuperficialVelocityVariable."); 35 164 : }