modelCylindrical

Heat conduction in a cylinder using the radial discretization as advised by Eskilson

Information

Model for radial heat transfer in a hollow cylinder.

If the heat capacity of the material is non-zero, then this model computes transient heat conduction, i.e., it computes a numerical approximation to the solution of the heat equation

ρ c ( ∂ T(r,t) ⁄ ∂t ) = k ( ∂² T(r,t) ⁄ ∂r² + 1 ⁄ r   ∂ T(r,t) ⁄ ∂r ),

where ρ is the mass density, c is the specific heat capacity per unit mass, T is the temperature at location r and time t and k is the heat conductivity. At the locations r=ra and r=rb, the temperature and heat flow rate are equal to the temperature and heat flow rate of the heat ports.

If the heat capacity of the material is set to zero, then steady-state heat flow is computed using

Q = 2 π k (Ta-Tb)⁄ ln(ra ⁄ rb),

where ra is the internal radius, rb is the external radius, Ta is the temperature at port a and Tb is the temperature at port b.

Implementation

To spatially discretize the heat equation, the construction is divided into compartments with nSta ≥ 1 state variables. The state variables are connected to each other through thermal conductors. There is also a thermal conductor between the surfaces and the outermost state variables. Thus, to obtain the surface temperature, use port_a.T (or port_b.T) and not the variable T[1].

Parameters

TypeNameDefaultDescription
Buildings.Fluid.Geothermal.Borefields.Data.Soil.TemplatesoiDat
Modelica.Units.SI.HeighthHeight of the cylinder
Modelica.Units.SI.Radiusr_aInternal radius
Modelica.Units.SI.Radiusr_bExternal radius
IntegernSta10Number of state variables
RealgridFac2Grid factor for spacing
Modelica.Units.SI.Radius[nSta + 1]rRadius to the boundary of the i-th domain
Initialization
Modelica.Units.SI.TemperatureTInt_startInitial temperature at port_a, used if steadyStateInitial = false
Modelica.Units.SI.TemperatureTExt_startInitial temperature at port_b, used if steadyStateInitial = false
BooleansteadyStateInitialfalsetrue initializes dT(0)/dt=0, false initializes T(0) at fixed temperature using T_a_start and T_b_start

Connectors

TypeNameDefaultDescription
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aport_aHeat port at surface a
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_bport_bHeat port at surface b

Components

TypeNameDefaultDescription
Modelica.Units.SI.Temperature[nSta]TTemperature of the states
Modelica.Units.SI.TemperatureDifferencedTport_a.T - port_b.T
Modelica.Units.SI.HeatFlowRate[nSta + 1]Q_flowHeat flow rate from state i to i+1

Revisions

  • January, 2014, by Damien Picard:
    Modify the discretization of the cilindrical layer so that the first three layers have an equal thickness the following an exponentionally growing thickness. This follows the guidelines of Eskilson (P. Eskilson. Thermal analysis of heat extraction boreholes. PhD thesis, Dep. of Mathematical Physics, University of Lund, Sweden, 1987).
  • March 9, 2012, by Michael Wetter:
    Removed protected variable der_T as it is not required.
  • April 14 2011, by Pierre Vigouroux:
    First implementation.