LCOV - code coverage report
Current view: top level - src/fvkernels - PNSFVMomentumPressureFluxRZ.C (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: #32971 (54bef8) with base c6cf66 Lines: 16 17 94.1 %
Date: 2026-05-29 20:37:52 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          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          19 : PNSFVMomentumPressureFluxRZ::validParams()
      22             : {
      23          19 :   InputParameters params = FVElementalKernel::validParams();
      24          19 :   params += INSFVMomentumResidualObject::validParams();
      25          19 :   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          19 :   params.addParam<MooseFunctorName>(NS::pressure, "Pressure variable");
      29          19 :   params.addParam<MooseFunctorName>(NS::porosity, "Porosity variable");
      30             : 
      31          19 :   return params;
      32           0 : }
      33             : 
      34          10 : PNSFVMomentumPressureFluxRZ::PNSFVMomentumPressureFluxRZ(const InputParameters & params)
      35             :   : FVElementalKernel(params),
      36             :     INSFVMomentumResidualObject(*this),
      37          10 :     _p(getFunctor<ADReal>(NS::pressure)),
      38          10 :     _eps(getFunctor<ADReal>(NS::porosity))
      39             : {
      40          10 : }
      41             : 
      42             : ADReal
      43       16800 : 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       16800 :   auto rz_radial_coord = _subproblem.getAxisymmetricRadialCoord();
      49       16800 :   const auto state = determineState();
      50             : 
      51       16800 :   return -_eps(makeElemArg(_current_elem), state) * _p(makeElemArg(_current_elem), state) /
      52       16800 :          _q_point[_qp](rz_radial_coord);
      53             : }

Generated by: LCOV version 1.14