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.