Mc Xtrace an Xray Monte Carlo raytracing software

  • Slides: 17
Download presentation
Mc. Xtrace an X-ray Monte Carlo ray-tracing software package Erik Knudsen, Peter Willendrup, Søren

Mc. Xtrace an X-ray Monte Carlo ray-tracing software package Erik Knudsen, Peter Willendrup, Søren Schmidt Risø-DTU Kim Lefmann University of Copenhagen

Code structure Kernel vs. Component developer Kernel: Propagation between components Positioning Code generation Component

Code structure Kernel vs. Component developer Kernel: Propagation between components Positioning Code generation Component developer Physics Interactions X-ray<->Matter

Code structure Component vs. Instrument: Relative positions of components Interaction with simulator Components: Interaction

Code structure Component vs. Instrument: Relative positions of components Interaction with simulator Components: Interaction with X-ray wave packet Kernel generated c: Not seen by users

Component code

Component code

Instrument file

Instrument file

Generated code “buzzwords” “Embarrasingly parallel” - linear speedup <1000 nodes via MPI (as tested

Generated code “buzzwords” “Embarrasingly parallel” - linear speedup <1000 nodes via MPI (as tested on Teragrid) Clever sampling SPLIT Focus windows Rudimentary adaptive source Mersenne Twister random generator

How? Initially Independent particles State parameters NEUTRON X-RAY (r, v, p, s) (r, k,

How? Initially Independent particles State parameters NEUTRON X-RAY (r, v, p, s) (r, k, p, f) etc. Time domain prop. => k domain prop.

Tie-ins with external software General Philosophy: If someone else does it well, interface not

Tie-ins with external software General Philosophy: If someone else does it well, interface not reinvent BUT Have very simple versions in-house Examples: Sources: Event files (from MCNPx, TRIPOLI 4) Samples: S(q, w) (ab. initio model from VASP)

NEUTRON MCNPx TRIPOLI 4 etc. Event File Sources X-RAY SPECTRA XOP URGENT etc. Event

NEUTRON MCNPx TRIPOLI 4 etc. Event File Sources X-RAY SPECTRA XOP URGENT etc. Event File / Brilliance Spectra Mc. Stas Mc. Xtrace Virtual Source

CGRAPH Interface CGRAPH Reflection list Powder / Single Crystal component

CGRAPH Interface CGRAPH Reflection list Powder / Single Crystal component

Examples and milestones Als-Nielsen pet project JJ-Xray SAX ESRF ID 11

Examples and milestones Als-Nielsen pet project JJ-Xray SAX ESRF ID 11

Als-Nielsen pet-project Image size h=(f 1 / p ) Compact Be lens ( f

Als-Nielsen pet-project Image size h=(f 1 / p ) Compact Be lens ( f 1)1/2=( f 2)1/2=c Source size H f 1 p f 2 ✔ Example : ✔ ✔

ID 11 Primary optics

ID 11 Primary optics

ID 11 Focussing Optics

ID 11 Focussing Optics

Funding NABIIT 4 years funding 2 postdoc. , 2 Ph. D. -students Simulation Experimentation

Funding NABIIT 4 years funding 2 postdoc. , 2 Ph. D. -students Simulation Experimentation w. SAX on Nanodiscs Validation of Simulations

Going forward General invitation to everyone: Contribute as much as you wish! Open Source

Going forward General invitation to everyone: Contribute as much as you wish! Open Source (GPL) => Copyleft Website: www. mcxtrace. org Mailing list: mcxtrace-users@mcxtrace. org Hands-on experience of neutron code: contact Peter Willendrup.