AixLib.Fluid.SolarCollectors.BaseClasses.ASHRAESolarGain

# .AixLib.Fluid.SolarCollectors.BaseClasses.ASHRAESolarGain

Calculate the solar heat gain of a solar collector per ASHRAE Standard 93

## Information

This component computes the solar heat gain of the solar thermal collector. It only calculates the solar heat gain without considering the heat loss to the environment. This model uses ratings data according to ASHRAE93. The solar heat gain is calculated using Equations 18.298-18.302 in the referenced EnergyPlus documentation.

The solar radiation absorbed by the panel is identified using Eq 18.302 from the EnergyPlus documentation. It is

Qflow[i]=Ac/nSeg (FR(τα) K(τα)net (Gdir (1-shaCoe)+Gdif+Ggnd))

where Qflow[i] is the heat gain in each segment, Ac is the area of the collector, nSeg is the user-specified number of segments in the simulation, FR(τα) is the maximum collector efficiency, K(τα)net is the incidence angle modifier, Gdir is the direct solar radiation, shaCoe is the user-specified shading coefficient, Gsky is the diffuse solar radiation from the sky, and Ggnd is the diffuse radiation from the ground.

The solar radiation equation indicates that the collector is divided into multiple segments. The number of segments used in the simulation is specified by the user via `nSeg`. The area of an individual segment is identified by dividing the collector area by the total number of segments. The term `shaCoe` is used to define the percentage of the collector that is shaded.

The incidence angle modifier used in the solar radiation equation is found using Eq 18.299 from the EnergyPlus documentation. It is

K(τα),net=(Gdir K(τα),dir +Gsky K(τα),sky +Ggnd K(τα),gnd) /(Gdir+Gsky+Ggnd)

where K(τα),net is the net incidence angle modified, Gdir is the (direct) beam radiation, K(τα),dir is the incidence angle modifier for (direct) beam radiation, Gsky is the diffuse radiation from the sky, K(τα),sky is the incidence angle modifier for radiation from the sky, Ggnd is the diffuse radiation from the ground, and K(τα),gnd is the incidence angle modifier for diffuse radiation from the ground.

Each incidence angle modifier is calculated using Eq 18.298 from the EnergyPlus documentation. It is

K(τα),x=1+b0 (1/cos(θ)-1)+b1 (1/cos(θ)-1)2

where x can refer to beam, sky or ground. θ is the incidence angle. For beam radiation θ is found via standard geometry. The incidence angle for sky and ground diffuse radiation are found using, respectively, Eq 18.300 and 18.301 from the EnergyPlus documentation. They are

θsky=59.68-0.1388 til+0.001497 til2
θgnd=90.0-0.5788 til+0.002693 til2

where θsky is the incidence angle for diffuse radiation from the sky, til is the tilt of the solar thermal collector, and θgnd is the incidence angle for diffuse radiation from the ground.

These two equations must be evaluated in degrees. The necessary unit conversions are made internally.

This model reduces the heat gain rate to 0 W when the fluid temperature is within 1 degree C of the maximum temperature of the medium model. The calculation is performed using the AixLib.Utilities.Math.Functions.smoothHeaviside function.

#### References

ASHRAE 93-2010 -- Methods of Testing to Determine the Thermal Performance of Solar Collectors (ANSI approved).

EnergyPlus 23.2.0 Engineering Reference.

## Contents

Name | Description
--- | ---
Medium | Medium in the system

## Revisions

- February 28, 2024, by Jelger Jansen:
  Refactor model.
  This is for Buildings, #3604.
- April 27, 2018, by Michael Wetter:
  Corrected `displayUnit`.
  This is for Buildings, issue 912.
- May 31, 2017, by Michael Wetter and Filip Jorissen:
  Change limits for incident angle modifier to avoid dip in temperature at shallow incidence angles.
  This is for issue 785.
- September 17, 2016, by Michael Wetter:
  Corrected quantity from `Temperature` to `ThermodynamicTemperature` to avoid an error in the pedantic model check in Dymola 2017 FD01 beta2.
  This is for issue 557.
- June 29, 2015, by Michael Wetter:
  Revised implementation of heat loss near `Medium.T_max` to make it more efficient.
- June 29, 2015, by Filip Jorissen:
  Fixed sign mistake causing model to fail under high solar irradiation because temperature goes above medium temperature bound.
- November 20, 2014, by Michael Wetter:
  Added missing `each` keyword.
- Jan 15, 2013, by Peter Grant:
  First implementation

Generated at 2026-05-09T18:18:56Z by OpenModelicaOpenModelica 1.26.7 using GenerateDoc.mos