Package: lattice-mc
lattice_mc: A Python Lattice-Gas Monte Carlo Modulelattice_mcis Python module for performing (kinetic) lattice-gas Monte Carlo (LGMC) simulations of ionic transport in solid electrolytes.In solid electrolytes, ionic motion is typically effected by a series of discrete “jumps” where ions move between adjacent lattice sites [1]. For dilute mobile ions, ionic trajectories are random walks, and simple analytical expressions exits that relate macroscopic transport coefficients, i.e. diffusion coefficients and ionic conductivities, to the microscopic jump frequency of individual ions [2,3]. Practical solid electrolytes have high mobile ion concentrations, with significant interparticle interactions producing deviations from the dilute limit random walk behaviour. In general, thequantitativeeffect of interparticle interactions cannot be determined analytically. As an alternative, numerical simulations, such as lattice-gas Monte Carlo methods, can be used to directly calculate these relationships. Lattice-gas Monte Carlo methods are particularly suited to studying how varying properties across broad classes of materials give quantitative differences in macroscopic ionic transport, and can be used to understand the different transport properties of materials with, for example, different crystal structures or mobile ion stoichiometries.lattice_mchas been written to allow materials scientists and solid-state chemists model how the microscopic physics of solid electrolytes (crystal structure, stoichiometry, interaction models) determine macroscopic transport behaviour (diffusion and ionic conduction), with the goal of understand the factors that make different materials more or less useful for specific applications (e.g. Li-ion batteries or fuel cells).The code allows the programmatic construction of simple lattices (presently implemented are square, honeycomb, and cubic lattices). Lattices with arbitrary geometries can be constructed from a file format that defines the lattice sites and their connectivity, allowing models based on crystallographic data. The algorithms used and interaction models are described in more detail in Ref. [4]. Calculated properties include tracer and “jump” diffusion coefficients; where the latter is proportional to the mobility (and hence the conductivity for charged particles) [5]; and tracer (single particle) and collective correlation factors,fandfI[6]. The simplest interaction model is for “non-interacting” particles, where the only restriction is volume exclusion (two particles cannot simultaneously occupy a single site) [7]. Additional interaction models include nearest-neighbour repulsion and on-site energies for inequivalent sites. Simulations are performed using an efficient rejection-free Monte Carlo scheme [8].Installationpip install lattice_mcOr download the latest release fromGitHubhttps://github.com/bjmorgan/lattice_mc/archive/1.0.0.tar.gzThen installcd lattice_mc
python setup.py installOr you can clone the latest development version:git clone git@github.com:bjmorgan/lattice_mc.gitand install the same way.cd lattice_mc
python setup.py installAlternatively, you can install the latest build usingpip, direct from GitHub, e.g.pip3 install git+https://github.com/bjmorgan/lattice_mc.gitDocumentationFull documentation and examples are contained in aJupyter notebookatexamples/lattice_mc_example.ipynb. The example notebook is also hosted onGitHub.TestsAutomated testing of the latest build happenshere.Manual tests can be run usingpython3 -m unittest discoverThe code has been tested with Python versions 3.5 and above.ReferencesC. R. A. Catlow,Sol. Stat. Ionics8, 89 (1983).R. E. Howard and A. B. Lidiard,Rep. Prog. Phys.27, 161 (1964).J. H. Harding, Defects and Transport in Ionic Solids, inIonic Solids at High Temperaturesed. A. M. Stoneham, World Scientific (1989).B. J. Morgan,arXiv: 1707.00491A. Van der Venet al.Acc. Chem. Res.46, 1216 (2013).G. E. MurchSol. Stat. Ionics7, 177 (1982).R. KutnerPhys. Lett.81A, 239 (1981).A. F. Voter, Introduction to the Kinetic Monte Carlo Method, inRadiation Effects in Solids, ed. K. E. Sicafuset al., Springer (2007).Morgan and Madden,J. Phys. Condens. Matter24, 275303 (2012).G. E. Murch & R. J. Thorn,Phil. Mag.36529 (1977).