oasys-kit / shadow3

Official repository for shadow3 (x-ray-tracer engine)
MIT License
31 stars 19 forks source link

SHADOW 3.0 SOURCE DISTRIBUTION

Contents:

  1. What is SHADOW
  2. Installing SHADOW
  3. Building SHADOW
  4. SHADOW web resources
  5. Contact

1 What is SHADOW

SHADOW is an open source ray tracing code for modeling optical systems.

Targeted to synchrotron radiation beamlines, it has unique features for designing X-ray optical systems.

For more info, please read this paper (open access):

If you are (or want to be) a SHADOW user, it is recommended that you use a user interface. We strongly recommend OASYS (https://www.aps.anl.gov/Science/Scientific-Software/OASYS) with its ShadowOui add-on. Information can ba found at these papers:

A ShadowOUI tutorial is at: https://github.com/oasys-kit/ShadowOui-Tutorial

Note also that the ShadowOUI interface implements the hybrid ray-tracing method explained at:

If you want to cite the first paper on Shadow by Franco Cerrina, please cite:

2 Installing SHADOW

In most cases, shadow3 is used within the OASYS package, therefore there is no need to install it independently (install OASYS from https://www.aps.anl.gov/Science/Scientific-Software/OASYS ).

To install shadow3 in python, you can use pip or conda:

3 Building SHADOW

SHADOW3 sources are downloaded using git:

  git clone https://github.com/oasys-kit/shadow3

To build the command-mode shadow3 version:

  cd shadow3/src
  # Check (edit) the Makefile if you need to redefine compilers etc.
  # The use of Makefile is documented in its header. Basically:
  make           : builds shadow3 the main program
  make all       : builds shadow3, libraries, etc

to build the python API:

in shadow3 directory, use the standard python setup (see comments in setup.py for specific platforms):

  python setup.py sdist build
  python setup.py bdist_wheel
  python -m pip install dist/...whl

4 SHADOW web resources:

5 Contact

SHADOW is currently maintained by Manuel Sanchez del Rio (srio@esrf.eu)