LBL logo

Buildings.Rooms.Constructions.Examples

Collection of models that illustrate model use and test models

Information

This package contains examples for the use of models that can be found in Buildings.Rooms.Constructions.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

NameDescription
Buildings.Rooms.Constructions.Examples.ExteriorWallWithWindow ExteriorWallWithWindow Test model for an exterior wall with a window
Buildings.Rooms.Constructions.Examples.ExteriorWallTwoWindows ExteriorWallTwoWindows Test model for an exterior wall with two windows, one having a shade, the other not
Buildings.Rooms.Constructions.Examples.ExteriorWall ExteriorWall Test model for an exterior wall without a window


Buildings.Rooms.Constructions.Examples.ExteriorWallWithWindow Buildings.Rooms.Constructions.Examples.ExteriorWallWithWindow

Test model for an exterior wall with a window

Buildings.Rooms.Constructions.Examples.ExteriorWallWithWindow

Information

This model tests the exterior constructions with windows.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
AreaA[:]{3*10}Heat transfer area of wall and window [m2]
AreaAWin[:]A - {2*3}Heat transfer area of frame and window [m2]
RealfFra[:]{0.1}Fraction of window frame divided by total window area
BooleanlinearizeRadiationfalseSet to true to linearize emissive power

Modelica definition

model ExteriorWallWithWindow 
  "Test model for an exterior wall with a window"
  import Buildings;
  extends Modelica.Icons.Example;
  parameter Modelica.SIunits.Area A[:]={3*10} 
    "Heat transfer area of wall and window";
  parameter Modelica.SIunits.Area AWin[:]=A-{2*3} 
    "Heat transfer area of frame and window";
  parameter Real fFra[:]={0.1} 
    "Fraction of window frame divided by total window area";
  parameter Boolean linearizeRadiation = false 
    "Set to true to linearize emissive power";
  HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys(
    UFra=2,
    shade=Buildings.HeatTransfer.Data.Shades.Gray(),
    haveExteriorShade=false,
    haveInteriorShade=false) "Record for glazing system";

  ConstructionWithWindow conExt[1](
    layers={extConMat},
    glaSys={glaSys},
    linearizeRadiation = {linearizeRadiation},
    A=A,
    AWin=AWin,
    fFra=fFra,
    til={1.5707963267949}) "Construction of an exterior wall without a window";
  Buildings.Rooms.BaseClasses.ExteriorBoundaryConditionsWithWindow
    bouConExt(
    nCon=1,
    linearizeRadiation = linearizeRadiation,
    fFra=fFra,
    absIR={extConMat.absIR_a},
    azi={0},
    AOpa=A - AWin,
    absSol={extConMat.absSol_a},
    AWin=AWin,
    absSolFra={glaSys.absSolFra},
    absIRSha_air={glaSys.shade.absIR_a},
    absIRSha_glass={glaSys.shade.absIR_b},
    tauIRSha_air={glaSys.shade.tauIR_a},
    tauIRSha_glass={glaSys.shade.tauIR_b},
    haveExteriorShade={glaSys.haveExteriorShade},
    haveInteriorShade={glaSys.haveInteriorShade},
    conMod=Buildings.HeatTransfer.Types.InteriorConvection.Fixed,
    til={Buildings.HeatTransfer.Types.Tilt.Wall},
    lat=0.73268921998722,
    absIRFra={glaSys.absIRFra}) 
    "Exterior boundary conditions for constructions without a window";
  Buildings.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature;
  Buildings.HeatTransfer.Convection.Interior con[
                              1](A=A - AWin, til={Buildings.HeatTransfer.Types.Tilt.Wall}) 
    "Model for heat convection";
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol(m=1) 
    "Thermal collector to link a vector of models to a single model";
  BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam=
        "Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos");
  Modelica.Blocks.Sources.Constant TRoo(k=273.15 + 20) "Room air temperature";
  HeatTransfer.Data.OpaqueConstructions.Insulation100Concrete200 extConMat 
    "Record for material layers";

  HeatTransfer.Windows.InteriorHeatTransfer intCon[1](
    A=AWin,
    fFra=fFra,
    absIRSha_air={glaSys.shade.absIR_a},
    absIRSha_glass={glaSys.shade.absIR_b},
    tauIRSha_air={glaSys.shade.tauIR_a},
    tauIRSha_glass={glaSys.shade.tauIR_b},
    haveExteriorShade={glaSys.haveExteriorShade},
    haveInteriorShade={glaSys.haveInteriorShade},
    each linearizeRadiation = linearizeRadiation) 
    "Model for interior convection";
  Modelica.Blocks.Sources.Constant uSha(k=0) "Shading control signal";
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol1(
                                                                   m=1) 
    "Thermal collector to link a vector of models to a single model";
  HeatTransfer.Radiosity.IndoorRadiosity indRad(A=AWin[1], linearize = linearizeRadiation) 
    "Model for indoor radiosity";
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol2(
                                                                   m=1) 
    "Thermal collector to link a vector of models to a single model";
  Modelica.Blocks.Sources.Constant QAbs[1,glaSys.nLay](each k=0) 
    "Solar radiation absorbed by glass";
  Modelica.Blocks.Sources.Constant QAbsSha(each k=0) 
    "Solar radiation absorbed by interior shade";
  Modelica.Blocks.Sources.Constant QTra(each k=0) 
    "Solar radiation absorbed by exterior shade";
  Buildings.HeatTransfer.Convection.Interior con1[
                              1](A=A - AWin, til={Buildings.HeatTransfer.Types.Tilt.Wall}) 
    "Model for heat convection";
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol3(
                                                                   m=1) 
    "Thermal collector to link a vector of models to a single model";
equation 
  connect(prescribedTemperature.port, theCol.port_b);
  connect(theCol.port_a, con.fluid);
  connect(weaDat.weaBus, bouConExt.weaBus);
  connect(TRoo.y, prescribedTemperature.T);
  connect(theCol1.port_b, prescribedTemperature.port);
  connect(intCon[1].uSha, uSha.y);
  connect(theCol1.port_a, intCon.air);
  connect(indRad.JOut, intCon[1].JInRoo);
  connect(indRad.JIn, intCon[1].JOutRoo);
  connect(indRad.heatPort, prescribedTemperature.port);
  connect(intCon.frame, theCol2.port_a);
  connect(theCol2.port_b, indRad.heatPort);
  connect(uSha.y, bouConExt.uSha[1]);
  connect(uSha.y, conExt[1].uSha);
  connect(QAbs.y, conExt.QAbsUns_flow);
  connect(QAbs.y, conExt.QAbsSha_flow);
  connect(QAbsSha.y, intCon[1].QAbs_flow);
  connect(QTra.y, bouConExt.QAbsSolSha_flow[1]);
  connect(conExt.opa_b, con.solid);
  connect(intCon.JOutUns, conExt.JInUns_b);
  connect(intCon.JInUns, conExt.JOutUns_b);
  connect(intCon.glaUns, conExt.glaUns_b);
  connect(intCon.glaSha, conExt.glaSha_b);
  connect(intCon.JOutSha, conExt.JInSha_b);
  connect(intCon.JInSha, conExt.JOutSha_b);
  connect(conExt.opa_a, bouConExt.opa_a);

  connect(conExt.JInUns_a, bouConExt.JOutUns);
  connect(conExt.JOutUns_a, bouConExt.JInUns);
  connect(conExt.glaUns_a, bouConExt.glaUns);
  connect(conExt.glaSha_a, bouConExt.glaSha);
  connect(conExt.JInSha_a, bouConExt.JOutSha);
  connect(conExt.JOutSha_a, bouConExt.JInSha);
  connect(conExt.fra_a, bouConExt.fra);
  connect(con1.solid, conExt.fra_b);
  connect(con1.fluid, theCol3.port_a);
  connect(theCol3.port_b, prescribedTemperature.port);
end ExteriorWallWithWindow;

Buildings.Rooms.Constructions.Examples.ExteriorWallTwoWindows Buildings.Rooms.Constructions.Examples.ExteriorWallTwoWindows

Test model for an exterior wall with two windows, one having a shade, the other not

Buildings.Rooms.Constructions.Examples.ExteriorWallTwoWindows

Information

This model tests the exterior construction with windows.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
IntegernCon2Number of constructions
AreaA[:]{3*10,3*10}Heat transfer area of wall and window [m2]
AreaAWin[:]A - {2*3,1*3}Heat transfer area of frame and window [m2]
RealfFra[:]{0.1,0.1}Fraction of window frame divided by total window area
BooleanlinearizeRadiationfalseSet to true to linearize emissive power

Modelica definition

model ExteriorWallTwoWindows 
  "Test model for an exterior wall with two windows, one having a shade, the other not"
  import Buildings;
  extends Modelica.Icons.Example;
  parameter Integer nCon = 2 "Number of constructions";
  parameter Modelica.SIunits.Area A[:]={3*10, 3*10} 
    "Heat transfer area of wall and window";
  parameter Modelica.SIunits.Area AWin[:]=A-{2*3, 1*3} 
    "Heat transfer area of frame and window";
  parameter Real fFra[:]={0.1, 0.1} 
    "Fraction of window frame divided by total window area";
  parameter Boolean linearizeRadiation = false 
    "Set to true to linearize emissive power";
  HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys1(
    UFra=2,
    shade=Buildings.HeatTransfer.Data.Shades.Gray(),
    haveInteriorShade=false,
    haveExteriorShade=false) "Record for glazing system";
  HeatTransfer.Data.GlazingSystems.DoubleClearAir13Clear glaSys2(
    UFra=2,
    shade=Buildings.HeatTransfer.Data.Shades.Gray(),
    haveInteriorShade=false,
    haveExteriorShade=false) "Record for glazing system";
  ConstructionWithWindow conExt[nCon](
    layers={extConMat, extConMat},
    glaSys={glaSys1, glaSys2},
    linearizeRadiation = {linearizeRadiation, linearizeRadiation},
    A=A,
    AWin=AWin,
    fFra=fFra,
    til={Buildings.HeatTransfer.Types.Tilt.Wall,Buildings.HeatTransfer.Types.Tilt.Wall}) 
    "Construction of an exterior wall without a window";
  Buildings.Rooms.BaseClasses.ExteriorBoundaryConditionsWithWindow
    bouConExt(
    nCon=2,
    linearizeRadiation = false,
    fFra=fFra,
    absIR={extConMat.absIR_a, extConMat.absIR_a},
    AOpa=A - AWin,
    absSol={extConMat.absSol_a, extConMat.absSol_a},
    AWin=AWin,
    absSolFra={glaSys1.absSolFra, glaSys2.absSolFra},
    absIRSha_air={glaSys1.shade.absIR_a, glaSys2.shade.absIR_a},
    absIRSha_glass={glaSys1.shade.absIR_b, glaSys2.shade.absIR_b},
    tauIRSha_air={glaSys1.shade.tauIR_a, glaSys2.shade.tauIR_a},
    tauIRSha_glass={glaSys1.shade.tauIR_b, glaSys2.shade.tauIR_b},
    haveExteriorShade={glaSys1.haveExteriorShade, glaSys2.haveExteriorShade},
    haveInteriorShade={glaSys1.haveInteriorShade, glaSys2.haveInteriorShade},
    conMod=Buildings.HeatTransfer.Types.InteriorConvection.Fixed,
    til={Buildings.HeatTransfer.Types.Tilt.Wall,Buildings.HeatTransfer.Types.Tilt.Wall},
    azi={0,0},
    lat=0.73268921998722,
    absIRFra={glaSys1.absSolFra,glaSys2.absSolFra}) 
    "Exterior boundary conditions for constructions without a window";
  Buildings.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature;
  Buildings.HeatTransfer.Convection.Interior con[
                              nCon](A=A - AWin,
    til={Buildings.HeatTransfer.Types.Tilt.Wall,
         Buildings.HeatTransfer.Types.Tilt.Wall}) "Model for heat convection";
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol(m=2) 
    "Thermal collector to link a vector of models to a single model";
  BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam=
        "Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos");
  Modelica.Blocks.Sources.Constant TRoo(k=273.15 + 20) "Room air temperature";
  HeatTransfer.Data.OpaqueConstructions.Insulation100Concrete200 extConMat 
    "Record for material layers";

  HeatTransfer.Windows.InteriorHeatTransfer intCon[nCon](
    A=AWin,
    fFra=fFra,
    absIRSha_air={glaSys1.shade.absIR_a, glaSys2.shade.absIR_a},
    absIRSha_glass={glaSys1.shade.absIR_b, glaSys2.shade.absIR_b},
    tauIRSha_air={glaSys1.shade.tauIR_a, glaSys2.shade.tauIR_a},
    tauIRSha_glass={glaSys1.shade.tauIR_b, glaSys2.shade.tauIR_b},
    haveExteriorShade={glaSys1.haveExteriorShade, glaSys2.haveExteriorShade},
    haveInteriorShade={glaSys1.haveInteriorShade, glaSys2.haveInteriorShade},
    each linearizeRadiation = linearizeRadiation) 
    "Model for interior convection";
  Modelica.Blocks.Sources.Constant uSha(k=0) "Shading control signal";
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol1(m=2) 
    "Thermal collector to link a vector of models to a single model";
  HeatTransfer.Radiosity.IndoorRadiosity indRad[nCon](each linearize = linearizeRadiation,
    A=AWin) "Model for indoor radiosity";
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol2(
                                                                   m=2) 
    "Thermal collector to link a vector of models to a single model";
  Modelica.Blocks.Routing.Replicator replicator(nout=nCon);
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol3(
                                                                   m=2) 
    "Thermal collector to link a vector of models to a single model";
  Modelica.Blocks.Sources.Constant QAbsSha[nCon](each k=0) 
    "Solar radiation absorbed by interior shade";
  Modelica.Blocks.Sources.Constant QAbs[nCon,glaSys1.nLay](each k=0) 
    "Solar radiation absorbed by glass";
  Modelica.Blocks.Sources.Constant QTra[nCon](each k=0) 
    "Solar radiation absorbed by exterior shade";
  Buildings.HeatTransfer.Convection.Interior con1[nCon](A=A - AWin,
     each til=Buildings.HeatTransfer.Types.Tilt.Wall) 
    "Model for heat convection";
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol4(
                                                                   m=nCon) 
    "Thermal collector to link a vector of models to a single model";
equation 
  connect(prescribedTemperature.port, theCol.port_b);
  connect(theCol.port_a, con.fluid);
  connect(weaDat.weaBus, bouConExt.weaBus);
  connect(TRoo.y, prescribedTemperature.T);
  connect(theCol1.port_b, prescribedTemperature.port);
  connect(theCol1.port_a, intCon.air);

  connect(intCon.frame, theCol2.port_a);

  connect(uSha.y, replicator.u);
  connect(replicator.y, intCon.uSha);
  connect(indRad.JOut, intCon.JInRoo);
  connect(indRad.JIn, intCon.JOutRoo);
  connect(theCol3.port_a, indRad.heatPort);
  connect(theCol2.port_b, prescribedTemperature.port);
  connect(theCol3.port_b, prescribedTemperature.port);
  connect(bouConExt.uSha, replicator.y);
  connect(QAbs.y, conExt.QAbsUns_flow);
  connect(QAbs.y, conExt.QAbsSha_flow);
  connect(QAbsSha.y, intCon.QAbs_flow);
  connect(QTra.y, bouConExt.QAbsSolSha_flow);
  connect(con.solid, conExt.opa_b);
  connect(conExt.JOutUns_b, intCon.JInUns);
  connect(intCon.JOutUns, conExt.JInUns_b);
  connect(conExt.glaUns_b, intCon.glaUns);
  connect(conExt.glaSha_b, intCon.glaSha);
  connect(conExt.JOutSha_b, intCon.JInSha);
  connect(intCon.JOutSha, conExt.JInSha_b);
  connect(replicator.y, conExt.uSha);
  connect(conExt.opa_a, bouConExt.opa_a);

  connect(bouConExt.JOutUns, conExt.JInUns_a);
  connect(conExt.JOutUns_a, bouConExt.JInUns);
  connect(bouConExt.glaUns, conExt.glaUns_a);
  connect(bouConExt.glaSha, conExt.glaSha_a);
  connect(bouConExt.JOutSha, conExt.JInSha_a);
  connect(conExt.JOutSha_a, bouConExt.JInSha);
  connect(bouConExt.fra, conExt.fra_a);
  connect(con1.solid, conExt.fra_b);
  connect(con1.fluid,theCol4. port_a);
  connect(theCol4.port_b, prescribedTemperature.port);
end ExteriorWallTwoWindows;

Buildings.Rooms.Constructions.Examples.ExteriorWall Buildings.Rooms.Constructions.Examples.ExteriorWall

Test model for an exterior wall without a window

Buildings.Rooms.Constructions.Examples.ExteriorWall

Information

This model tests the exterior construction without windows.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model ExteriorWall "Test model for an exterior wall without a window"
  import Buildings;
  extends Modelica.Icons.Example;

  Buildings.Rooms.Constructions.Construction conExt[1](
    A={10*3},
    layers={extConMat},
    til={Buildings.HeatTransfer.Types.Tilt.Wall}) 
    "Construction of an exterior wall without a window";
  Buildings.Rooms.BaseClasses.ExteriorBoundaryConditions bouConExt(
    nCon=1,
    linearizeRadiation = false,
    absIR={0.5},
    azi={0},
    AOpa={1},
    absSol={0.5},
    lat=0.73268921998722,
    conMod=Buildings.HeatTransfer.Types.InteriorConvection.Temperature,
    til={Buildings.HeatTransfer.Types.Tilt.Wall}) 
    "Exterior boundary conditions for constructions without a window";
  Buildings.HeatTransfer.Sources.PrescribedTemperature prescribedTemperature;
  Buildings.HeatTransfer.Convection.Interior con[
                              1](A={3*10}, til={Buildings.HeatTransfer.Types.Tilt.Wall}) 
    "Model for heat convection";
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector theCol(m=1) 
    "Thermal collector to link a vector of models to a single model";
  BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam=
        "Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos");
  Modelica.Blocks.Sources.Constant TRoo(k=273.15 + 20) "Room air temperature";
  HeatTransfer.Data.OpaqueConstructions.Insulation100Concrete200 extConMat 
    "Record for material layers";

equation 
  connect(prescribedTemperature.port, theCol.port_b);
  connect(theCol.port_a, con.fluid);
  connect(weaDat.weaBus, bouConExt.weaBus);
  connect(TRoo.y, prescribedTemperature.T);
  connect(con.solid, conExt.opa_b);
  connect(bouConExt.opa_a, conExt.opa_a);
end ExteriorWall;

Automatically generated Wed Feb 29 16:54:35 2012.