Buildings.HeatTransfer.UsersGuide Buildings.HeatTransfer.UsersGuide


The package Buildings.HeatTransfer consists of models
for heat transfer.
The models have the same interface as models of the package
Modelica.Thermal.HeatTransfer.

This user's guide describes the model structure and how to instantiate models for heat transfer calculations.

Model Structure

The models that compute heat transfer in solids consist of data records for the materials and of models that compute the heat transfer. The data records are composed hierarchically and consist of data records that define material properties with thermal storage ( Buildings.HeatTransfer.Data.Solids) and of material properties of thermal resistors with no heat storage ( Buildings.HeatTransfer.Data.Resistances). These records are used to assemble layers that define the thermal properties of constructions ( Buildings.HeatTransfer.Data.OpaqueConstructions).

This layer definition is then used in models that compute the heat conduction. Like the materials, these models are assembled hierarchically. The simplest model is Buildings.HeatTransfer.ConductorSingleLayer for heat conduction through a single layer of material. If the material's specific heat capacity is non-zero, then the model solves the Fourier equation

  dT       k      d^2 T
 ---- =  ----- * -------
  dt     rho*c    dx^2

If rho*c=0, then the model computes steady-state heat conduction

  Q_flow = A* k * (T_a-T_b)

The boundary conditions for this model are the temperatures and heat flow rates at the material interface.

The model Buildings.HeatTransfer.ConductorSingleLayer is then used to construct the heat conductor Buildings.HeatTransfer.ConductorMultiLayer that has multiple layers of material. Some layers may be computed transient (if rho*c > 0) and others are computed steady-state. The boundary conditions for this model are its surface temperatures and heat flow rates.

The model Buildings.HeatTransfer.ConductorMultiLayer is then used to build the construction Buildings.HeatTransfer.ConstructionOpaque that consists of Buildings.HeatTransfer.ConductorSingleLayer with a model for convective heat transfer at each side. To model convective heat transfer, instances of the model Buildings.HeatTransfer.Convection are used, which allow using a convective heat transfer coefficient that is fixed or that is a function of the temperature difference between the solid surface and the fluid.

Definition of Materials and Constructions

This section describes how to specify materials, and how to instantiate models that compute the heat transfer. The section describes the syntax used to declare heat conduction models. Note that such syntax is typically generated through the use of a graphical user interface that will show fields that can be edited and that provide options for predefined data that may be used as-is or adjusted for a particular building.

Suppose we want to model a construction with a surface area of 20 m2 that consists of a 0.1 m insulation and 0.2 m concrete. This can be accomplished as follows.

Definition of Materials

First, we define the materials as

  Buildings.HeatTransfer.Data.Solids.InsulationBoard insulation(x=0.1, nStaRef=4);
  Buildings.HeatTransfer.Data.Solids.Concrete concrete(x=0.2, nStaRef=4);

Here, we selected to use four state variables for each material layer.

Next, we define the construction as

  Buildings.HeatTransfer.Data.OpaqueConstructions.Generic 
     wall(nLay=2, material={insulation,concrete});

(Note that nLay must be set to the number of layers to allow a Modelica translator to know how many layers there are prior to translating the model.)

Alternatively, to model the insulation in steady-state, we can set its heat capacity to zero by declaring

  Buildings.HeatTransfer.Data.Solids.InsulationBoard insulation(c=0, x=0.1, nStaRef=4);

Instead of specifying a material with specific heat capacity and setting c=0, materials from the library Buildings.HeatTransfer.Data.Resistances can be used. For example, for a floor with carpet, the declaration would be

  Buildings.HeatTransfer.Data.Resistances.Carpet carpet;
  Buildings.HeatTransfer.Data.Solids.Concrete    concrete(x=0.2, nStaRef=4);
  Buildings.HeatTransfer.Data.OpaqueConstructions.Generic 
       floor(nLay=2, material={carpet,concrete});

To change the thermal resistance, we could have written

  Buildings.HeatTransfer.Data.Resistances.Carpet carpet(R=0.3);

or

  Buildings.HeatTransfer.Data.Resistances.Generic carpet(R=0.3);

Both definitions are identical.

Definition of Construction with Convective Heat Transfer Coefficients

If we want to use a construction that includes convective heat transfer coefficients, and that conists of the material floor defined above, we can define

  Buildings.HeatTransfer.ConstructionOpaque floorConstruction(
    A=10,
    layers = floor);

In the above example, carpet is the material near port_a and concrete is the material near port_b.

Alternatively, the layers of materials can be defined directly when instanciating the model that computes the heat conduction. For example,

  Buildings.HeatTransfer.ConstructionOpaque floorConstruction(
    A=10,
    steadyStateInitial=true,
    redeclare Buildings.HeatTransfer.Data.OpaqueConstructions.Concrete200
      layers(
        material={Data.Solids.Concrete(x=0.30, nStaRef=4)}),
    redeclare function qCon_a_flow = 
        Buildings.HeatTransfer.Functions.ConvectiveHeatFlux.floor,
    redeclare function qCon_b_flow = 
        Buildings.HeatTransfer.Functions.ConvectiveHeatFlux.ceiling);

This defines a floor with 10 m2 area. It will be initialized at steady-state. For the layers of materials, we used one layer of Concrete200, and redefined its thickness to x=0.3 meters. We also changed the number of state variables that are used for the spatial discretization of the term d^2T/dx^2 when solving the transient heat conduction in this layer of material. To compute the convective heat transfer, we chose chose to use buoyancy-driven equations for the floor (which is at surface a and hence assigned to qCon_a_flow) and the ceiling.

Definition of Construction without Convective Heat Transfer Coefficients

If we are interested in modeling heat transfer through the construction without taking into account the convective heat transfer, we can define a construction model as

  Buildings.HeatTransfer.ConductorMultiLayer conMul(A=20, layers=wall)
    "Construction with 20 m2 area";

Since there is already a predefined construction with the same material thickness in the library, we could have used the following identical definition:

  Buildings.HeatTransfer.ConductorMultiLayer wall(A=20,
    redeclare 
      Buildings.HeatTransfer.Data.OpaqueConstructions.Insulation100Concrete200 layers);


HTML-documentation generated by Dymola Fri Jul 30 18:06:57 2010.