LCOV - code coverage report
Current view: top level - include/components - HeatTransferBase.h (source / functions) Hit Total Coverage
Test: idaholab/moose thermal_hydraulics: #31039 (75bfb3) with base bb0a08 Lines: 0 1 0.0 %
Date: 2025-11-03 14:57:48 Functions: 0 1 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 "ConnectorBase.h"
      13             : 
      14             : class ClosuresBase;
      15             : 
      16             : /**
      17             :  * Base class for heat transfer connections
      18             :  */
      19             : class HeatTransferBase : public ConnectorBase
      20             : {
      21             : public:
      22             :   HeatTransferBase(const InputParameters & parameters);
      23             : 
      24             :   virtual void addVariables() override;
      25             :   virtual void addMooseObjects() override;
      26           0 :   virtual Convergence * getNonlinearConvergence() const override { return nullptr; }
      27             : 
      28             :   /**
      29             :    * Returns heated perimeter name
      30             :    *
      31             :    * @return The name of heated perimeter variable
      32             :    */
      33             :   const VariableName & getHeatedPerimeterName() const;
      34             :   /**
      35             :    * Returns wall temperature name
      36             :    *
      37             :    * @return The name of wall temperature variable
      38             :    */
      39             :   const VariableName & getWallTemperatureName() const;
      40             : 
      41             :   /**
      42             :    * Returns wall temperature name
      43             :    *
      44             :    * @return The name of wall temperature material
      45             :    */
      46             :   const MaterialPropertyName & getWallTemperatureMatName() const;
      47             : 
      48             :   /**
      49             :    * Returns wall heat flux name
      50             :    *
      51             :    * @return The name of wall heat flux material property
      52             :    */
      53             :   const MaterialPropertyName & getWallHeatFluxName() const;
      54             : 
      55             :   /**
      56             :    * Returns whether this heat transfer is specified by temperature, rather than heat flux
      57             :    *
      58             :    * @return true if the heat transfer is specified by temperature, false otherwise
      59             :    */
      60             :   virtual bool isTemperatureType() const = 0;
      61             : 
      62             :   /**
      63             :    * Get the list of the subdomain names associated with the flow channel
      64             :    *
      65             :    * @return List of subdomain names associated with the flow channel
      66             :    */
      67             :   const std::vector<SubdomainName> & getFlowChannelSubdomains() const
      68             :   {
      69             :     return _flow_channel_subdomains;
      70             :   }
      71             : 
      72             :   const UserObjectName & getFluidPropertiesName() const;
      73             : 
      74             :   /**
      75             :    * Get the name of the connected flow channel
      76             :    */
      77             :   const std::string & getFlowChannelName() const { return _flow_channel_name; }
      78             : 
      79             : protected:
      80             :   virtual void init() override;
      81             :   virtual void initSecondary() override;
      82             :   virtual void check() const override;
      83             : 
      84             :   /**
      85             :    * Adds heated perimeter variable and objects
      86             :    */
      87             :   void addHeatedPerimeter();
      88             : 
      89             :   /// name of the connected flow channel
      90             :   const std::string _flow_channel_name;
      91             : 
      92             :   /// flag that heated perimeter is transferred from another application
      93             :   const bool _P_hf_transferred;
      94             :   /// flag that the heated perimeter was specified via an input parameter
      95             :   const bool _P_hf_provided;
      96             : 
      97             :   /// Used closures object(s)
      98             :   std::vector<std::shared_ptr<ClosuresBase>> _closures_objects;
      99             : 
     100             :   /// heated perimeter name
     101             :   VariableName _P_hf_name;
     102             :   /// wall temperature name
     103             :   VariableName _T_wall_name;
     104             :   /// wall temperature material name
     105             :   MaterialPropertyName _T_wall_mat_name;
     106             :   /// wall heat flux name
     107             :   MaterialPropertyName _q_wall_name;
     108             : 
     109             :   /// Subdomains corresponding to the connected flow channel
     110             :   std::vector<SubdomainName> _flow_channel_subdomains;
     111             :   /// flow model type
     112             :   THM::FlowModelID _model_type;
     113             :   /// fluid properties object name
     114             :   UserObjectName _fp_name;
     115             :   /// area function name for the connected flow channel
     116             :   FunctionName _A_fn_name;
     117             :   /// heated perimeter function name
     118             :   FunctionName _P_hf_fn_name;
     119             : 
     120             : public:
     121             :   static InputParameters validParams();
     122             : };

Generated by: LCOV version 1.14