SHADOW3 API: The Application Programming Interface for the ray tracing code SHADOW
European Synchrotron Radiation Facility, 6, rue Jules Horowitz, 38000 Grenoble, France
Proc. SPIE 8141, 814112, 2011
@article{canestrari2011shadow3,
title={SHADOW3 API: The Application Programming Interface for the ray tracing code SHADOW},
author={Canestrari, N. and Karkoulis, D. and del R{i}o, M.S.},
year={2011}
}
We developed the third version of SHADOW, a ray tracing software widely used to design optical system in the synchrotron world. SHADOW3 is written in Fortran 2003 and follows the new computer engineering standards. The users can always execute the program in the traditional file oriented approach. Moreover, advanced users can create personalized scripts, macros and executables using the new Application Programming Interface SHADOW3-API. It also allows binding of SHADOW3 with several popular programming languages such as C, C++, python and IDL. We describe the SHADOW3 API structure, and illustrate its use with some examples. We analyze the possibilities of running SHADOW3 in parallel machines under different environments. A version using the Open Message Parsing Interface has been implemented. A SHADOW3 postprocessor has been accelerated with the use Graphics Processing Units. This will open new possibilities to extend the already very popular ray tracing tool to applications simulating 2D and 3D experiments (like imaging, tomography)
December 26, 2011 by hgpu