https://mooseframework.inl.gov
HeatTransferBase.h
Go to the documentation of this file.
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 
20 {
21 public:
23 
24  virtual void addVariables() override;
25  virtual void addMooseObjects() override;
26 
32  const VariableName & getHeatedPerimeterName() const;
38  const VariableName & getWallTemperatureName() const;
39 
45  const MaterialPropertyName & getWallTemperatureMatName() const;
46 
52  const MaterialPropertyName & getWallHeatFluxName() const;
53 
59  virtual bool isTemperatureType() const = 0;
60 
66  const std::vector<SubdomainName> & getFlowChannelSubdomains() const
67  {
69  }
70 
71  const UserObjectName & getFluidPropertiesName() const;
72 
76  const std::string & getFlowChannelName() const { return _flow_channel_name; }
77 
78 protected:
79  virtual void init() override;
80  virtual void initSecondary() override;
81  virtual void check() const override;
82 
86  void addHeatedPerimeter();
87 
89  const std::string _flow_channel_name;
90 
92  const bool _P_hf_transferred;
94  const bool _P_hf_provided;
95 
97  std::vector<std::shared_ptr<ClosuresBase>> _closures_objects;
98 
100  VariableName _P_hf_name;
102  VariableName _T_wall_name;
104  MaterialPropertyName _T_wall_mat_name;
106  MaterialPropertyName _q_wall_name;
107 
109  std::vector<SubdomainName> _flow_channel_subdomains;
113  UserObjectName _fp_name;
115  FunctionName _A_fn_name;
117  FunctionName _P_hf_fn_name;
118 
119 public:
120  static InputParameters validParams();
121 };
unsigned int FlowModelID
HeatTransferBase(const InputParameters &parameters)
virtual void initSecondary() override
Perform secondary initialization, which relies on init() being called for all components.
VariableName _T_wall_name
wall temperature name
std::vector< std::shared_ptr< ClosuresBase > > _closures_objects
Used closures object(s)
const UserObjectName & getFluidPropertiesName() const
FunctionName _A_fn_name
area function name for the connected flow channel
Base class for creating component that connect other components together (e.g.
Definition: ConnectorBase.h:18
void addHeatedPerimeter()
Adds heated perimeter variable and objects.
Base class for closures implementations.
Definition: ClosuresBase.h:28
VariableName _P_hf_name
heated perimeter name
const std::string & getFlowChannelName() const
Get the name of the connected flow channel.
virtual void check() const override
Check the component integrity.
const MaterialPropertyName & getWallHeatFluxName() const
Returns wall heat flux name.
const std::vector< SubdomainName > & getFlowChannelSubdomains() const
Get the list of the subdomain names associated with the flow channel.
virtual void addMooseObjects() override
UserObjectName _fp_name
fluid properties object name
Base class for heat transfer connections.
const std::string _flow_channel_name
name of the connected flow channel
static InputParameters validParams()
MaterialPropertyName _q_wall_name
wall heat flux name
THM::FlowModelID _model_type
flow model type
FunctionName _P_hf_fn_name
heated perimeter function name
virtual void init() override
Initializes the component.
const VariableName & getWallTemperatureName() const
Returns wall temperature name.
const InputParameters & parameters() const
virtual void addVariables() override
const VariableName & getHeatedPerimeterName() const
Returns heated perimeter name.
const MaterialPropertyName & getWallTemperatureMatName() const
Returns wall temperature name.
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.
const bool _P_hf_transferred
flag that heated perimeter is transferred from another application
const bool _P_hf_provided
flag that the heated perimeter was specified via an input parameter
virtual bool isTemperatureType() const =0
Returns whether this heat transfer is specified by temperature, rather than heat flux.
MaterialPropertyName _T_wall_mat_name
wall temperature material name