LCOV - code coverage report
Current view: top level - src/kernels - PINSFEFluidTemperatureTimeDerivative.C (source / functions) Hit Total Coverage
Test: idaholab/moose navier_stokes: 9fc4b0 Lines: 32 33 97.0 %
Date: 2025-08-14 10:14:56 Functions: 4 4 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 "PINSFEFluidTemperatureTimeDerivative.h"
      11             : 
      12             : registerMooseObject("NavierStokesApp", PINSFEFluidTemperatureTimeDerivative);
      13             : registerMooseObjectRenamed("NavierStokesApp",
      14             :                            PMFluidTemperatureTimeDerivative,
      15             :                            "02/01/2024 00:00",
      16             :                            PINSFEFluidTemperatureTimeDerivative);
      17             : 
      18             : InputParameters
      19         123 : PINSFEFluidTemperatureTimeDerivative::validParams()
      20             : {
      21         123 :   InputParameters params = TimeDerivative::validParams();
      22         246 :   params.addParam<bool>("conservative_form", false, "if conservative form is used");
      23         246 :   params.addRequiredCoupledVar("pressure", "coupled pressure");
      24         246 :   params.addRequiredCoupledVar("porosity", "porosity");
      25         246 :   params.addRequiredParam<UserObjectName>("eos", "The name of equation of state object to use.");
      26         123 :   params.addClassDescription(
      27             :       "Adds the transient term of the porous media energy conservation equation");
      28             : 
      29         123 :   return params;
      30           0 : }
      31             : 
      32          66 : PINSFEFluidTemperatureTimeDerivative::PINSFEFluidTemperatureTimeDerivative(
      33          66 :     const InputParameters & parameters)
      34             :   : TimeDerivative(parameters),
      35          66 :     _conservative_form(getParam<bool>("conservative_form")),
      36          66 :     _pressure(coupledValue("pressure")),
      37          66 :     _pressure_dot(coupledDot("pressure")),
      38          66 :     _porosity(coupledValue("porosity")),
      39         132 :     _rho(getMaterialProperty<Real>("rho_fluid")),
      40         132 :     _cp(getMaterialProperty<Real>("cp_fluid")),
      41         132 :     _eos(getUserObject<SinglePhaseFluidProperties>("eos"))
      42             : {
      43          66 : }
      44             : 
      45             : Real
      46    29772160 : PINSFEFluidTemperatureTimeDerivative::computeQpResidual()
      47             : {
      48    29772160 :   Real res = _porosity[_qp] * _rho[_qp] * _cp[_qp] * _u_dot[_qp] * _test[_i][_qp];
      49    29772160 :   if (_conservative_form)
      50             :   {
      51             :     Real rho, drho_dp, drho_dT;
      52    23072000 :     _eos.rho_from_p_T(_pressure[_qp], _u[_qp], rho, drho_dp, drho_dT);
      53    23072000 :     Real drho_dt = drho_dT * _u_dot[_qp] + drho_dp * _pressure_dot[_qp];
      54    23072000 :     res += _porosity[_qp] * _cp[_qp] * _u[_qp] * drho_dt * _test[_i][_qp];
      55             :   }
      56             : 
      57    29772160 :   return res;
      58             : }
      59             : 
      60             : Real
      61     2513920 : PINSFEFluidTemperatureTimeDerivative::computeQpJacobian()
      62             : {
      63     2513920 :   Real jac = _porosity[_qp] * _rho[_qp] * _cp[_qp] * TimeDerivative::computeQpJacobian();
      64     2513920 :   if (_conservative_form)
      65             :   {
      66             :     Real rho, drho_dp, drho_dT;
      67      486400 :     _eos.rho_from_p_T(_pressure[_qp], _u[_qp], rho, drho_dp, drho_dT);
      68      486400 :     Real drho_dt = drho_dT * _u_dot[_qp] + drho_dp * _pressure_dot[_qp];
      69      486400 :     jac += _porosity[_qp] * _cp[_qp] * _phi[_j][_qp] * drho_dt * _test[_i][_qp];
      70             :   }
      71             : 
      72     2513920 :   return jac;
      73             : }

Generated by: LCOV version 1.14