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 "PNSFVMomentumPressureFluxRZ.h" 11 : 12 : #include "NS.h" 13 : 14 : registerMooseObject("NavierStokesApp", PNSFVMomentumPressureFluxRZ); 15 : registerMooseObjectRenamed("NavierStokesApp", 16 : PNSFVMomentumPressureRZ, 17 : "05/01/2022 00:01", 18 : PNSFVMomentumPressureFluxRZ); 19 : 20 : InputParameters 21 41 : PNSFVMomentumPressureFluxRZ::validParams() 22 : { 23 41 : InputParameters params = FVElementalKernel::validParams(); 24 41 : params += INSFVMomentumResidualObject::validParams(); 25 41 : params.addClassDescription( 26 : "Adds the porous $-p/r$ term into the radial component of the Navier-Stokes " 27 : "momentum equation for the problems in the RZ coordinate system when integrating by parts."); 28 41 : params.addParam<MooseFunctorName>(NS::pressure, "Pressure variable"); 29 41 : params.addParam<MooseFunctorName>(NS::porosity, "Porosity variable"); 30 : 31 41 : return params; 32 0 : } 33 : 34 22 : PNSFVMomentumPressureFluxRZ::PNSFVMomentumPressureFluxRZ(const InputParameters & params) 35 : : FVElementalKernel(params), 36 : INSFVMomentumResidualObject(*this), 37 22 : _p(getFunctor<ADReal>(NS::pressure)), 38 22 : _eps(getFunctor<ADReal>(NS::porosity)) 39 : { 40 22 : } 41 : 42 : ADReal 43 25200 : PNSFVMomentumPressureFluxRZ::computeQpResidual() 44 : { 45 : mooseAssert(_subproblem.getCoordSystem(_current_elem->subdomain_id()) == Moose::COORD_RZ, 46 : "This object should only be active in an RZ coordinate system."); 47 : 48 25200 : auto rz_radial_coord = _subproblem.getAxisymmetricRadialCoord(); 49 25200 : const auto state = determineState(); 50 : 51 25200 : return -_eps(makeElemArg(_current_elem), state) * _p(makeElemArg(_current_elem), state) / 52 25200 : _q_point[_qp](rz_radial_coord); 53 : }