Skip to content
/ Eris Public

Monte Carlo codes to simulate cation disorder in kesterite semiconductors

Notifications You must be signed in to change notification settings

WMD-group/Eris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOI License: MIT Build Status

Eris

Monte Carlo codes to simulate and analyse on-lattice cation disorder in kesterite-structured Cu2ZnSnS4 (CZTS)

Getting started

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 on HPC

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.

Analysing data

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.

Publication

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.

Contributors

Jarvist Moore Frost and Suzanne K. Wallace. Codes started by Jarvist Moore Frost, September 19th 2014. Based on prior Amphisbaena and Starrynight codes.