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  virtual Convergence * getNonlinearConvergence() const override { return nullptr; }
27 
33  const VariableName & getHeatedPerimeterName() const;
39  const VariableName & getWallTemperatureName() const;
40 
46  const MaterialPropertyName & getWallTemperatureMatName() const;
47 
53  const MaterialPropertyName & getWallHeatFluxName() const;
54 
60  virtual bool isTemperatureType() const = 0;
61 
67  const std::vector<SubdomainName> & getFlowChannelSubdomains() const
68  {
70  }
71 
72  const UserObjectName & getFluidPropertiesName() const;
73 
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 
87  void addHeatedPerimeter();
88 
90  const std::string _flow_channel_name;
91 
93  const bool _P_hf_transferred;
95  const bool _P_hf_provided;
96 
98  std::vector<std::shared_ptr<ClosuresBase>> _closures_objects;
99 
101  VariableName _P_hf_name;
103  VariableName _T_wall_name;
105  MaterialPropertyName _T_wall_mat_name;
107  MaterialPropertyName _q_wall_name;
108 
110  std::vector<SubdomainName> _flow_channel_subdomains;
114  UserObjectName _fp_name;
116  FunctionName _A_fn_name;
118  FunctionName _P_hf_fn_name;
119 
120 public:
121  static InputParameters validParams();
122 };
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
const InputParameters & parameters() 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 Convergence * getNonlinearConvergence() const override
Gets the Component&#39;s nonlinear Convergence object if it has one.
virtual void init() override
Initializes the component.
const VariableName & getWallTemperatureName() const
Returns wall temperature name.
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