We start with an amorphous silicon (a-Si) structure and follow the next protocol:
-
add a Li atom at the center of the largest spherical void, to find the largest spherical void, the centers of the Delaunay triangulation are found, which correspond to the vertices of a Voronoi diagram, the distance from these points to all the atoms is calculated, the smallest one is selected and then the largest of these corresponds to the empty sphere with the largest radius.
-
increase the volume and scale the coordinates, this is done to follow the experimental expansion of the system.
-
perform a local LBFGS minimization, with DFTB+ software.
-
simulate an NPT molecular dynamics, with DFTB+ software.
-
select the frame with minimum absolute pressure,
-
with x defined as number of Li atoms per Si atoms if x is less than 3.75 goto point 1 else finish.
This protocol is slightly similar to the one proposed by Chevrier and Dahn, also for the lithiation of a-Si. To make the process faster, multiple atoms of lithium can be added at a time and expanding the volume and the coordinates in each one of them. The authors checked with DFT that a step of x=0.25 in LixSi does not alter the results, which corresponds with 16 Li atoms for the a-Si64 initial structure.
Structures obtained with this code were published in this article and are available in this public repo.
Python3.8+ and MDAnalysis (which also install NumPy and SciPy):
pip install -U MDAnalysis
You also need a DFTB+ executable and the
set of parameters for the LiSi interaction in the params
directory (these
parameters can be downloaded
here). Also, hsd
input
files for DFTB+ LBFGS minimization and NPT simulation must be provided in the
respective directories.
$ python3 main.py --help
usage: main.py [-h] [--restart-from RESTART_FROM] [--nsteps NSTEPS]
[--expansion-factor EXPANSION_FACTOR] [--nsi NSI] [--xfull XFULL]
[--box-size BOX_SIZE]
Lithiation protocol for an amorphous Si structure
optional arguments:
-h, --help show this help message and exit
--restart-from RESTART_FROM
restart from a given structure RESTART_FROM, e.g. Li55Si64
--nsteps NSTEPS number of simultaneous lithium insertions, e.g. 3
--expansion-factor EXPANSION_FACTOR
the volume expansion of adding a lithium atom in the structure
--nsi NSI number of atoms of Si in the initial amorphous structure, e.g.
64
--xfull XFULL the maximum x value
--box-size BOX_SIZE the initial size of the box