Description: "Package for solar thermal collector controllers"

- Home > Modelica

## Buildings.Fluid.SolarCollectors.Controls

Package for solar thermal collector controllers

### Information

This package contains a controller for solar thermal collectors.

Extends from Modelica.Icons.Package (Icon for standard packages).

### Package Content

Name | Description
--- | ---
SolarPumpController | Controller which activates a circulation pump when solar radiation is above a critical level
Examples | Examples for solar thermal collector controller models
BaseClasses | Package of BaseClass models used to create the models in the Controls package

## Buildings.Fluid.SolarCollectors.Controls.SolarPumpController

Controller which activates a circulation pump when solar radiation is above a critical level

### Information

This component models a pump controller which might be used in a solar thermal system. It controls whether the pump is active or inactive based on the incident solar radiation and the system parameters. The pump is activated when the incident solar radiation is greater than the critical radiation.

The critical radiation is defined per Equation 6.8.2 in Duffie and Beckman (2006). It is

GTC=(FRUL (TIn-TEnv))/(FR(τα))

where GTC is the critical solar radiation, FRUL is the heat loss coefficient, TIn is the inlet temperature, TEnv is the ambient temperature, and FR(τα) is the maximum efficiency.

#### References

J.A. Duffie and W.A. Beckman 2006, Solar Engineering of Thermal Processes (3rd Edition), John Wiley & Sons, Inc.

Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Real | delY | 0.01 | Width of the smoothHeaviside function [W/m2]
GenericSolarCollector | per |  | Performance data

### Connectors

Type | Name | Description
--- | --- | ---
input RealInput | TIn | Fluid temperature entering the collector [K]
output RealOutput | y | On/off control signal for the pump [1]
Bus | weaBus | Weather data input

### Modelica definition

model SolarPumpController "Controller which activates a circulation pump when solar radiation is above a critical level" extends Modelica.Blocks.Icons.Block; parameter Real delY(final unit = "W/m2") = 0.01 "Width of the smoothHeaviside function"; parameter Buildings.Fluid.SolarCollectors.Data.GenericSolarCollector per "Performance data"; Modelica.Blocks.Interfaces.RealInput TIn(final unit = "K", final displayUnit = "degC", quantity = "ThermodynamicTemperature") "Fluid temperature entering the collector"; Modelica.Blocks.Interfaces.RealOutput y(min=0, max=1, unit="1") "On/off control signal for the pump"; Buildings.BoundaryConditions.WeatherData.Bus weaBus "Weather data input"; Buildings.Fluid.SolarCollectors.Controls.BaseClasses.GCritCalc criSol(final slope=per.slope, final y_intercept=per.y_intercept) "Calculates the critical insolation based on collector design and current weather conditions"; Modelica.Blocks.Math.Add add(final k2=-1) "Compares the current insolation to the critical insolation"; protected Buildings.Utilities.Math.SmoothHeaviside smoHea(final delta=delY) "Creates a smooth 1/0 output"; equation connect(TIn, criSol.TIn); connect(weaBus.TDryBul, criSol.TEnv); connect(weaBus.HDirNor, add.u1); connect(smoHea.y, y); connect(add.y, smoHea.u); connect(criSol.G_TC, add.u2); end SolarPumpController;