This package contains examples for the use of models that can be found in Buildings.BoundaryConditions.SolarIrradiation.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).Name | Description |
---|---|
DiffuseIsotropic | Test model for diffuse solar irradiation on a tilted surface using the isotropic model |
DiffusePerez | Test model for diffuse solar irradiation on a tilted surface using the Perez model |
DirectTiltedSurface | Test model for direct solar irradiation on a tilted surface |
Type | Name | Default | Description |
---|---|---|---|
Real | rho | 0.2 | Ground reflectance |
Type | Name | Description |
---|---|---|
Bus | weaBus |
model DiffuseIsotropic "Test model for diffuse solar irradiation on a tilted surface using the isotropic model" extends Modelica.Icons.Example; parameter Real rho=0.2 "Ground reflectance";Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= "modelica://Buildings/Resources/weatherdata/USA_CA_San.Francisco.Intl.AP.724940_TMY3.mos"); Buildings.BoundaryConditions.WeatherData.Bus weaBus; Buildings.BoundaryConditions.SolarIrradiation.DiffuseIsotropic HDifRoo(til=Buildings.HeatTransfer.Types.Tilt.Ceiling, rho=rho) "Diffuse irradiation on roof"; Buildings.BoundaryConditions.SolarIrradiation.DiffuseIsotropic HDifFlo(til=Buildings.HeatTransfer.Types.Tilt.Floor, rho=rho) "Diffuse irradiation on floor"; Buildings.BoundaryConditions.SolarIrradiation.DiffuseIsotropic HDifWal( til=Buildings.HeatTransfer.Types.Tilt.Wall, rho=rho) "Diffuse irradiation on wall"; equationconnect(weaDat.weaBus, weaBus); connect(weaBus,HDifRoo. weaBus); connect(weaBus,HDifFlo. weaBus); connect(weaBus,HDifWal. weaBus); end DiffuseIsotropic;
This model tests the implementation of Perez' model for diffuse solar radiation. The three instances of Perez' model compute the diffuse solar irradiation on a roof, a wall and a floor. Since the floor only sees the ground but not the radiative heat flow that is scattered in the atmosphere, it receives the lowest amount of diffuse solar irradiation.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Type | Name | Default | Description |
---|---|---|---|
Angle | lat | 37/180*Modelica.Constants.pi | Latitude [rad] |
Angle | azi | 0.3 | Azi angle [rad] |
Angle | til | 0.5 | Tilted angle [rad] |
Type | Name | Description |
---|---|---|
Bus | weaBus |
model DiffusePerez "Test model for diffuse solar irradiation on a tilted surface using the Perez model" extends Modelica.Icons.Example; parameter Modelica.SIunits.Angle lat=37/180*Modelica.Constants.pi "Latitude"; parameter Modelica.SIunits.Angle azi=0.3 "Azi angle"; parameter Modelica.SIunits.Angle til=0.5 "Tilted angle";Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= "modelica://Buildings/Resources/weatherdata/USA_CA_San.Francisco.Intl.AP.724940_TMY3.mos"); Buildings.BoundaryConditions.WeatherData.Bus weaBus; Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez HDifRoo( til=Buildings.HeatTransfer.Types.Tilt.Ceiling, lat=0.6457718232379, azi=0.78539816339745) "Diffuse irradiation on roof"; Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez HDifFlo( til=Buildings.HeatTransfer.Types.Tilt.Floor, lat=0.6457718232379, azi=0.78539816339745) "Diffuse irradiation on floor"; Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez HDifWal( til=Buildings.HeatTransfer.Types.Tilt.Wall, lat=0.6457718232379, azi=0.78539816339745) "Diffuse irradiation on wall"; equationconnect(weaDat.weaBus, weaBus); connect(weaBus,HDifRoo. weaBus); connect(weaBus, HDifFlo.weaBus); connect(weaBus, HDifWal.weaBus); end DiffusePerez;
This model tests the direct solar irradiation received on a ceiling, a wall and a floor. The assert statement will stop the simulation if the floor receives any direct solar irradiation.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Type | Name | Default | Description |
---|---|---|---|
Angle | lat | 37/180*Modelica.Constants.pi | Latitude [rad] |
Type | Name | Description |
---|---|---|
Bus | weaBus |
model DirectTiltedSurface "Test model for direct solar irradiation on a tilted surface" extends Modelica.Icons.Example; parameter Modelica.SIunits.Angle lat=37/180*Modelica.Constants.pi "Latitude";Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= "modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos"); Buildings.BoundaryConditions.WeatherData.Bus weaBus; Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirRoo( til=Buildings.HeatTransfer.Types.Tilt.Ceiling, lat=0.6457718232379, azi=0.78539816339745) "Direct irradiation on roof"; Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirFlo( til=Buildings.HeatTransfer.Types.Tilt.Floor, lat=0.6457718232379, azi=0.78539816339745) "Direct irradiation on floor"; Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface HDirWal( til=Buildings.HeatTransfer.Types.Tilt.Wall, lat=0.6457718232379, azi=0.78539816339745) "Direct irradiation on wall"; Buildings.Utilities.Diagnostics.AssertEquality assEqu "Assert to ensure that direct radiation received by floor construction is zero"; Modelica.Blocks.Sources.Constant const(k=0); equationconnect(weaDat.weaBus, weaBus); connect(HDirRoo.weaBus, weaBus); connect(HDirWal.weaBus, weaBus); connect(HDirFlo.weaBus, weaBus); connect(assEqu.u1, HDirFlo.H); connect(const.y, assEqu.u2); end DirectTiltedSurface;