Mc Xtrace an Xray Monte Carlo raytracing software

















- Slides: 17
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 developer Physics Interactions X-ray<->Matter
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
Instrument file
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, p, f) etc. Time domain prop. => k domain prop.
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 File / Brilliance Spectra Mc. Stas Mc. Xtrace Virtual Source
CGRAPH Interface CGRAPH Reflection list Powder / Single Crystal component
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 1)1/2=( f 2)1/2=c Source size H f 1 p f 2 ✔ Example : ✔ ✔
ID 11 Primary optics
ID 11 Focussing Optics
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 (GPL) => Copyleft Website: www. mcxtrace. org Mailing list: mcxtrace-users@mcxtrace. org Hands-on experience of neutron code: contact Peter Willendrup.