https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
14class ClosuresBase;
15
20{
21public:
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
79protected:
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
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
120public:
122};
Base class for closures implementations.
Base class for creating component that connect other components together (e.g.
Base class for heat transfer connections.
const bool _P_hf_transferred
flag that heated perimeter is transferred from another application
virtual void initSecondary() override
Perform secondary initialization, which relies on init() being called for all components.
const MaterialPropertyName & getWallHeatFluxName() const
Returns wall heat flux name.
void addHeatedPerimeter()
Adds heated perimeter variable and objects.
FunctionName _A_fn_name
area function name for the connected flow channel
const VariableName & getWallTemperatureName() const
Returns wall temperature name.
virtual void addMooseObjects() override
const std::string & getFlowChannelName() const
Get the name of the connected flow channel.
virtual void check() const override
Check the component integrity.
std::vector< std::shared_ptr< ClosuresBase > > _closures_objects
Used closures object(s)
const VariableName & getHeatedPerimeterName() const
Returns heated perimeter name.
UserObjectName _fp_name
fluid properties object name
MaterialPropertyName _q_wall_name
wall heat flux name
VariableName _P_hf_name
heated perimeter name
MaterialPropertyName _T_wall_mat_name
wall temperature material name
VariableName _T_wall_name
wall temperature name
const std::vector< SubdomainName > & getFlowChannelSubdomains() const
Get the list of the subdomain names associated with the flow channel.
static InputParameters validParams()
FunctionName _P_hf_fn_name
heated perimeter function name
const UserObjectName & getFluidPropertiesName() const
const std::string _flow_channel_name
name of the connected flow channel
virtual bool isTemperatureType() const =0
Returns whether this heat transfer is specified by temperature, rather than heat flux.
virtual void addVariables() override
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.
THM::FlowModelID _model_type
flow model type
virtual Convergence * getNonlinearConvergence() const override
Gets the Component's nonlinear Convergence object if it has one.
virtual void init() override
Initializes the component.
const bool _P_hf_provided
flag that the heated perimeter was specified via an input parameter
const MaterialPropertyName & getWallTemperatureMatName() const
Returns wall temperature name.
const InputParameters & parameters() const
unsigned int FlowModelID