Solar Thermal

Note

A solar thermal system consists of an element and a controller. The element defines the collector’s physical parameters, while the controller governs the thermodynamic logic.

The create_controlled function creates both and connects them.

Create Controlled Function

pandaprosumer.create_controlled_solar_thermal(prosumer, collector_area=2.5, optical_efficiency=0.77, thermal_losses=3.0, second_thermal_losses=0.02, incidence_angle=0.9, flow_rate=72, test_specific_heat=4.18, use_specific_heat=4.18, number_collectors=4.0, series=1.0, piping_length=0.0, piping_diameter=0.028, piping_thickness=0.03, piping_conductivity=0.04, collector_slope=40.0, collector_azimut=0.0, name=None, index=None, in_service=True, level=0, order=0, period=0, **kwargs)[source]

Input Static Data

Parameter

Description

Unit

collector_area

Area of a single collector

number_collectors

Number of collectors in the field

N/A

optical_efficiency (a₀)

Optical efficiency factor

thermal_losses (a₁)

First-order thermal loss coefficient

W/(m²·K)

second_thermal_losses (a₂)

Second-order thermal loss coefficient

W/(m²·K²)

flow_rate

Nominal mass flow rate per collector

kg/h

test_specific_heat

Specific heat used in test conditions

kJ/(kg·K)

use_specific_heat

Specific heat of working fluid

kJ/(kg·K)

piping_length

Length of connecting pipes

m

piping_diameter

Inner diameter of pipes

m

piping_thickness

Pipe wall thickness

m

piping_conductivity

Thermal conductivity of pipe material

W/(m·K)

incidence_angle

Incidence angle modifier at 50°

collector_slope

Slope of the collector field

deg

series

Number of collectors in series

N/A

in_service

Indicates if the solar thermal system is in service

N/A

Input Time Series

Parameter

Description

Unit

beam_solar_radiation_w_m2

Beam solar radiation on collector surface

W/m²

diffuse_solar_radiation_w_m2

Diffuse solar radiation

W/m²

ground_solar_radiation_w_m2

Ground-reflected solar radiation

W/m²

radiation_incidence_angle_deg

Angle of incidence of solar radiation

deg

ambient_temperature_C

Ambient temperature

°C

inlet_temperature_C

Inlet fluid temperature

°C

inlet_mass_flow_rate_kg_h

Inlet mass flow rate

kg/h

Output Time Series

Parameter

Description

Unit

outlet_temperature_C

Outlet fluid temperature

°C

outlet_flow_rate_kg_h

Outlet mass flow rate

kg/h

energy_gain_W

Thermal energy gain of the collector field

W

Mapping

The Solar Thermal model can be mapped using GenericMapping and FluidMixMapping.

Model

class pandaprosumer.controller.models.SolarThermalController(prosumer, solar_themal_object, order, level, in_service=True, index=None, **kwargs)[source]

Definition of the Class for the Controller

Parameters

BasicProsumerController_type_

_description_

Returns

_type_

_description_

The Solar Thermal controller implements the thermodynamic model of a collector field. It accounts for optical efficiency, thermal losses, and correction factors for capacitance, series connection, and piping. The model uses a single temperature to characterize the solar field and relies on the EN12975 standard to characterize the solar thermal collector performance. The approach is based on Chapter 6 and Chapter 10 of “Solar Engineering of Thermal Processes”, by J.A Duffie and W.A. Beckman. The model can simulate the performance of the solar field collector, and then connect it to a thermal storage component or heat exchanger model to incorporate it in a model or a functional system.

Collector Initial Parameters

The effective parameters are derived from test values:

\[FR(\tau \alpha)_n = \frac{a_0}{1 + \frac{3.6 \cdot a_1}{2 \cdot m_{test} \cdot c_{p,test}}}\]
\[FRU_L = \frac{a_1}{1 + \frac{3.6 \cdot a_1}{2 \cdot m_{test} \cdot c_{p,test}}}\]
\[FRU_{L2} = \frac{a_2}{1 + \frac{3.6 \cdot a_1}{2 \cdot m_{test} \cdot c_{p,test}}}\]

Capacitance Correction Factor

\[r_{cap} = \frac{m \cdot c_p}{n_c \cdot a_c} \cdot \frac{1 - \exp\left(-\frac{3.6 \cdot n_c \cdot a_c \cdot f_{finul}}{m \cdot c_p}\right)}{3.6 \cdot FRU_L}\]

with

\[f_{finul} = -\frac{m \cdot c_p}{3.6 \cdot a_c} \ln\left(1 - \frac{3.6 \cdot FRU_L \cdot a_c}{m \cdot c_p}\right)\]

Series Connection Correction Factor

\[r_{series} = \frac{1 - (1 - k)^{n_{series}}}{n_{series} \cdot k}, \quad k = \frac{3.6 \cdot n_c \cdot a_c \cdot FRU_L}{m \cdot c_p}\]

Piping Correction Factor

\[U_p = \frac{2 k_{ins}}{(d_{pipe} + 2 t_{ins}) \ln\left(1 + \frac{2 t_{ins}}{d_{pipe}}\right)}\]
\[U_{ap} = U_p \cdot l_{pipe} \cdot (d_{pipe} + 2 t_{ins})\]
\[r_0 = \frac{1}{1 + \frac{3.6 U_{ap}}{m c_p}}, \quad r_1 = \frac{1 - \frac{3.6 U_{ap}}{m c_p} + \frac{2 U_{ap}}{a_c FRU_L}}{1 + \frac{3.6 U_{ap}}{m c_p}}, \quad r_2 = r_1\]

Radiation Incidence (IAM Effect)

The absorbed solar radiation is corrected by incidence angle modifiers:

\[b_0 = \frac{1 - k_{t,\alpha,50}}{1 - \cos(50^\circ) - 1}\]
\[k_{t,\alpha} = 1 - b_0 \left(\frac{1}{\cos(\theta)} - 1\right)\]
\[k_{t,\alpha,diff} = 1 - b_0 \left(\frac{1}{\cos(\theta_{diff})} - 1\right)\]
\[k_{t,\alpha,gr} = 1 - b_0 \left(\frac{1}{\cos(\theta_{gr})} - 1\right)\]
\[G_t = k_{t,\alpha} I_{beam} + k_{t,\alpha,diff} I_{diff} + k_{t,\alpha,gr} I_{gr}\]

Energy Gain

Finally, the useful thermal energy is:

\[\dot{Q}_{gain} = \dot{m} \cdot c_p \cdot (T_{out} - T_{in})\]