Introducing a new generation adaptive optics simulation framework: from PASSATA to SPECULA
Abstract
Numerical end-to-end simulation in adaptive optics (AO) is a key tool in the development of complex systems, from the initial design to the commissioning phase. Based on our previous experience with PASSATA, we decided to develop a new AO simulation framework in the Python language, naming it short for: scalable parallel execution of computations upscaling large adaptive optics simulations (SPECULA). Following an object-oriented approach, the physical entities are modeled as processing objects connected to each other to exchange data objects. A simulation is run by providing its description instead of writing and executing a specific script. The Python language and its library flexibility allowed us to write a single code that can be run on computing architectures based on both classical central processing units (CPUs) or modern graphics processing units (GPUs). We put a strong focus on computational efficiency, relying on CuPy and its interface to access the CUDA-stream mechanism. Moreover, SPECULA is capable of distributed computations across multiple processing nodes, making it suitable for running in an HPC environment as demonstrated on the Italian supercomputer Leonardo. SPECULA can also be used in a laboratory environment to implement a hybrid simulation, allowing us to interface simulated and concrete objects: this feature was demonstrated in the adaptive optics laboratories at Arcetri Observatory. We describe the main characteristics of SPECULA, show some relevant examples of its use, and finally draw our goals for the future.
Fields of Study & Subjects
Adaptive optics and wavefront sensing
Advanced X-ray Imaging Techniques
Advanced optical system design
Publication details
- Journal / source
- Journal of Astronomical Telescopes Instruments and Systems
- Volume
- 12
- Issue
- 01
- Pages
- 1–23
- Publication date
- 6 January 2026