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
Buildings.Fluid.SolarCollectors.Controls.SolarPumpController SolarPumpController Controller which activates a circulation pump when solar radiation is above a critical level
Buildings.Fluid.SolarCollectors.Controls.Examples Examples Examples for solar thermal collector controller models
Buildings.Fluid.SolarCollectors.Controls.BaseClasses BaseClasses Package of BaseClass models used to create the models in the Controls package

Buildings.Fluid.SolarCollectors.Controls.SolarPumpController Buildings.Fluid.SolarCollectors.Controls.SolarPumpController

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

Buildings.Fluid.SolarCollectors.Controls.SolarPumpController

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

TypeNameDefaultDescription
RealdelY0.01Width of the smoothHeaviside function [W/m2]
GenericSolarCollectorper Performance data

Connectors

TypeNameDescription
input RealInputTInFluid temperature entering the collector [K]
output RealOutputyOn/off control signal for the pump [1]
BusweaBusWeather 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;