Skip to main content

logo

AI-Enhanced Differentiable Ray Tracer for Irradiation Prediction in Solar Tower Digital Twins

DOI PyPI License: MIT OpenSSF Best Practices fair-software.eu FAIR checklist badge Ruff codecov pre-commit.ci status Documentation Status CITATION.cff

What ARTIST can do for you

The ARTIST package provides an implementation of a fully differentiable ray tracer using the PyTorch machine-learning framework in Python. Leveraging automatic differentiation and GPU computation, ARTIST enables gradient-based optimization within a differentiable solar tower power plant model using smooth parametric descriptions of heliostats. While the underlying framework is designed to support the optimization of arbitrary plant components, including towers and receivers, the current implementation focuses on data-driven heliostat surface reconstruction and alignment.

Our contributions include:

  • Efficient heliostat calibration: ARTIST combines a differentiable geometric model of heliostat kinematics with parallelized computation to enable efficient heliostat reconstruction from receiver flux measurements. This results in a flexible and robust calibration approach.

  • Accurate surface reconstruction and flux density prediction: Leveraging learning Non-Uniform Rational B-Splines (NURBS), ARTIST reconstructs heliostat surfaces accurately using calibration images commonly available in solar thermal power plants. Thus, we can achieve sub-millimeter accuracy in mirror reconstruction from focal spot images, contributing to improved operational safety and efficiency. The reconstructed surfaces can be used for predicting unique heliostat flux densities with state-of-the-art accuracy. Check out this paper for more details:

    M. Pargmann, J. Ebert, M. Götz et al. Automatic heliostat learning for in situ concentrating solar power plant metrology with differentiable ray tracing. Nat Commun 15, 6997 (2024). https://doi.org/10.1038/s41467-024-51019-z

  • Immediate deployment: ARTIST can be deployed from the beginning of a solar thermal power plant's operation, enabling in situ calibration and subsequent improvements in energy efficiency and cost reduction..

  • Optimized flux density: ARTIST enables flux density optimization across an entire heliostat field by adjusting heliostat motor positions to obtain an optimal flux distribution on the receiver.

Installation

We recommend installing the ARTIST package in a dedicated Python3.10+ virtual environment. You can install the latest stable release from PyPI:

pip install artist-csp

If you need the latest updates, you can also install ARTIST directly from the main branch via:

pip install git+https://github.com/ARTIST-Association/ARTIST.git

To install ARTIST locally, there are two steps you need to follow:

  1. Clone the ARTIST repository:
    git clone https://github.com/ARTIST-Association/ARTIST.git
    
  2. Install the package from the main branch. There are multiple installation options available:
    • Install basic dependencies: pip install .
    • Install with optional dependencies to run the tutorials: pip install ."[tutorials]"
    • Install an editable version with developer dependencies: pip install -e ."[dev]"

Structure

The ARTIST repository is structured as shown below:

.
├── artist # Parent package
│   ├── core # Core functionality of ARTIST, e.g. raytracing, optimizers etc.
│   ├── data_loader # Deals with loading data into ARTIST from different sources
│   ├── field # Objects in the field, e.g. heliostats and target areas like receivers and calibration targets
│   ├── scenario # Functionality to create and load scenarios in ARTIST.
│   ├── scene # Light sources and factors influencing the surroundings
│   └── util
├── tests
│   ├── data
│   │   ├── field_data # Real measurements from the PAINT database and STRAL that can be used in ARTIST
│   │   ├── scenarios # Scenarios describing an environment that can be loaded by ARTIST
│   │   └── ...
│   ├── core
│   ├── data_loader
│   └── ...
└── tutorials # Tutorials to help you get started with ARTIST
    ├── data # Data accessed in the tutorials
    │   ├── paint # Real measurements from the PAINT database
    │   ├── scenarios # Scenarios describing an environment that can be loaded by ARTIST
    │   └── stral Real # Measurements from STRAL
    └── ...

Documentation

You can check out the full ARTIST documentation at https://artist.readthedocs.io/en/latest/index.html :rocket:! The ARTIST documentation includes:

  • Installation instructions
  • Tutorials
  • Some theoretical background information
  • API reference

How to contribute

Check out our contribution guidelines if you are interested in contributing to the ARTIST project :fire:. Please also carefully check our code of conduct :blue_heart:.

How to test our software

For detailed instructions on testing, please refer to point 6 of the contribution guidelines.

Acknowledgments

This work is supported by the Helmholtz AI platform grant.


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

artist_csp-2.0.0.tar.gz (52.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

artist_csp-2.0.0-py3-none-any.whl (156.1 kB view details)

Uploaded Python 3

File details

Details for the file artist_csp-2.0.0.tar.gz.

File metadata

  • Download URL: artist_csp-2.0.0.tar.gz
  • Upload date:
  • Size: 52.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for artist_csp-2.0.0.tar.gz
Algorithm Hash digest
SHA256 39dc1fa21cfaafd43d65043252262e6a0f90973cd80fb8063814cc5f21df1eac
MD5 5f612950f91b5d923ad7ecd742f908f4
BLAKE2b-256 2ef795d03e8a1b0270d06201aeab7f696fac1413cda283da837d0abbb0e55eb2

See more details on using hashes here.

File details

Details for the file artist_csp-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: artist_csp-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 156.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for artist_csp-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ceca4b3c054ab36f92dcc3168dc8c2a4d6d6011765f02a3107ecadb45ed2811b
MD5 60c02db570a0b10ef8350892da3ce61b
BLAKE2b-256 3f43c312a6d0e6d908d05ba9f474de1af50d0c8a07600d044a7fc41bd4368636

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page