Monte Carlo codes to simulate and analyse on-lattice cation disorder in kesterite-structured Cu2ZnSnS4 (CZTS)
Eris uses libconfig for reading the configuration file.
On a Debian-based Linux, this can be installed by sudo apt-get install libconfig-dev
.
To run locally, clone this repository and run make
to compile.
To run the compiled binary, type ./eris
. All simulation parameters are set by flags in eris.cfg
and details of flag settings for certain analyses are included in the corresponding ipython notebook in the analysis-notebooks directory.
Eris can be (trivially) parallelised over temperature with GNU parallel
. Use make parallel
for an example. Note that this overrides the temperature range and increments set by eris.cfg
, via the command line interface. The Makefile
example of seq 0 50 1000 | parallel ./eris {}
corresponds to running from T=0 K to T=1000 K in steps of 50 K.
See the Wiki for more information.
Eris can be run in a queue on high-performance computing systems.
To compile for CX1 at Imperial College with the intel compiler, use make cx1-icc
. This relies on first compiling a local copy of libconfig, to statically link into the Eris binary. A similar process can be used on other machines to which you don't have administrator rights.
This would first require the loading of the necessary Intel development environment module (CX1: module load intel-suite
, Hartree Centre Iden/Napier: module load intel
). The following executable line is required in the job submission script: seq 0 50 1000 | parallel -j NUM-CORES PATH-TO-BINARY/eris {} > eris-parallel.dat
, where NUM-CORES
and PATH-TO-BINARY
need to be modified. Note again here that the temperature range set in eris.cfg
will be overwritten.
ipython notebooks used to analyse data are contained in analysis-notebooks. Raw data from the publications listed below has been uploaded to a Zenodo repository.
The underlying physical model and applications are discussed in:
- Atomistic insights into the order–disorder transition in Cu2ZnSnS4 solar cells from Monte Carlo simulations S. K. Wallace, J. M. Frost and A. Walsh, DOI: 10.1039/C8TA04812F (Paper) J. Mater. Chem. A, 2019, 7, 312-321.
Jarvist Moore Frost and Suzanne K. Wallace. Codes started by Jarvist Moore Frost, September 19th 2014. Based on prior Amphisbaena and Starrynight codes.