-
Notifications
You must be signed in to change notification settings - Fork 0
/
.zenodo.json
100 lines (100 loc) · 18 KB
/
.zenodo.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{
"title": "Enhancing the ReaxFF protocol",
"version": "1.0.0",
"description": "<h1 id=\"enhancing-the-reaxff-protocol\">Enhancing the ReaxFF protocol</h1>\n<p>This repository contains the jupyter notebooks used to re-parametrize the ReaxFF force field for LiF, an inorganic compound. The purpose of the set of notebooks is to facilitate the reparameterization ReaxFF force field for LiF. The results and method used were published in the article <a href=\"https://doi.org/10.1038/s41598-023-50978-5\">Enhancing ReaxFF for Molecular Dynamics Simulations of Lithium-Ion Batteries: An interactive reparameterization protocol</a>.</p>\n<p>The database containing the simulation data from <em>ab initio</em> simulations obtained from this protocol is published in <a href=\"https://github.com/paolodeangelis/Enhancing_ReaxFF_DFT_database\">Enhancing ReaxFF repository DFT Database</a>.</p>\n<p>The Jupyter Notebooks provided here are designed to facilitate the configuration building, execution of DFT simulations, and optimization of the ReaxFF potential, as described in the workflow diagram shown below. To manage the complexity of the overall operation, we have divided the process into four main Jupyter Notebooks, with an additional auxiliary notebook.</p>\n<p>Each notebook can be executed independently, allowing for flexibility in adapting the workflow to optimize the ReaxFF potential for different compounds with minimal modifications.</p>\n<p>The four main Jupyter Notebooks cover various aspects of the workflow, including configuration setup, DFT simulations, and ReaxFF optimization. By following the sequence of these notebooks, you will be able to efficiently perform the entire process, from initial configuration generation to the optimization of the ReaxFF potential.</p>\n\n<h2 id=\"installation\">Installation</h2>\n<p>To use the protocol and interact with it, ensure that you have the following Python requirements installed:</p>\n<p><strong>Minimum Requirements:</strong></p>\n<ul>\n<li>Python 3.8 or above</li>\n<li>Atomic Simulation Environment (ASE) library</li>\n<li>Jupyter Lab</li>\n</ul>\n<p><strong>Requirements for Re-running or Performing New Simulations:</strong></p>\n<ul>\n<li>SCM (Software for Chemistry & Materials) Amsterdam Modeling Suite (version < 2022.4)</li>\n<li>PLAMS (Python Library for Automating Molecular Simulation) library</li>\n</ul>\n<p><strong>Requirements for Re-running ReaxFF optimization:</strong></p>\n<ul>\n<li>AMS (Amsterdam Modeling Suite) Python Stack (<a href=\"https://www.scm.com/doc/Scripting/Python_Stack/Python_Stack.html\">more info here</a>)</li>\n</ul>\n<p>You can install the required Python packages using pip:</p>\n<pre class=\"shell\"><code>pip install -r requirements.txt</code></pre>\n<blockquote>\n<p><strong>Warning</strong></p>\n<p>This do not include the ParAMS packages since is available only in AMS Python Stack.</p>\n<p>See instruction below.</p>\n</blockquote>\n<pre class=\"shell\"><code>export SCM_PYTHONDIR=$(pwd)/venv\n$AMSBIN/amspython --install_venv\nsource venv/AMSYYYY.X.venv/bin/activate # Replace YYYY.X with the correct AMS version</code></pre>\n<blockquote>\n<p><strong>Warning</strong></p>\n<p>Make sure to have the appropriate licenses and installations of SCM Amsterdam Modeling Suite and any other necessary software for running simulations.</p>\n</blockquote>\n<h3 id=\"configure-material-project-api\">Configure <code>Material Project API</code></h3>\n<p><strong>Get <em>Material Project</em> API key</strong></p>\n<p>Access to <a href=\"https://materialsproject.org/\">Material Project</a> and follow the instructions on the <a href=\"https://materialsproject.org/api\">documentation</a></p>\n<h4 id=\"make-the-configuration-file\">Make the configuration file</h4>\n<ol type=\"1\">\n<li>Run the script replacing <code><MATERIAL_PROJECT_KEY></code> with the Material Project API key.</li>\n</ol>\n<pre class=\"shell\"><code>python tools/mpinterface_setup.py -k <MATERIAL_PROJECT_KEY></code></pre>\n<h2 id=\"folder-structure\">Folder Structure</h2>\n<p>The repository has the following folder structure:</p>\n<div class=\"sourceCode\" id=\"cb4\"><pre class=\"sourceCode bash\"><code class=\"sourceCode bash\"><span id=\"cb4-1\"><a href=\"#cb4-1\" aria-hidden=\"true\"></a><span class=\"ex\">.</span></span>\n<span id=\"cb4-2\"><a href=\"#cb4-2\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">CREDITS.md</span></span>\n<span id=\"cb4-3\"><a href=\"#cb4-3\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">LICENSE</span></span>\n<span id=\"cb4-4\"><a href=\"#cb4-4\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">README.md</span></span>\n<span id=\"cb4-5\"><a href=\"#cb4-5\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">requirements.txt</span></span>\n<span id=\"cb4-6\"><a href=\"#cb4-6\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">assets</span></span>\n<span id=\"cb4-7\"><a href=\"#cb4-7\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">data</span></span>\n<span id=\"cb4-8\"><a href=\"#cb4-8\" aria-hidden=\"true\"></a>\u2502 \u251c\u2500\u2500 <span class=\"ex\">training_set.yaml</span></span>\n<span id=\"cb4-9\"><a href=\"#cb4-9\" aria-hidden=\"true\"></a>\u2502 \u251c\u2500\u2500 <span class=\"ex\">test_set.yaml</span></span>\n<span id=\"cb4-10\"><a href=\"#cb4-10\" aria-hidden=\"true\"></a>\u2502 \u251c\u2500\u2500 <span class=\"ex\">ffield.reax.CHOSiLiF_K.S.Yun_etal_2017.ff</span></span>\n<span id=\"cb4-11\"><a href=\"#cb4-11\" aria-hidden=\"true\"></a>\u2502 \u2514\u2500\u2500 <span class=\"ex\">ffield.reax.optimized.ff</span></span>\n<span id=\"cb4-12\"><a href=\"#cb4-12\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">tools</span></span>\n<span id=\"cb4-13\"><a href=\"#cb4-13\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">JNB1-Initial_configrations.ipynb</span></span>\n<span id=\"cb4-14\"><a href=\"#cb4-14\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">JNB2-Simulations.ipynb</span></span>\n<span id=\"cb4-15\"><a href=\"#cb4-15\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">JNB3-Build_traingset.ipynb</span></span>\n<span id=\"cb4-16\"><a href=\"#cb4-16\" aria-hidden=\"true\"></a>\u251c\u2500\u2500 <span class=\"ex\">preJNB4-ReaxFF_optimization.ipynb</span></span>\n<span id=\"cb4-17\"><a href=\"#cb4-17\" aria-hidden=\"true\"></a>\u2514\u2500\u2500 <span class=\"ex\">JNB4-ReaxFF_optimization.ipynb</span></span></code></pre></div>\n<ul>\n<li><code>CREDITS.md</code>: This file acknowledges and credits the individuals or organizations that have contributed to the repository.</li>\n<li><code>LICENSE</code>: This file contains the license information for the repository (CC BY 4.0). It specifies the terms and conditions under which the repository\u2019s contents are distributed and used.</li>\n<li><code>README.md</code>: This file (repository overview and instructions).</li>\n<li><code>requirements.txt</code>: This file lists the required Python packages and their versions (see <a href=\"#installation\">installation section</a>).</li>\n<li><code>assets</code>: This folder contains any additional assets, such as images or documentation, related to the repository.</li>\n<li><code>data</code>: This folder contains the data files resulting from this work.\n<ul>\n<li><code>training_set.yaml</code>: YAML (human and machine-readable) file with the training-set quantities.</li>\n<li><code>test_set.yaml</code>: YAML (human and machine-readable) file with the test-set quantities.</li>\n<li><code>ffield.reax.CHOSiLiF_K.S.Yun_etal_2017.ff</code>: This file is the starting point ReaxFF corresponding to the article <a href=\"https://doi.org/10.1021/acs.jpclett.7b00898\"><em>Yun et al., J. Phys. Chem. Lett. 2017, 8, 13, 2812\u20132818</em></a>.</li>\n<li><code>ffield.reax.optimized.ff</code>: This file is the optimized ReaxFF resulting from using these Jupyter notebooks, as explained in the related <a href=\"https://doi.org/10.1038/s41598-023-50978-5\">journal article</a>.</li>\n</ul></li>\n<li><code>notebooks</code>: This folder contains Jupyter notebooks that provide demonstrations and examples of how to use and analyze the database.\n<ul>\n<li><code>JNB1-Initial_configurations.ipynb</code>: Jupyter Notebook where the protocol is initialized by querying the <em>Materials Project</em> database, downloading the unit crystals, and producing all the initial configurations for the DFT simulations using the <em>pymatgen</em> library.</li>\n<li><code>JNB2-Simulations.ipynb</code>: This notebook performs the simulations using BAND and DFTB codes available in the Amsterdam Modeling Suite. The simulations are performed in parallel using the <em>PLAMS</em> library and <em>SLURM</em> scheduler.</li>\n<li><code>JNB3-Build_trainingset.ipynb</code>: Here, the quantities needed for the database are extracted and tuned to favor accuracy on the energy.</li>\n<li><code>preJNB4-ReaxFF_optimization.ipynb</code>: This is an auxiliary Notebook where the old ReaxFF is converted into a Python object, and it is possible to select the subset of coefficients related to specific interactions to change during the optimization (e.g., bond, van der Waals, angular, etc.).</li>\n<li><code>JNB4-ReaxFF_optimization.ipynb</code>: This notebook takes the database and the ReaxFF Python object to perform a multi-objective optimization and find the new ReaxFF potential that minimizes the Sum of Squared Errors (SSE).</li>\n</ul></li>\n<li><code>tools</code>: This directory contains a collection of Python modules and scripts.</li>\n</ul>\n<blockquote>\n<p><strong>Note</strong></p>\n<p>Please note that the Jupyter notebooks <code>preJNB4-ReaxFF_optimization.ipynb</code> and <code>JNB4-ReaxFF_optimization.ipynb</code> can be run multiple times to gradually optimize the ReaxFF potential. This optimization process involves selecting different subsets of parameters, as demonstrated in the workflow and described in the accompanying <a href=\"https://doi.org/10.1038/s41598-023-50978-5\">article</a>.</p>\n</blockquote>\n<h2 id=\"contributing\">Contributing</h2>\n<p>At the moment the contribution to this repository is closed since all the work is under peer-review revision.</p>\n<h2 id=\"how-to-cite\">How to Cite</h2>\n<p>If you use the protocol or part of this repository for your work, please cite it using the following BibTeX entries:</p>\n<div class=\"sourceCode\" id=\"cb5\"><pre class=\"sourceCode bibtex\"><code class=\"sourceCode bibtex\"><span id=\"cb5-1\"><a href=\"#cb5-1\" aria-hidden=\"true\"></a><span class=\"va\">@article</span>{<span class=\"ot\">deangelis2024enhancing</span>,</span>\n<span id=\"cb5-2\"><a href=\"#cb5-2\" aria-hidden=\"true\"></a> <span class=\"dt\">title</span>={Enhancing ReaxFF for molecular dynamics simulations of lithium-ion batteries: an interactive reparameterization protocol},</span>\n<span id=\"cb5-3\"><a href=\"#cb5-3\" aria-hidden=\"true\"></a> <span class=\"dt\">author</span>={De Angelis, Paolo and</span>\n<span id=\"cb5-4\"><a href=\"#cb5-4\" aria-hidden=\"true\"></a> Cappabianca, Roberta and</span>\n<span id=\"cb5-5\"><a href=\"#cb5-5\" aria-hidden=\"true\"></a> Fasano, Matteo and</span>\n<span id=\"cb5-6\"><a href=\"#cb5-6\" aria-hidden=\"true\"></a> Asinari, Pietro and</span>\n<span id=\"cb5-7\"><a href=\"#cb5-7\" aria-hidden=\"true\"></a> Chiavazzo, Eliodoro},</span>\n<span id=\"cb5-8\"><a href=\"#cb5-8\" aria-hidden=\"true\"></a> <span class=\"dt\">journal</span>={Scientific Reports},</span>\n<span id=\"cb5-9\"><a href=\"#cb5-9\" aria-hidden=\"true\"></a> <span class=\"dt\">volume</span>={14},</span>\n<span id=\"cb5-10\"><a href=\"#cb5-10\" aria-hidden=\"true\"></a> <span class=\"dt\">number</span>={1},</span>\n<span id=\"cb5-11\"><a href=\"#cb5-11\" aria-hidden=\"true\"></a> <span class=\"dt\">pages</span>={978},</span>\n<span id=\"cb5-12\"><a href=\"#cb5-12\" aria-hidden=\"true\"></a> <span class=\"dt\">year</span>={2024},</span>\n<span id=\"cb5-13\"><a href=\"#cb5-13\" aria-hidden=\"true\"></a> <span class=\"dt\">publisher</span>={Nature Publishing Group UK London}</span>\n<span id=\"cb5-14\"><a href=\"#cb5-14\" aria-hidden=\"true\"></a>}</span></code></pre></div>\n<div class=\"sourceCode\" id=\"cb6\"><pre class=\"sourceCode bibtex\"><code class=\"sourceCode bibtex\"><span id=\"cb6-1\"><a href=\"#cb6-1\" aria-hidden=\"true\"></a><span class=\"co\">@software{EnhancingReaxFF,</span></span>\n<span id=\"cb6-2\"><a href=\"#cb6-2\" aria-hidden=\"true\"></a><span class=\"co\"> author = {De Angelis, Paolo and</span></span>\n<span id=\"cb6-3\"><a href=\"#cb6-3\" aria-hidden=\"true\"></a><span class=\"co\"> Cappabianca, Roberta and</span></span>\n<span id=\"cb6-4\"><a href=\"#cb6-4\" aria-hidden=\"true\"></a><span class=\"co\"> Fasano, Matteo and</span></span>\n<span id=\"cb6-5\"><a href=\"#cb6-5\" aria-hidden=\"true\"></a><span class=\"co\"> Asinari, Pietro and</span></span>\n<span id=\"cb6-6\"><a href=\"#cb6-6\" aria-hidden=\"true\"></a><span class=\"co\"> Chiavazzo, Chiavazzo},</span></span>\n<span id=\"cb6-7\"><a href=\"#cb6-7\" aria-hidden=\"true\"></a><span class=\"co\"> title = {Enhancing the ReaxFF protocol},</span></span>\n<span id=\"cb6-8\"><a href=\"#cb6-8\" aria-hidden=\"true\"></a><span class=\"co\"> month = jun,</span></span>\n<span id=\"cb6-9\"><a href=\"#cb6-9\" aria-hidden=\"true\"></a><span class=\"co\"> year = 2023,</span></span>\n<span id=\"cb6-10\"><a href=\"#cb6-10\" aria-hidden=\"true\"></a><span class=\"co\"> publisher = {Zenodo},</span></span>\n<span id=\"cb6-11\"><a href=\"#cb6-11\" aria-hidden=\"true\"></a><span class=\"co\"> version = {1.0.0-alpha},</span></span>\n<span id=\"cb6-12\"><a href=\"#cb6-12\" aria-hidden=\"true\"></a><span class=\"co\"> doi = {10.5281/zenodo.8036775},</span></span>\n<span id=\"cb6-13\"><a href=\"#cb6-13\" aria-hidden=\"true\"></a><span class=\"co\"> url = {https://doi.org/10.5281/zenodo.8036775}</span></span>\n<span id=\"cb6-14\"><a href=\"#cb6-14\" aria-hidden=\"true\"></a><span class=\"co\">}</span></span></code></pre></div>\n<h2 id=\"license\">License</h2>\n<p>The contents of this repository are licensed under the <a href=\"http://creativecommons.org/licenses/by/4.0/\">Creative Commons Attribution 4.0 International License</a>.</p>\n<h2 id=\"acknowledgments\">Acknowledgments</h2>\n<p>This project has received funding from the European Union\u2019s <a href=\"https://ec.europa.eu/programmes/horizon2020/en\">Horizon 2020 research and innovation programme</a> under grant agreement <a href=\"https://cordis.europa.eu/project/id/957189\">No 957189</a>. The project is part of <a href=\"https://battery2030.eu/\">BATTERY 2030+</a>, the large-scale European research initiative for inventing the sustainable batteries of the future.</p>\n<p>The authors also acknowledge that the simulation results of this database have been achieved using the <a href=\"https://prace-ri.eu/hpc-access/deci-access/\">DECI</a> resource <a href=\"https://www.archer2.ac.uk/\">ARCHER2</a> based in UK at <a href=\"https://www.epcc.ed.ac.uk/\">EPCC</a> with support from the <a href=\"https://prace-ri.eu/\">PRACE</a> aisbl.</p>\n\n<!-- [![CC BY 4.0][cc-by-image]][cc-by] -->\n",
"creators": [
{
"name": "De Angelis, Paolo",
"affiliation": "Department of Energy \u201cGalileo Ferraris\u201d, Politecnico di Torino, Corso Duca Degli Abruzzi 24 10129 Torino, Italy",
"orcid": "0000-0003-1866-2988"
},
{
"name": "Cappabianca, Roberta",
"affiliation": "Department of Energy \u201cGalileo Ferraris\u201d, Politecnico di Torino, Corso Duca Degli Abruzzi 24 10129 Torino, Italy",
"orcid": "0000-0002-3789-9676"
},
{
"name": "Fasano, Matteo",
"affiliation": "Department of Energy \u201cGalileo Ferraris\u201d, Politecnico di Torino, Corso Duca Degli Abruzzi 24 10129 Torino, Italy",
"orcid": "0000-0002-3997-3681"
},
{
"name": "Asinari, Pietro",
"affiliation": "Department of Energy \u201cGalileo Ferraris\u201d, Politecnico di Torino, Corso Duca Degli Abruzzi 24 10129 Torino, Italy",
"orcid": "0000-0003-1814-3846"
},
{
"name": "Chiavazzo, Eliodoro",
"affiliation": "Department of Energy \u201cGalileo Ferraris\u201d, Politecnico di Torino, Corso Duca Degli Abruzzi 24 10129 Torino, Italy",
"orcid": "0000-0001-6165-7434"
}
],
"upload_type": "software",
"access_right": "open",
"license": "cc-by-4.0",
"communities": [
{
"identifier": "bigmap-h2020"
}
],
"contributors": [
{
"name": "De Angelis, Paolo",
"type": "ProjectManager",
"orcid": "0000-0003-1866-2988"
},
{
"name": "Cappabianca, Roberta",
"type": "ProjectMember",
"orcid": "0000-0002-3789-9676"
},
{
"name": "Fasano, Matteo",
"type": "Supervisor",
"orcid": "0000-0002-3997-3681"
},
{
"name": "Asinari, Pietro",
"type": "Supervisor",
"orcid": "0000-0003-1814-3846"
},
{
"name": "Chiavazzo, Eliodoro",
"type": "Supervisor",
"orcid": "0000-0001-6165-7434"
}
],
"language": "eng",
"keywords": [
"Density Functional Theory",
"DFT",
"Force Field",
"FF",
"Lithium fluoride",
"LiF",
"Reaxtive Force Field",
"ReaxFF",
"Solid electrolyte interphase",
"SEI",
"Lithium-ion battery",
"LIB",
"Atomic Simulation Environment",
"ASE",
"BIG-MAP",
"Reproducible research",
"Protocols"
],
"related_identifiers": [
{
"scheme": "doi",
"identifier": "10.1038/s41598-023-50978-5",
"relation": "isSupplementTo",
"resource_type": "publication-article"
}
],
"grants": [
{
"id": "957189"
}
]
}