From 7dff0c7bcf2a3158c6d9e9cbbfca62c733cfefe4 Mon Sep 17 00:00:00 2001 From: The Open Journals editorial robot <89919391+editorialbot@users.noreply.github.com> Date: Mon, 21 Oct 2024 08:50:39 +0100 Subject: [PATCH] Creating 10.21105.joss.07085.jats --- .../paper.jats/10.21105.joss.07085.jats | 481 ++++++++++++++++++ 1 file changed, 481 insertions(+) create mode 100644 joss.07085/paper.jats/10.21105.joss.07085.jats diff --git a/joss.07085/paper.jats/10.21105.joss.07085.jats b/joss.07085/paper.jats/10.21105.joss.07085.jats new file mode 100644 index 0000000000..8944b5b962 --- /dev/null +++ b/joss.07085/paper.jats/10.21105.joss.07085.jats @@ -0,0 +1,481 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +7085 +10.21105/joss.07085 + +ASIMTools: A lightweight framework for scalable and +reproducible atomic simulations + + + +https://orcid.org/0000-0002-0982-8635 + +Phuthi +Mgcini Keith + + + + +https://orcid.org/0000-0001-5035-7807 + +Annevelink +Emil + + + + +https://orcid.org/0000-0003-1060-5495 + +Viswanathan +Venkatasubramanian + + + + + +University of Michigan, United States + + + + +Carnegie Mellon University, United States + + + + +17 +6 +2024 + +9 +102 +7085 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +Python +atomic simulation +density functional theory +workflow + + + + + + Summary +

Atomic SIMulation Tools (ASIMTools) is a + lightweight workflow and simulation manager for reproducible atomistic + simulations on Unix-based systems. Within the framework, simulations + can be transferred across computing environments, DFT codes, + interatomic potentials and atomic structures. By using in-built or + user-defined python modules (called asimmodules) and utilities, users + can run simulation protocols and automatically scale them on slurm + based clusters or locally on their console. The core idea is to + separate the dependence of the atomistic potential/calculator, the + computing environment and the simulation protocol thereby allowing the + same simulation to be run with different calculators, atomic + structures or on different computers with just a change of one + parameter in an input file after initial setup. This is increasingly + necessary as benchmarking Machine Learning Interatomic Potentials has + become a core part of computational materials science. Input and + output files follow a simple standard format, usually yaml, providing + a simple interface that also acts as a record of the parameters used + in a simulation without having to edit python scripts. The minimal set + of requirements means any materials science codes can be incorporated + into an ASIMTools workflow in a unified way.

+
+ + Statement of need +

Atomic simulations are a key component of modern day materials + science in both academia and industry. However, simulation protocols + and workflows used by researchers are typically difficult to transfer + to systems using different inputs, codes and computing environments. + It often involves rewriting entire scripts in different languages to + change from one type of atomistic potential or atomic structure to + another. This leads to poor reproducibility and inefficient transfer + of code from one researcher to the next. In addition, there exists a + zoo of tools and packages for atomic simulation with more being + developed every day + (Walsh, + 2024). There is however no unifying framework that can + encompass all these tools without significant software development + effort. Significant effort should not be necessary because while the + source of the fundamental outputs of atomistic potentials such as + energy, forces etc. may differ, simulation protocols built on these + outputs should converge towards the most accurate and computationally + efficient. ASIMTools focuses on this last aspect by introducing + asimmodules which are simply Python functions that act as simulation + protocols which have no dependence on a specific atomistic potential + or computational environment or atomic structure. Through iteration + and community input, these simulation protocols will hopefully + converge towards best practice and ensure reproducibility of + simulation results.

+

ASIMTools is for users interested in + performing atomistic calculations on UNIX-like operating systems + and/or on slurm-based High Performance Computing clusters. By defining + simulation protocols as “asimmodules”, they can be easily added to the + library of provided asimmodules and iterated on. The flexibility of + ASIMTools allows integration of any kind of simulation tools such as + the heavily used Atomic Simulation Environment + (Larsen + et al., 2017) pymatgen + (Ong + et al., 2013), LAMMPS + (Thompson + et al., 2022) etc. with examples provided. With the asimmodules + defined, users only need to provide a set of inputs in the form of + yaml files that define the parameters used for each simulation and are + therefore a concrete record of used parameters.

+
+ + State of the Field +

There exist a number of popular workflow tools for atomistic + simulations such as Aiida + (Huber + et al., 2020), Fireworks + (Jain + et al., 2015) and many more. These tools provide frameworks for + constructing complex workflows with different underlying principles. + Some managers enforce strict rules that ensure that data obeys FAIR + principles and emphasizes data provenance and reproducibility. These + methods however tend to be fairly large packages with steep learning + curves. ASIMTools provides a simple interface as a starting point that + can transform any code into ASIMTools compatible code by simply + wrapping it in a function that returns a Python dictionary. Any such + code can work in ASIMTools and with a few extra steps, the protocol + can be made to support an arbitrary calculator and input atomic + structure.

+

In some workflow managers, such as Atomic Simulation Recipes + (Gjerding + et al., 2021), once workflows are built, it can often be + difficult to quickly change and iterate over key parameters such as + the choice of atomistic calculator or structure as they are + intrinsically built into the code. This is particularly challenging in + an age where machine learning models are becoming more popular. + Workflows involving machine learning interatomic potentials tend to + require the ability to repeat the same calculations on different + examples, using different calculators on different hardware + iteratively. This is where the value of ASIMTools lies in contrast to + more established workflows. ASIMTools is not designed to replace the + more powerful workflow managers but rather to supplement them. This is + achieved by providing unified inputs that can be easily integrated + into, for example, Aiida as Python functions/asimmodules while also + being a stand-alone lightweight workflow manager for simpler + cases.

+
+ + Usage To-Date +

ASIMTools has been used in the benchmarking Machine Learning + Interatomic Potentials + (Phuthi, + Yao, et al., 2024) and creating a workflow for calculation of + vibrational properties of solids calculations + (Phuthi, + Huang, et al., 2024).

+
+ + Conclusion and Availability +

The ASIMTools package is a powerful tool for building and executing + atomic simulation protocols locally and at scale on slurm-based HPC + infrastructure. The code is hosted on a public Github repository + (https://github.com/BattModels/asimtools) with a number of examples. + Asimmodules for common calculations are also implemented with + examples. Interested users are encouraged to submit issues, contact + developers and make pull requests, particularly for adding new + simulation protocols to the library.

+
+ + Author Contribution Statement +

Conceptualization by Keith Phuthi. Coding and development by Keith + Phuthi and Emil Annevelink. Paper writing by Keith Phuthi. Project + management by all.

+
+ + Acknowledgements +

We acknowledge feedback from Kian Pu, Lance Kavalsky, Hancheng Zhao + and Ziqi Wang.

+
+ + + + + + + + GjerdingMorten + SkovhusThorbjørn + RasmussenAsbjørn + BertoldoFabian + LarsenAsk Hjorth + MortensenJens Jørgen + ThygesenKristian Sommer + + Atomic Simulation Recipes: A Python framework and library for automated workflows + Computational Materials Science + 202111 + 20231023 + 199 + 0927-0256 + https://www.sciencedirect.com/science/article/pii/S0927025621004584 + 10.1016/j.commatsci.2021.110731 + 110731 + + + + + + + ThompsonA. P. + AktulgaH. M. + BergerR. + BolintineanuD. S. + BrownW. M. + CrozierP. S. + VeldP. J. in ’t + KohlmeyerA. + MooreS. G. + NguyenT. D. + ShanR. + StevensM. J. + TranchidaJ. + TrottC. + PlimptonS. J. + + LAMMPS - a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales + Comp. Phys. Comm. + 2022 + 271 + 10.1016/j.cpc.2021.108171 + 108171 + + + + + + + WalshAron + + Open computational materials science + Nature Materials + 202401 + 20240111 + 23 + 1 + 1476-4660 + https://www.nature.com/articles/s41563-023-01699-7 + 10.1038/s41563-023-01699-7 + 16 + 17 + + + + + + JainAnubhav + OngShyue Ping + ChenWei + MedasaniBharat + QuXiaohui + KocherMichael + BrafmanMiriam + PetrettoGuido + RignaneseGian-Marco + HautierGeoffroy + GunterDaniel + PerssonKristin A. + + FireWorks: A dynamic workflow system designed for high-throughput applications + Concurrency and Computation: Practice and Experience + 2015 + 27 + 17 + 1532-0634 + http://dx.doi.org/10.1002/cpe.3505 + 10.1002/cpe.3505 + 5037 + 5059 + + + + + + OngShyue Ping + RichardsWilliam Davidson + JainAnubhav + HautierGeoffroy + KocherMichael + CholiaShreyas + GunterDan + ChevrierVincent L. + PerssonKristin A. + CederGerbrand + + Python Materials Genomics (pymatgen): A robust, open-source python library for materials analysis + Computational Materials Science + 201302 + 20240517 + 68 + 0927-0256 + https://www.sciencedirect.com/science/article/pii/S0927025612006295 + 10.1016/j.commatsci.2012.10.028 + 314 + 319 + + + + + + LarsenAsk Hjorth + MortensenJens Jørgen + BlomqvistJakob + CastelliIvano E. + ChristensenRune + DułakMarcin + FriisJesper + GrovesMichael N. + HammerBjørk + HargusCory + HermesEric D. + JenningsPaul C. + JensenPeter Bjerre + KermodeJames + KitchinJohn R. + KolsbjergEsben Leonhard + KubalJoseph + KaasbjergKristen + LysgaardSteen + MaronssonJón Bergmann + MaxsonTristan + OlsenThomas + PastewkaLars + PetersonAndrew + RostgaardCarsten + SchiøtzJakob + SchüttOle + StrangeMikkel + ThygesenKristian S. + VeggeTejs + VilhelmsenLasse + WalterMichael + ZengZhenhua + JacobsenKarsten W. + + The atomic simulation environment—a Python library for working with atoms + Journal of Physics: Condensed Matter + 201706 + 20240517 + 29 + 27 + 0953-8984 + https://dx.doi.org/10.1088/1361-648X/aa680e + 10.1088/1361-648X/aa680e + 273002 + + + + + + + HuberSebastiaan P. + ZoupanosSpyros + UhrinMartin + TalirzLeopold + KahleLeonid + HäuselmannRico + GreschDominik + MüllerTiziano + YakutovichAliaksandr V. + AndersenCasper W. + RamirezFrancisco F. + AdorfCarl S. + GargiuloFernando + KumbharSnehal + PassaroElsa + JohnstonConrad + MerkysAndrius + CepellottiAndrea + MounetNicolas + MarzariNicola + KozinskyBoris + PizziGiovanni + + AiiDA 1.0, a scalable computational infrastructure for automated reproducible workflows and data provenance + Scientific Data + 202009 + 20231023 + 7 + 1 + 2052-4463 + https://www.nature.com/articles/s41597-020-00638-4 + 10.1038/s41597-020-00638-4 + 300 + + + + + + + PhuthiMgcini Keith + YaoArchie Mingze + BatznerSimon + MusaelianAlbert + GuanPinwen + KozinskyBoris + CubukEkin Dogus + ViswanathanVenkatasubramanian + + Accurate Surface and Finite-Temperature Bulk Properties of Lithium Metal at Large Scales Using Machine Learning Interaction Potentials + ACS Omega + 202403 + 20240315 + 9 + 9 + https://doi.org/10.1021/acsomega.3c10014 + 10.1021/acsomega.3c10014 + 10904 + 10912 + + + + + + PhuthiMgcini Keith + HuangYang + WidomMichael + ViswanathanVenkatasubramanian + + Vibrational Entropy and Free Energy of Solid Lithium using Covariance of Atomic Displacements Enabled by Machine Learning + arXiv + 202406 + 20240625 + http://arxiv.org/abs/2406.15491 + + + + +