Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions joss_paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -100,3 +100,96 @@ @article{Huang:2021
address = {Switzerland},
issn = {1424-8220},
}

@article{Kuhl:2024,
publisher = {Elsevier},
pages = {112894--1},
month = {November},
series = {Elsevier},
number = {282},
title = {Flux Density Distribution Forecasting in Concentrated Solar Tower Plants: A Data-Driven Approach},
journal = {Solar Energy},
author = {Kuhl, Mathias and Pargmann, Max and Cherti, Mehdi and Jitsev, Jenia and Maldonado Quinto, Daniel},
year = {2024},
issn = {0038-092X},
doi = {10.1016/j.solener.2024.112894},
}

@article{Lewen:2025,
publisher = {Elsevier},
title = {Inverse Deep Learning Raytracing for Heliostat Surface Prediction},
author = {Lewen, Jan and Pargmann, Max and Maldonado Quinto, Daniel and Jitsev, Jenia and Cherti, Mehdi and Pitz-Paal, Robert},
journal = {Solar Energy},
year = {2025},
month = {March},
doi = {10.1016/j.solener.2025.113312},
keywords = {Inverse Deep Learning Raytracing, Deep Learning, Heliostat Surface Errors, Concentrating Solar Power},
issn = {0038-092X}
}

@article{Sattler:2020,
title = {Review of heliostat calibration and tracking control methods},
journal = {Solar Energy},
volume = {207},
pages = {110-132},
year = {2020},
issn = {0038-092X},
doi = {doi.org/10.1016/j.solener.2020.06.030},
author = {Johannes Christoph Sattler and Marc Röger and Peter Schwarzbözl and Reiner Buck and Ansgar Macke and Christian Raeder and Joachim Göttsche},
}

@article{Ulmer:2011,
title = {Automated high resolution measurement of heliostat slope errors},
journal = {Solar Energy},
volume = {85},
number = {4},
pages = {681-687},
year = {2011},
note = {SolarPACES 2009},
issn = {0038-092X},
doi = {doi.org/10.1016/j.solener.2010.01.010},
author = {Steffen Ulmer and Tobias März and Christoph Prahl and Wolfgang Reinalter and Boris Belhomme},
}

@book{Edenhofer:2011,
title={Renewable energy sources and climate change mitigation: Special report of the intergovernmental panel on climate change},
author={Edenhofer, Ottmar and Pichs-Madruga, Ram{\'o}n and Sokona, Youba and Seyboth, Kristin and Kadner, Susanne and Zwickel, Timm and Eickemeier, Patrick and Hansen, Gerrit and Schl{\"o}mer, Steffen and von Stechow, Christoph and others},
year={2011},
publisher={Cambridge University Press}
}

@article{Mitchell:2025,
author = {Mitchell, Rebecca and Wang, Ye and Izygon, Michel and Pye, John and Zhu, Guangdong},
title = {Modeling receiver flux of commercial power tower concentrating solar power plants using ray tracing: a round-robin comparison of SolTrace, Solstice, and TieSOL},
doi = {10.1016/j.solener.2025.113785},
journal = {Solar Energy},
issn = {ISSN 0038-092X},
volume = {300},
place = {United States},
publisher = {Elsevier BV},
year = {2025},
month = {11}
}

@article{Belhomme:2014,
author = {Belhomme, Boris and Pitz-Paal, Robert and Schwarzbözl, Peter},
year = {2014},
month = {02},
pages = {},
title = {Optimization of Heliostat Aim Point Selection for Central Receiver Systems Based on the Ant Colony Optimization Metaheuristic},
volume = {136},
journal = {Journal of Solar Energy Engineering},
doi = {10.1115/1.4024738}
}


@article{Sattler:2024,
author = {Sattler, Johannes and Schneider, Iesse and Angele, Florian and Atti, Vikrama Nagababu and Teixeira Boura, Cristiano José and Herrmann, Ulf},
year = {2024},
month = {01},
pages = {},
title = {Development of Heliostat Field Calibration Methods: Theory and Experimental Test Results},
volume = {1},
journal = {SolarPACES Conference Proceedings},
doi = {10.52825/solarpaces.v1i.678}
}
113 changes: 106 additions & 7 deletions joss_paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,21 +42,120 @@ bibliography: paper.bib

# Summary

`artist`is a software package for concentrating solar power (CSP) plant digital twins. Solar tower power plants use an array of mirrors (heliostats), to reflect and concentrate sunlight onto a small area called the receiver. This process generates heat energy which is either used directly in industrial processes or to produce electricity. Efficient power plant operation is complex and differentiable digital twins can play an important role in enabling data-driven optimization and control. This Python package, `artist`, implements a fully differentiable digital twin for solar tower power plants, allowing for high-performance, memory-efficient optimization and parameter learning of the plant's components. At its core, the differentiable ray tracer simulates how light interacts with the three-dimensional scene, including environmental conditions, enabling gradient-based optimization from predicted flux distributions. By including differentiable models of all power plant components - including Non-Uniform Rational B-Splines (NURBS) surface models - `artist` can be used for highly accurate surface reconstruction, kinematic reconstruction, and aim point optimization. To ensure scalability, `artist` features native GPU acceleration, data-parallel processing, support for distributed computation, and is designed for portability across multiple hardware stacks.

`artist` is a Python software package for the simulation and optimization of concentrating solar power (CSP) plant
operation. Solar tower power plants use an array of mirrors, known as heliostats, to reflect and concentrate sunlight
onto a small receiver located at the top of a tower. The resulting thermal power, represented as a flux distribution on
the receiver, can either be used directly as high-temperature heat in industrial processes or converted into
carbon-neutral electricity.
`artist` implements a fully differentiable digital twin of solar tower power plants and provides tools for data-driven
power plant component modeling and heliostat aim point optimization. Its differentiable ray tracer simulates light
transport within a three-dimensional scene in due consideration of environmental conditions, while enabling the
integration of ray tracing into gradient-based optimization. The key functionality and workflow of `artist` are
illustrated in \autoref{fig:flowchart}.
In real-world operation, all physical plant components are subject to manufacturing tolerances and imperfections, which
typically increase as the system ages. As a result, each heliostat produces an individually distorted flux distribution.
To maximize plant efficiency, the real-world flux of every heliostat must be directed to a specific aim point on the
receiver so that the combined flux density distribution becomes optimal. The main sources of uncertainty are small
surface deformations [@Ulmer:2011] and misalignments in each heliostat caused by inaccuracies in the kinematic
components [@Sattler:2020]. These effects accumulate across the heliostat field and must be accounted for in accurate
simulations. To address these challenges, `artist` provides functions to reconstruct real-world heliostat surface
geometries and kinematic properties. It includes algorithms for alignment and ray tracing that enable the prediction of
flux densities on the receiver. Building on this, heliostat aim points can be optimized to maximize the plant's overall
energy yield.

# Statement of Need

Concentrating solar power is a sustainable and renewable alternative to fossil fuels and nuclear energy, providing an environmentally friendly solution to meet the globally rising demand for energy [@CSPRoadMapNREL]. The absorbed thermal power in a solar tower can be converted into electricity or high-temperature heat for industrial processes. The economic performance of solar tower power plants has yet to reach its full potential, as operational costs remain high due to mechanical imperfections, real-time control requirements and dynamic weather conditions [@Carballo:2025]. Digital twins with advanced simulation techniques, as well as precise behavior analysis and prediction capabilities are essential for establishing fully autonomous power plant operation and a consequential reduction in costs [@Huang:2021]. While solar tower power plants may vary in their individual architectural details, their digital twins consistently rely on ray tracing. Conventional ray tracers [@Ahlbrink:2012], [@SolTrace], [@Tonatiuh:2018] achieve good results in simulating power plant behavior. However, they can only use ray tracing to make predictions based on supplied data and their current model. From a machine learning perspective, these ray tracers are confined to forward computations, and therefore they often require large amounts of data to function accurately. `artist` addresses this limitation with its differentiable implementation of the ray tracer and all connecting modules. The differentiability significantly improves the data requirements for CSP digital twins and also enables additional applications, including heliostat field layout optimization and solar tower design optimizations. The underlying concepts of `artist` are based on previous publications, which have demonstrated the potential of increasing solar tower power plant efficiency [@Pargmann:2024]. `artist`'s modular architecture, built on abstraction and inheritance, enables its application across diverse solar tower power plant designs. Users can incorporate specific design details and define custom power plant behavior to be used in combination with shared differentiable algorithms for alignment, ray tracing, heliostat surface reconstruction, and kinematic reconstruction already defined in `artist`. This software is designed for researchers, power plant operators, developers within the CSP community or anyone else interested in the field. `artist` includes data loaders compatible with various data sources, including the open-access CSP database PAINT [@Phipps:2025], for users who do not have direct access to an operational power plant. Overall, the accessibility of the data, the modularity of the software, and its adherence to the FAIR principles for research software [@Barker:2022] aim to strengthen community engagement and collaboration for further research advancements.
Digital twins of solar tower power plants with precise simulation and reliable predictive capabilities are essential for
enabling fully autonomous operation and thereby reducing costs [@Huang:2021]. While individual plants may differ in
architectural details, their strong dependence on accurately modeling light paths and reflections makes ray tracing a
key component. Conventional CSP ray tracers [@Ahlbrink:2012; @SolTrace; @Tonatiuh:2018] achieve good results in
simulating power plant behavior but are limited to making predictions through forward simulations based on
the supplied data and underlying model. From a machine learning perspective, these ray tracers are thus restricted to
forward computations and often require large amounts of data to achieve high accuracy.
`artist` addresses this limitation through its differentiable implementation of the ray tracer and all connecting
modules. Single differentiable digital twin tasks for CSP simulations have already been explored in related works, such
as inverse deep learning approaches for heliostat surface modeling [@Lewen:2025] and generative neural networks for flux
prediction [@Kuhl:2024]. In contrast to these black-box AI methods, `artist` maintains interpretability through its
foundation in physical models. Transparency in system behavior is critical for building trust in automated decision-making
and software-generated operational recommendations. The methodology implemented in `artist` remains consistent across
all optimization tasks, integrating modeling, prediction and optimization into a unified framework.
`artist` is designed for researchers, power plant operators, developers within the CSP community, and anyone interested
in the field. It provides data loaders compatible with various data sources, including the open-access CSP database
PAINT [@Phipps:2025], enabling contributions from researchers who do not have direct access to an operational power
plant. By developing `artist` as an easily accessible open-source software package, we aim to strengthen community
engagement and foster collaboration for further research advancements.

![Features of `artist`, the **A**I-Enhanced Differentiable **R**ay **T**racer for **I**rradiation Prediction in **S**olar Tower Digital **T**wins (ARTIST).
To create digital twins of solar tower power plants in `artist`, users provide HDF5 files containing data about the
power plant's physical layout. These HDF5 scenarios can be generated by `artist` from various data sources.
`artist` unpacks the files to initiate the reconstruction, prediction, and optimization. The optimized power plant
parameters, i.e., the motor positions for each heliostat, can be used directly as input for power plant
control software. To efficiently represent heliostat surfaces in the digital twin, `artist` includes a fully
differentiable, parallelized NURBS implementation for three-dimensional surfaces. \label{fig:flowchart}](flowchart.png)

# State of the Field

Commercial digital twin software solutions for solar tower power plants, such as the raytracer STRAL [@Ahlbrink:2012] or
TieSOL [@Mitchell:2025], are non-differentiable and therefore lack the ability to reconstruct heliostat field models or
to optimize power plant parameters. Instead, they assume idealized hardware or provide tools for exact modeling which
rely on practically infeasible measurements. Moreover, these commercially proven software solutions are typically
proprietary and closed-source, limiting opportunities for public contributions. Even for open-source, commercially
validated, non-differentiable ray tracers such as SolTrace [@SolTrace], the modifications required to propagate
gradients through the entire simulation would be so extensive and fundamental that the development of a new tool is
justified.
In literature, many proof-of-concept studies address single tasks relevant for digital twin simulation and optimization
of solar tower power plants. These include differentiable ray tracing [@Pargmann:2024], surface modeling
[@Lewen:2025], kinematic calibration [@Sattler:2024], and flux prediction [@Kuhl:2024]. While each of these approaches
demonstrates promising capabilities, they mostly remain isolated solutions. Since each task relies on a methodology
specialized to its specific requirements, straightforward unification is challenging. `artist` addresses this gap
by applying one coherent optimization strategy across all tasks, redefining and extending existing approaches to form an
integrated and practicably usable software product that is fundamentally different from the task-specific solutions but
solves the same problems. As no comparable open-source alternative exists, it provides a solid foundation for future
contributions.

# Software Design

`artist` is designed for computational efficiency by balancing memory consumption, execution time, and simulation
accuracy. To preserve real-time capabilities and maintain scalable runtimes for power plants with several thousand
mirrors, `artist` features native GPU acceleration and supports distributed computation. On a single GPU, `artist`
parallelizes the computation of individual heliostats by storing data in the Structure of Arrays (SoA) format, ensuring
contiguous memory layout. Combined with the GPU’s Single-Instruction, Multiple-Thread (SMIT) processing model, this
data structure enables coalesced memory access, minimizing memory overhead while maximizing GPU utilization. For
distributed execution across multiple compute nodes, `artist` uses a nested data-parallel approach that distributes
groups of heliostats among the available compute resources. Each distributed group can additionally be parallelized
through nested sub-processes. Heliostats within a single group share mathematically identical alignment calculations
that differ from those of other groups, which requires them to be processed separately for efficient parallelization.
In `artist`, parameter learning relies purely on gradient-descent based optimization combined with physics-informed
models and constraints. This combination stabilizes the optimization of the underdetermined system and reduces the
search space. It also enables fast convergence with fewer samples, thereby reducing latency and memory usage. Users can
configure key simulation and optimization parameters to adjust the trade-off between memory usage, computational time,
and precision according to their needs. The core algorithms in `artist` are implemented using fully differentiable
methods building on PyTorch's automatic differentiation system for gradient propagation.
Overall, `artist` adheres to the FAIR principles for research software (FAIR4RS) [@Barker:2022] and ensures portability
across multiple hardware platforms by leveraging CI/CD pipelines with automated tests on Windows, Linux, and MacOS. Even
though `artist` is optimized for GPU execution, it supports both CPU and GPU operation and automatically selects the
appropriate communication layer for multi-node parallel execution based on the underlying operating system and hardware
configuration. Its modular architecture, built on abstraction and inheritance, enables application across diverse solar
tower power plant designs. Users can extend existing interfaces to incorporate plant-specific design details into
heliostat field models. The `artist` software package is fully documented via Read the Docs, including installation
instructions, tutorials, theoretical background on mathematical concepts and data structures as well as a complete API
reference.

# Research Impact Statement

# Features
The underlying concepts of `artist` build on previous publications that demonstrate the potential of the differentiable
ray tracing approach [@Pargmann:2024]. More generally, these works highlight the potential for improving solar tower
power plant efficiency as a means of providing an environmentally friendly solution to meet the globally rising demand
for energy [@CSPRoadMapNREL; @Carballo:2025; @Edenhofer:2011].

The main features of `artist` are shown in \autoref{fig:flowchart}. To create digital twins of solar tower power plants in `artist`, users are asked to provide HDF5-files containing data about the physical layout of the power plant. The HDF5 scenarios can be generated by `artist` from various data sources. `artist` unpacks these files to initiate the simulation process by aligning heliostats and performing ray tracing to predict flux density distributions. This combination of alignment and ray tracing is used iteratively in the optimization tasks for reconstructing real-world mirror surfaces and the kinematic and for subsequently optimizing the heliostat aim points. The optimized parameters, can be used directly as input to a power plant control software. To efficiently handle heliostat surfaces, `artist` contains a fully differentiable, parallelized NURBS implementation.
# AI Usage Disclosure

![Features of `artist`, the AI-enhanced differentiable Ray Tracer for Irradiation Prediction in Solar Tower Digital Twins. \label{fig:flowchart}](flowchart.png)
Generative AI was employed solely as an editorial and technical aid, specifically for debugging code and refining the
manuscript. Generative AI did not contribute to the underlying architectural design or any scientific findings.

# Acknowledgements

This work is supported by the Helmholtz Association Initiative and Networking Fund through the Helmholtz AI platform, HAICORE@KIT and the ARTIST project under grant number ZT-I-PF-5-159.
This work is supported by the Helmholtz Association Initiative and Networking Fund through the Helmholtz AI platform,
HAICORE@KIT and the ARTIST project under grant number ZT-I-PF-5-159.

# References