Skip to main content

Table 1 Comparisons of programs performing combinatorial treatments of disorder in crystals

From: Supercell program: a combinatorial structure-generation approach for the local-level modeling of atomic substitutions and partial occupancies in crystals

 

supercell

CRYSTAL

SOD

enumlib

eumlib + pymathgen

Public release

2016

2014

2007

2008

2013

License and availability

GPL, open access

Commercial, free demo version available

GPL, on demand

MIT, open access

Programming language

C++

Fortran

Fortran

Fortran

Fortran/Python

Interface

Command line interface (CLI)

Custom configuration file

Python script

Input from standard structure files

Yes

No

No

No

Yes

Preprocessing algorithms

Grouping, occupancy correction

(Any)a

Non-diagonal supercell expansion matrix

No

Yes

No

Yes

Multinominal distribution

Yes

No

No

Yes

Disorder on several independent sites supported

Yes

No

No

Yes

Random sampling

Yes

Yes

No

No

No

Coulomb energy sampling

Yes

No

No

No

Nob

Interface to calculations programs

Externalc

Internal, CRYSTAL only

Internal, VASP, GULP

Internal VASP

Internal VASP, GULP

Performance \(\hbox {Sn}_{0.5}\hbox {Pb}_{0.5}\hbox {Te}\) \(2\times 2\times 2\))d

27 min

15 se

N/Af

29 h

  1. \(^\mathrm{a}\) Pymathgen supports a wide range of structure manipulation procedures [43]
  2. \(^\mathrm{b}\) Coulomb energy sampling and merge algorithm are mutually exclusive within this framework
  3. \(^\mathrm{c}\) Input for most calculation programs can be prepared with shell scripts and cif2cell or OpenBabel
  4. \(^\mathrm{d}\)  The reported time is a dry-run time on Intel® Xeon® X5550 processor. All time-consuming I/O operations were disabled. The example is particularly challenging because the number of symmetry operations (1536) is really high (the same number of permutations on systems of lower symmetry should be processed faster)
  5. \(^\mathrm{e}\) The reported duration corresponds to the calculation of the total number of unique structures calculation. The sampling algorithm crashed
  6. \(^\mathrm{f}\) The program crashed with memory error. The expected run time is more than a year