-
Notifications
You must be signed in to change notification settings - Fork 2
Generating zone plates for simulation
This wiki page is intended to be used as an accompaniment to this release for the purpose of computational reproducibility and as a resource for anyone looking to implement similar methods.
The folder xwp_petsc/zp_database/4096x4096/
has a set of ipython notebooks that generate a 4096x4096
zone plate and subsequently convert it to hdf5 input files for wave propagation simulation. The zone plate generation is based upon earlier work, code for which is available here. Generating zone plates with different grid sizes is a straightforward task of changing the parameters. An alternative to using the Henke et.al. database is xraylib.
The additional notebooks present here are : zp_hdf5_dmda.ipynb
and zp_hdf5_ms.ipynb
. These take the zone plate pattern (stored in .npy
format), perform some pre-processing and store the data as hdf5 files for parallel reading by the respective simulation routines.
A conda environment file is provided (at xwp_petsc/zp_database/py3.yml
) to ensure reproducibility.