LCOV - code coverage report
Current view: top level - include/base - FlowModelSinglePhase.h (source / functions) Hit Total Coverage
Test: idaholab/moose thermal_hydraulics: #32971 (54bef8) with base c6cf66 Lines: 1 1 100.0 %
Date: 2026-05-29 20:41:18 Functions: 0 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             : #pragma once
      11             : 
      12             : #include "FlowModel1PhaseBase.h"
      13             : 
      14             : /**
      15             :  * Flow model for a single-component, single-phase fluid using the Euler equations
      16             :  */
      17             : class FlowModelSinglePhase : public FlowModel1PhaseBase
      18             : {
      19             : public:
      20             :   static InputParameters validParams();
      21             : 
      22             :   FlowModelSinglePhase(const InputParameters & params);
      23             : 
      24             :   virtual void addVariables() override;
      25             :   virtual void addInitialConditions() override;
      26             :   virtual void addKernels() override;
      27             : 
      28             :   virtual std::vector<VariableName> solutionVariableNames() const override;
      29             :   const std::vector<VariableName> & passiveTransportSolutionVariableNames() const
      30             :   {
      31        2639 :     return _passives_times_area_names;
      32             :   }
      33             : 
      34             : protected:
      35             :   virtual Real getScalingFactorRhoA() const override;
      36             :   virtual Real getScalingFactorRhoUA() const override;
      37             :   virtual Real getScalingFactorRhoEA() const override;
      38             : 
      39             :   virtual void addRhoEAIC() override;
      40             :   virtual void addDensityIC() override;
      41             : 
      42             :   virtual void addPressureAux() override;
      43             :   virtual void addTemperatureAux() override;
      44             : 
      45             :   virtual void addFluidPropertiesMaterials() override;
      46             : 
      47             :   virtual void addNumericalFluxUserObject() override;
      48             :   virtual void addSlopeReconstructionMaterial() override;
      49             :   virtual void addRDGAdvectionDGKernels() override;
      50             : 
      51             :   /// Adds IC for a passive transport variable
      52             :   void addPassiveTransportIC(const VariableName & var, const FunctionName & ic_fn);
      53             : 
      54             :   /// Scaling factors for each solution variable (rhoA, rhouA, rhoEA)
      55             :   const std::vector<Real> _scaling_factors;
      56             : 
      57             :   /// Names of the passive transport solution variables, if any [amount/m]
      58             :   std::vector<VariableName> _passives_times_area_names;
      59             : 
      60             : public:
      61             :   static const std::string DENSITY;
      62             :   static const std::string FRICTION_FACTOR_DARCY;
      63             :   static const std::string DYNAMIC_VISCOSITY;
      64             :   static const std::string HEAT_TRANSFER_COEFFICIENT_WALL;
      65             :   static const std::string HYDRAULIC_DIAMETER;
      66             :   static const std::string PRESSURE;
      67             :   static const std::string RHOA;
      68             :   static const std::string RHOEA;
      69             :   static const std::string RHOUA;
      70             :   static const std::string SOUND_SPEED;
      71             :   static const std::string SPECIFIC_HEAT_CONSTANT_PRESSURE;
      72             :   static const std::string SPECIFIC_HEAT_CONSTANT_VOLUME;
      73             :   static const std::string SPECIFIC_INTERNAL_ENERGY;
      74             :   static const std::string SPECIFIC_TOTAL_ENTHALPY;
      75             :   static const std::string SPECIFIC_VOLUME;
      76             :   static const std::string TEMPERATURE;
      77             :   static const std::string THERMAL_CONDUCTIVITY;
      78             :   static const std::string VELOCITY;
      79             :   static const std::string VELOCITY_X;
      80             :   static const std::string VELOCITY_Y;
      81             :   static const std::string VELOCITY_Z;
      82             :   static const std::string REYNOLDS_NUMBER;
      83             : };

Generated by: LCOV version 1.14