Concentrating Solar Parabolic Trough (Surrogate)
from watertap_contrib.reflo.solar_models import TroughSurrogate
This Concentrating Solar Parabolic Trough (CST) unit model is a surrogate model that inherits its structure from the Solar Energy Base Class. The model is trained using data generated by the Industrial Process Heat (IPH) from PySAM which is is a Python package for the National Renewable Energy Laboratory’s System Advisor Model (SAM). Like the corollary in SAM, the CST model is assumed to include both the solar field and the thermal energy storage system. The CST model is assumed to generate thermal energy only and does not include a power cycle to convert thermal energy to electricity.
Model Structure
Outputs from the surrogate model are used to estimate the performance and the cost of the CST system. The degrees of freedom depends on the number of surrogate input variables set by the user in the model configuration. The model can have between 1 and 3 degrees of freedom, depending on the configuration. By default, the surrogate model includes the following input variables:
Variable |
Variable Name |
Symbol |
Units |
Description |
|---|---|---|---|---|
System capacity |
|
\(P_{th}\) |
\(\text{MW}\) |
Maximum thermal power output of the system |
Hours of storage |
|
\(t_{storage}\) |
\(\text{hr}\) |
Number of hours of thermal storage |
Loop temperature |
|
\(T_{loop}\) |
\(\text{°C}\) |
Loop outlet temperature in Celsius |
System capacity is a required input surrogate variable. The others are optional. Users can choose to use a fixed value for the hours of storage or loop temperature when generating data using PySAM.
The following parameters are required outputs of the surrogate model:
Variable |
Variable Name |
Symbol |
Units |
Description |
|---|---|---|---|---|
Heat annual |
|
\(H_{annual}\) |
\(\text{kWh}\) |
Annual thermal energy produced by the system |
Electricity annual |
|
\(E_{annual}\) |
\(\text{kWh}\) |
Annual electricity demand of the system |
Total aperture area |
|
\(A_{total}\) |
\(\text{m}^2\) |
Total required aperture area of the solar collectors |
Additional parameters included on the CST model block are:
Parameter |
Parameter Name |
Symbol |
Valid Range |
Units |
|---|---|---|---|---|
Row Spacing |
|
\(S_{row}\) |
15 |
\(\text{m}\) |
Maximum solar collector assembly width |
|
\(W_{sca,max}\) |
8.2 |
\(\text{m}\) |
These parameters are used to calculate the land area required for the CST system.
Generating Data
The data for the surrogate model can be generated using the generate_trough_data function in run_pysam_trough.py in the REFLO package.
This script uses the TroughPhysicalIph model from PySAM to generate the data.
Running this script will use the default weather file and configuration file included in the REFLO package,
but users should update these files for their specific location and application.
Weather files can be downloaded from the National Solar Radiation Database
and configuration .json files can be created using SAM.
The generate_trough_data function takes the following arguments:
Name |
Keyword |
Units |
Description |
|---|---|---|---|
System capacity |
|
\(\text{MW}\) |
List of range of values of interest for the trough system capacity |
Hours of storage |
|
\(\text{hr}\) |
List of range of values of interest for the hours of thermal storage |
Loop temperature |
|
\(\text{°C}\) |
List of range of values of interest for the loop outlet temperature |
Weather file |
|
N/A |
Path to the weather file |
Configuration file |
|
N/A |
Path to the configuration file for the PySAM model |
Dataset file name |
|
N/A |
Desired name of the output dataset file |
from watertap_contrib.reflo.solar_models import generate_trough_data
data = generate_trough_data(
system_capacities=[10, 20, 30, 40, 50],
hours_storages=[6, 12, 24],
temperatures_loop=[300],
weather_file="path/to/weather/file.csv",
config_file="path/to/config/file.json",
dataset_filename="path/to/dataset/filename.pkl",
)
Costing
The costing approach is adopted from the SAM costing for IPH parabolic trough systems. The following parameters are constructed on the costing block for CST costing:
Cost Component |
Variable |
Symbol |
Value |
Units |
Description |
|---|---|---|---|---|---|
Cost per total aperture area |
|
\(c_{ap}\) |
373 |
\(\text{USD/m}^2\) |
Cost per m2 of total aperture area (includes site improvement 16 $/m2, solar field 297 $/m2, HTF system 60 $/m2) |
Cost per heat sink |
|
\(c_{hs}\) |
120 |
\(\text{USD/kW}\) |
Cost for expenses related to installation of the heat sink, including labor and equipment per kWh (thermal) heat load |
Cost per balance of plant |
|
\(c_{bop}\) |
90 |
\(\text{USD/kW}\) |
Cost per thermal kilowatt of heat sink capacity for expenses related to installation of the heat sink, including labor and equipment |
Cost per storage capital |
|
\(c_{tes}\) |
32 |
\(\text{USD/kWh}\) |
Cost per kWh of thermal energy storage capacity |
Contingency factor |
|
\(X_{c}\) |
0.07 |
\(\text{dimensionless}\) |
Fraction of direct costs for contingency |
Indirect cost factor |
|
\(X_{i}\) |
0.11 |
\(\text{dimensionless}\) |
Fraction of direct costs for indirect costs |
Taxable frac of direct costs |
|
\(X_{d}\) |
0.05 |
\(\text{dimensionless}\) |
Fraction of direct costs applicable for sales tax |
Fixed operating cost per system capacity |
|
\(C_{fix,op}\) |
103758 |
\(\text{USD/year}\) |
Fixed operating cost of trough plant in SAM. Not a function of electricity generated |
Variable operating cost per energy generated |
|
\(C_{var,op}\) |
0.002 |
\(\text{USD/kWh}\) |
Variable operating cost of trough plant per kWh generated |
These are used the calculate the following capital and operating costs:
Cost Component |
Symbol |
Equation |
|---|---|---|
Solar collectors cost |
\(C_{ap}\) |
\(c_{ap} \times A_{total}\) |
Thermal storage cost |
\(C_{tes}\) |
\(c_{tes} \times t_{storage} \times P_{th}\) |
Heat sink cost |
\(C_{hs}\) |
\(c_{hs} \times P_{th}\) |
Balance of plant cost |
\(C_{bop}\) |
\(c_{bop} \times P_{th}\) |
Land cost |
\(C_{land}\) |
\(c_{land} \times A_{land}\) |
Fixed operating cost |
\(C_{fix,op}\) |
\(C_{fix,op}\) |
Variable operating cost |
\(C_{var,op}\) |
\(C_{var,op} \times H_{annual}\) |
The direct costs include the cost of the collectors, storage, heat sink, balance of plant, and contingency.
Indirect costs are calculated as a fraction of the direct costs and the land cost:
Then, the total capital cost of the CST system is the sum of direct and indirect costs and sales tax:
Note that by default, REFLO assumes no sales tax (i.e., \(X_{t} = 0\)) or land cost (i.e., \(c_{land} = 0\)).
The total operating cost is the sum of fixed and variable operating costs:
Energy Balance
The CST model has both thermal and electric power flows. The steady-state thermal output of the CST system is calculated as:
\(Q_{out}\) is the steady-state thermal output (in kW)
\(H_{annual}\) is the annual thermal energy generation (in kWh)
The parasitic power consumption of the CST system is calculated as:
\(P_{cons}\) is the parasitic power consumption (in kW)
\(E_{annual}\) is the annual electric energy consumption (in kWh)