modelFlatPlateWithTank

Example showing use of the flat plate solar collector in a complete solar thermal system

Extends from Modelica.Icons.Example (Icon for runnable examples).

Information

This example shows how several different models can be combined to create an entire solar water heating system. The Buildings.Fluid.Storage.StratifiedEnhancedInternalHex (tan) model is used to represent the tank filled with hot water. A loop, powered by a pump ( Buildings.Fluid.Movers.FlowControlled_m_flow, pum), passes the water through an expansion tank ( Buildings.Fluid.Storage.ExpansionVessel, exp), a temperature sensor ( Buildings.Fluid.Sensors.TemperatureTwoPort, TIn), the solar collector ( Buildings.Fluid.SolarCollectors.ASHRAE93, solCol), and a second temperature sensor ( Buildings.Fluid.Sensors.TemperatureTwoPort, TOut) before re-entering the tank.

The solar collector is connected to the weather model ( Buildings.BoundaryConditions.WeatherData.ReaderTMY3, weaDat) which passes information for the San Francisco, CA, USA climate. This information is used to identify both the heat gain in the water from the sun and the heat loss to the ambient conditions.

The flow rate through the pump is controlled by a solar pump controller model ( Buildings.Fluid.SolarCollectors.Controls.CollectorPump, pumCon) and a gain model. The controller outputs a binary on (1) / off (0) signal. The on/off signal is passed through a boolean to real signal converter to set the pump mass flow rate.

The heat ports for the tank are connected to an ambient temperature of 20 degrees C representing the temperature of the room the tank is stored in.

bou1 ( Buildings.Fluid.Sources.MassFlowSource_T) provides a constant mass flow rate for a hot water draw while bou ( Buildings.Fluid.Sources.Boundary_pT) provides a boundary condition for the outlet of the draw.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.Angleazi0.3Surface azimuth (0 for south-facing; -90 degree for east-facing; +90 degree for west facing
Modelica.Units.SI.Angletil0.78539816339745Surface tilt (0 for horizontally mounted collector)
Realrho0.2Ground reflectance
Modelica.Units.SI.MassFlowRatem_flow_nominalsolCol.m_flow_nominalNominal mass flow rate

Components

TypeNameDefaultDescription
Buildings.Fluid.SolarCollectors.ASHRAE93solColFlat plate solar collector model
Buildings.BoundaryConditions.WeatherData.ReaderTMY3weaDatWeather data file reader
Buildings.Fluid.Sensors.TemperatureTwoPortTOutTemperature sensor
Buildings.Fluid.Sensors.TemperatureTwoPortTInTemperature sensor
Buildings.Fluid.Storage.StratifiedEnhancedInternalHextanStorage tank model
Buildings.Fluid.SolarCollectors.Controls.CollectorPumppumConPump controller
Buildings.HeatTransfer.Sources.FixedTemperaturerooTRoom temperature
Buildings.Fluid.Sources.Boundary_pTbouOutlet for hot water draw
Buildings.Fluid.Sources.MassFlowSource_Tbou1Inlet and flow rate for hot water draw
Buildings.Fluid.Movers.FlowControlled_m_flowpumPump forcing circulation through the system
Buildings.Fluid.Storage.ExpansionVesselexpExpansion tank
Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensorTTanTemperature in the tank water that surrounds the heat exchanger
Modelica.Blocks.Math.BooleanToRealbooToReaConversion of control signal to real-valued signal

Contents

NameDescription
MediumFluid in the storage tank
Medium_2Fluid flowing through the collector

Revisions

  • February 15, 2024, by Jelger Jansen:
    Refactor model.
    This is for Buildings, #3604.
  • November 7, 2022, by Michael Wetter:
    Revised example to provide values for new parameters and to integrate the revised solar pump controller.
    This is for issue 3074.
  • September 16, 2021, by Michael Wetter:
    Removed parameter assignment for lat.
    This is for IBPSA, #1477.
  • December 22, 2014 by Michael Wetter:
    Removed Modelica.Fluid.System to address issue #311.
  • April 18, 2014, by Michael Wetter:
    Updated model to use the revised tank and increased the tank height.
  • March 25, 2014, by Michael Wetter:
    Updated model with new expansion vessel.
  • March 27, 2013 by Peter Grant:
    First implementation