LCOV - code coverage report
Current view: top level - src/kernels - PINSFEFluidPressureTimeDerivative.C (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: 9fc4b0 Lines: 27 28 96.4 %
Date: 2025-08-14 10:14:56 Functions: 5 5 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 "PINSFEFluidPressureTimeDerivative.h"
      11             : 
      12             : registerMooseObject("NavierStokesApp", PINSFEFluidPressureTimeDerivative);
      13             : registerMooseObjectRenamed("NavierStokesApp",
      14             :                            PMFluidPressureTimeDerivative,
      15             :                            "02/01/2024 00:00",
      16             :                            PINSFEFluidPressureTimeDerivative);
      17             : 
      18             : InputParameters
      19         246 : PINSFEFluidPressureTimeDerivative::validParams()
      20             : {
      21         246 :   InputParameters params = TimeKernel::validParams();
      22         246 :   params.addClassDescription(
      23             :       "Adds the transient term of the porous-media mass conservation equation");
      24         492 :   params.addRequiredCoupledVar("temperature", "coupled temperature");
      25         492 :   params.addRequiredCoupledVar("porosity", "porosity");
      26         492 :   params.addRequiredParam<UserObjectName>("eos", "The name of equation of state object to use.");
      27             : 
      28         246 :   return params;
      29           0 : }
      30             : 
      31         132 : PINSFEFluidPressureTimeDerivative::PINSFEFluidPressureTimeDerivative(
      32         132 :     const InputParameters & parameters)
      33             :   : TimeKernel(parameters),
      34         132 :     _temperature(coupledValue("temperature")),
      35         132 :     _temperature_dot(coupledDot("temperature")),
      36         132 :     _d_temperaturedot_du(coupledDotDu("temperature")),
      37         132 :     _temperature_var_number(coupled("temperature")),
      38         132 :     _porosity(coupledValue("porosity")),
      39         264 :     _eos(getUserObject<SinglePhaseFluidProperties>("eos"))
      40             : {
      41         132 : }
      42             : 
      43             : Real
      44    59166720 : PINSFEFluidPressureTimeDerivative::computeQpResidual()
      45             : {
      46             :   Real rho, drho_dp, drho_dT;
      47    59166720 :   _eos.rho_from_p_T(_u[_qp], _temperature[_qp], rho, drho_dp, drho_dT);
      48    59166720 :   return _porosity[_qp] * (drho_dT * _temperature_dot[_qp] + drho_dp * _u_dot[_qp]) *
      49    59166720 :          _test[_i][_qp];
      50             : }
      51             : 
      52             : Real
      53     6423040 : PINSFEFluidPressureTimeDerivative::computeQpJacobian()
      54             : {
      55             :   Real rho, drho_dp, drho_dT;
      56     6423040 :   _eos.rho_from_p_T(_u[_qp], _temperature[_qp], rho, drho_dp, drho_dT);
      57     6423040 :   return _porosity[_qp] * drho_dp * _du_dot_du[_qp] * _phi[_j][_qp] * _test[_i][_qp];
      58             : }
      59             : 
      60             : Real
      61    15360000 : PINSFEFluidPressureTimeDerivative::computeQpOffDiagJacobian(unsigned int jvar)
      62             : {
      63    15360000 :   if (jvar == _temperature_var_number)
      64             :   {
      65             :     Real rho, drho_dp, drho_dT;
      66     2513920 :     _eos.rho_from_p_T(_u[_qp], _temperature[_qp], rho, drho_dp, drho_dT);
      67     2513920 :     return _porosity[_qp] * drho_dT * _d_temperaturedot_du[_qp] * _phi[_j][_qp] * _test[_i][_qp];
      68             :   }
      69             :   else
      70             :     return 0;
      71             : }

Generated by: LCOV version 1.14