Charge equilibration method for crystal structures.
Modified version, which allows specifying additional parameters:
lambda
(default: 1.2) The dielectric screening parameter. Corresponds to eps_eff = 1.67hI0
(default: -2.0) The electron affinity of hydrogenchargePrecision
(default: 3) Number of digits to use for point chargesmethod
(default: "ewald", alternative: "nonperiodic") Method to compute the Coulombic interactionmR
(default: 2) Number of "expansion" unit cells to consider in periodic calculation ("real space"). 2 => 5x5x5mK
(default: 2) Number of "expansion" unit cells to consider in periodic calculation ("frequency space"). 2 => 5x5x5eta
(default: 50) Ewald splitting parameterionizationdata
(default: ionizationdata.dat) File with ionization potentials and electron affinities. Default data are
EA: experimental, T.Andersen et al., 1999
IP: experimental, C.E.Moore, 1970chargecenters
(default: chargecenters.dat) File with common oxidation states (lowered, if missing ionizationdata)pip install pyeqeq
To run the HKUST-1 example:
eqeq examples/HKUST1/HKUST1.cif -o examples/HKUST1/HKUST1_w_charge.cif
from pyeqeq import run_on_cif
run_on_cif("examples/HKUST1/HKUST1.cif")
The source code in this program demonstrates the charge equilibration method described in the accompanying paper. The purpose of the source code provided is to be minimalistic and do "just the job" described. In practice, you may wish to add various features to the source code to fit the particular needs of your project.
Original implementation by Christopher E. Wilmer, Randall Q. Snurr (advisor), Hansung Kim (car output), Patrick Fuller (streaming functionality), Louis Knapp (json output). Updated by Daniele Ongari.