Giter Club home page Giter Club logo

shadow3's Introduction

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):

  • M. Sanchez del Rio, N. Canestrari, F. Jiang and F. Cerrina "SHADOW3: a new version of the synchrotron X-ray optics modelling package" Journal of Synchrotron Radiation Volume 18, Part 5 (September 2011) http://dx.doi.org/10.1107/S0909049511026306

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:

  • Luca Rebuffi, Manuel Sanchez del Rio (2016) ShadowOui : a new visual environment for X-ray optics and synchrotron beamline simulations Journal of Synchrotron Radiation 23: 6. 1357-1367 http://dx.doi.org/10.1107/S1600577516013837
  • X J Yu, X Chi, T Smulders, A T S Wee, A Rusydi, M Sanchez del Rio, M B H Breese (2022) Beamline simulations using monochromators with high d-spacing crystals Journal of Synchrotron Radiation 29: 5. https://doi.org/10.1107/S160057752200707X

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:

  • Xianbo Shi, Ruben Reininger, Manuel Sanchez del Rio, Lahsen Assoufid (2014) A hybrid method for X-ray optics simulation : combining geometric ray-tracing and wavefront propagation Journal of Synchrotron Radiation 21: 4. 669-678. http://dx.doi.org/10.1107/S160057751400650X
  • Xianbo Shi, Manuel Sanchez del Rio, Ruben Reininger (2014) A new SHADOW update : integrating diffraction effects into ray-tracing SPIE Proceedings 9209: 920911-920911-9. http://dx.doi.org/10.1117/12.2061984
  • Xianbo Shi, Ruben Reininger, Manuel Sánchez del Río, Jun Qian, Lahsen Assoufid (2014) X-ray optics simulation and beamline design using a hybrid method : diffraction-limited focusing mirrors SPIE Proceedings 9209: 920909-920909-9. http://dx.doi.org/10.1117/12.2061950

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

  • F. Cerrina "Ray Tracing Of Recent VUV Monochromator Designs", Proc. SPIE 0503, Application, Theory, and Fabrication of Periodic Structures, DiffractionGratings, and Moire Phenomena II, (12 December 1984); https://doi.org/10.1117/12.944815

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 ([email protected])

shadow3's People

Contributors

srio avatar mrakitin avatar mark-glass avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.