This is a model of a heat conductor for a single layer of homogeneous material that computes transient or steady-state heat conduction.
If the material is a record that extends
Buildings.HeatTransfer.Data.Solids and its
specific heat capacity (as defined by the record material.c
)
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(s,t) ⁄ ∂t) = k (∂² T(s,t) ⁄ ∂s²),
where ρ is the mass density, c is the specific heat capacity per unit mass, T is the temperature at location s and time t and k is the heat conductivity. At the locations s=0 and s=x, where x is the material thickness, the temperature and heat flow rate is equal to the temperature and heat flow rate of the heat ports.
If the material is declared using a record of type
Buildings.HeatTransfer.Data.SolidsPCM, the heat transfer
in a phase change material is computed.
The record
Buildings.HeatTransfer.Data.SolidsPCM
declares the solidus temperature TSol
,
the liquidus temperature TLiq
and the latent heat of
phase transformation LHea
.
For heat transfer with phase change, the specific internal energy u
is the dependent variable, rather than the temperature.
Therefore, the governing equation is
ρ (∂ u(s,t) ⁄ ∂t) = k (∂² T(s,t) ⁄ ∂s²).
The constitutive relation between specific internal energy u and temperature T is defined in Buildings.HeatTransfer.Conduction.BaseClasses.temperature_u by using cubic hermite spline interpolation with linear extrapolation.
If material.c=0
, or if the material extends
Buildings.HeatTransfer.Data.Resistances,
then steady-state heat conduction is computed. In this situation, the heat
flow between its heat ports is
Q = A k ⁄ x (Ta-Tb),
where A is the cross sectional area, x is the layer thickness, Ta is the temperature at port a and Tb is the temperature at port b.
To spatially discretize the heat equation, the construction is
divided into compartments (control volumes) with material.nSta ≥ 1
state variables.
Each control volume has the same material properties.
The state variables are connected to each other through thermal resistances.
If stateAtSurface_a = true
, a state is placed
at the surface a, and similarly, if
stateAtSurface_b = true
, a state is placed
at the surface b.
Otherwise, these states are placed inside the material, away
from the surface.
Thus, to obtain
the surface temperature, use port_a.T
(or port_b.T
)
and not the variable T[1]
.
x
and a discretization with four state variables.
stateAtSurface_a = false
and stateAtSurface_b = false
,
then each of the four state variables is placed in the middle of a control volume with length l=x/material.nSta
.
stateAtSurface_a = true
or stateAtSurface_b = true
,
then one state is placed on the surface of the material. Each of the remaining three states
is placed in the middle of a control volume with length l=x/(material.nSta-1)
.
stateAtSurface_a = true
and stateAtSurface_b = true
,
then two states are placed on the surfaces of the material. Each of the remaining two states is placed
in the middle of a control volume with length l=x/(material.nSta-2)
.
To build multi-layer constructions, use Buildings.HeatTransfer.Conduction.MultiLayer instead of this model.
The parameters stateAtSurface_a
and
stateAtSurface_b
determine whether there is a state variable at these surfaces,
as described above.
Note that if stateAtSurface_a = true
,
then there is temperature state on the surface a with prescribed
value, as determined by the differential equation of the heat conduction.
Hence, in this situation, it is not possible to
connect a temperature boundary condition such as
Buildings.HeatTransfer.Sources.FixedTemperature as this would
yield to specifying the same temperature twice.
To avoid this, either set stateAtSurface_a = false
,
or place a thermal resistance
between the boundary condition and the surface of this model.
The same applies for surface b.
See the examples in
Buildings.HeatTransfer.Examples.
nSta2
to avoid translation error
in Dymola 2107. This is a work-around for a bug in Dymola
which will be addressed in future releases.
Real
variables.
This is for
issue 493.
Buildings.HeatTransfer.Conduction.BaseClasses.der_temperature_u
from type
Buildings.HeatTransfer.Data.BaseClasses.Material
to the elements of this type as OpenModelica fails to translate the
model if the input to this function is a record.
Evaluate=true
.
material
record and relationship
between enthalpy and temperature defined in the EnthalpyTemperature
function.
der_T
as it is not required.