Buildings.ThermalZones.ReducedOrder.Validation

Collection of validation models

Information

This package contains models for validation of Reduced Order Models. The examples plot various outputs, which have been verified against comparative results. These model outputs are stored as reference data to allow continuous validation whenever models in the library change.

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

Package Content

Name Description
Buildings.ThermalZones.ReducedOrder.Validation.RoomSteadyState RoomSteadyState Validation model that checks whether all weather data is set to a constant
Buildings.ThermalZones.ReducedOrder.Validation.RoomWithLatentGain RoomWithLatentGain Test case based on VDI 6007 Case 12, with latent heat gain added
Buildings.ThermalZones.ReducedOrder.Validation.RoomWithoutLatentGain RoomWithoutLatentGain Test case based on VDI 6007 Case 12, with zero latent heat gain added
Buildings.ThermalZones.ReducedOrder.Validation.VDI6007 VDI6007 Validation according to VDI 6007-1

Buildings.ThermalZones.ReducedOrder.Validation.RoomSteadyState Buildings.ThermalZones.ReducedOrder.Validation.RoomSteadyState

Validation model that checks whether all weather data is set to a constant

Buildings.ThermalZones.ReducedOrder.Validation.RoomSteadyState

Information

This model validates that the RC network model starts at and remains at exactly 20°C if there is no solar radiation and constant outdoor conditions.

Extends from ThermalZones.ReducedOrder.Examples.SimpleRoomOneElement (Illustrates the use of a thermal zone with one heat conduction element).

Connectors

TypeNameDescription
BusweaBusWeather data bus

Modelica definition

model RoomSteadyState "Validation model that checks whether all weather data is set to a constant" extends ThermalZones.ReducedOrder.Examples.SimpleRoomOneElement( weaDat( pAtmSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, ceiHeiSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, totSkyCovSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, opaSkyCovSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, TDryBulSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, TDewPoiSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, TBlaSkySou=Buildings.BoundaryConditions.Types.DataSource.Parameter, TBlaSky=293.15, relHumSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, winSpeSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, winDirSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, HInfHorSou=Buildings.BoundaryConditions.Types.DataSource.Parameter, HSou=Buildings.BoundaryConditions.Types.RadiationDataSource.Input_HGloHor_HDifHor), intGai(table=[0,0,0,0; 86400,0,0,0]), thermalZoneOneElement(T_start=293.15)); Modelica.Blocks.Sources.Constant zer(k=0) "Zero input signal"; equation connect(zer.y, weaDat.HDifHor_in); connect(zer.y, weaDat.HGloHor_in); end RoomSteadyState;

Buildings.ThermalZones.ReducedOrder.Validation.RoomWithLatentGain Buildings.ThermalZones.ReducedOrder.Validation.RoomWithLatentGain

Test case based on VDI 6007 Case 12, with latent heat gain added

Buildings.ThermalZones.ReducedOrder.Validation.RoomWithLatentGain

Information

Test Case 12 of the VDI 6007 Part 1: Calculation of indoor air temperature excited by a radiative and convective heat source for room version S.

Boundary conditions

This test case changes the medium to moist air, and adds latent heat gain.

Extends from VDI6007.TestCase12 (VDI 6007 Test Case 12 model).

Parameters

TypeNameDefaultDescription
replaceable package MediumSimpleAirMedium model

Connectors

TypeNameDescription
replaceable package MediumMedium model

Modelica definition

model RoomWithLatentGain "Test case based on VDI 6007 Case 12, with latent heat gain added" extends VDI6007.TestCase12( redeclare package Medium = Buildings.Media.Air, thermalZoneTwoElements(use_moisture_balance=true, nPorts=4, VAir=52.5), assEqu( startTime=0, endTime=0, startTime2=0, endTime2=0, startTime3=0, endTime3=0)); Fluid.Sensors.RelativeHumidity senRelHum( redeclare package Medium = Medium, warnAboutOnePortConnection = false) "Relative humidity of room air"; Fluid.Sensors.MassFraction senMasFra( redeclare package Medium = Medium, warnAboutOnePortConnection = false) "Absolute humidity of room air in kg/kg total air"; equation connect(senRelHum.port, thermalZoneTwoElements.ports[3]); connect(senMasFra.port, thermalZoneTwoElements.ports[4]); connect(intGai.y[2], thermalZoneTwoElements.QLat_flow); end RoomWithLatentGain;

Buildings.ThermalZones.ReducedOrder.Validation.RoomWithoutLatentGain Buildings.ThermalZones.ReducedOrder.Validation.RoomWithoutLatentGain

Test case based on VDI 6007 Case 12, with zero latent heat gain added

Buildings.ThermalZones.ReducedOrder.Validation.RoomWithoutLatentGain

Information

Test Case 12 of the VDI 6007 Part 1: Calculation of indoor air temperature excited by a radiative and convective heat source for room version S.

Boundary conditions

This test case changes the medium to moist air, and adds zero latent heat gain.

Extends from VDI6007.TestCase12 (VDI 6007 Test Case 12 model).

Parameters

TypeNameDefaultDescription
replaceable package MediumSimpleAirMedium model

Connectors

TypeNameDescription
replaceable package MediumMedium model

Modelica definition

model RoomWithoutLatentGain "Test case based on VDI 6007 Case 12, with zero latent heat gain added" extends VDI6007.TestCase12( redeclare package Medium = Buildings.Media.Air, thermalZoneTwoElements( use_moisture_balance=true, nPorts=4, VAir=52.5), assEqu( startTime=0, endTime=0, startTime2=0, endTime2=0, startTime3=0, endTime3=0)); Modelica.Blocks.Sources.Constant QLat_flow(k=0) "Zero latent heat gain"; Fluid.Sensors.RelativeHumidity senRelHum( redeclare package Medium = Medium, warnAboutOnePortConnection = false) "Relative humidity of room air"; Fluid.Sensors.MassFraction senMasFra( redeclare package Medium = Medium, warnAboutOnePortConnection = false) "Absolute humidity of room air in kg/kg total air"; equation connect(QLat_flow.y, thermalZoneTwoElements.QLat_flow); connect(senRelHum.port, thermalZoneTwoElements.ports[3]); connect(senMasFra.port, thermalZoneTwoElements.ports[4]); end RoomWithoutLatentGain;