From 7a7b7c6f5557a8a31032eb237471c07549e7945a Mon Sep 17 00:00:00 2001 From: Mojtaba Barzegari <40744245+mbarzegary@users.noreply.github.com> Date: Thu, 1 Oct 2026 12:09:04 +0200 Subject: [PATCH] Fix typos, grammar, and spelling consistency in paper.md --- Documentation/JOSS/paper.md | 59 ++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/Documentation/JOSS/paper.md b/Documentation/JOSS/paper.md index 01854c11..4e63a912 100644 --- a/Documentation/JOSS/paper.md +++ b/Documentation/JOSS/paper.md @@ -1,7 +1,7 @@ --- title: 'BattMo - Battery Modelling Toolbox' tags: - - Battery modeling + - Battery modelling - Numerical simulation - MATLAB authors: @@ -44,7 +44,7 @@ bibliography: paper.bib # Summary This paper presents the Battery Modelling Toolbox (BattMo), a flexible finite volume continuum modelling framework in MATLAB$^®$ [@MATLAB] for -simulating the performance of electro-chemical cells. BattMo can quickly set up and solve models for a variety of battery +simulating the performance of electrochemical cells. BattMo can be used to quickly set up and solve models for a variety of battery chemistries, even considering 3D designs such as cylindrical and prismatic cells. The simulation input parameters, including the material parameters and geometric descriptions, are specified through @@ -52,12 +52,11 @@ JSON schemas. In this respect, we follow the guidelines of the Battery Interface interoperability in accordance with the FAIR principles [@fair]. The Doyle-Fuller-Newman (DFN) [@Doyle1993ModelingCell] approach is used as a base model. We include fully coupled -thermal simulations. It is possible to include degradation mechanisms such as SEI layer growth, and the use of composite -material, such as a mixture of silicon and graphite. +thermal simulations. It is possible to include degradation mechanisms such as solid electrolyte interphase (SEI) layer growth and composite +materials such as a mixture of silicon and graphite. The models are set up in a hierarchical way, for clarity and modularity. Each model corresponds to a computational graph, -which introduces a set of variables (the nodes) and functional relationships (the edges). This design enables the -flexibility for changing and designing new models. +which introduces a set of variables (the nodes) and functional relationships (the edges). This design enables the flexibility to modify existing models and design new ones. The solver in BattMo uses automatic differentiation and supports adjoint computation. We can therefore compute the derivative of objective functions with respect to all parameters efficiently. Gradient-based optimization @@ -65,7 +64,7 @@ routines can be used to calibrate parameters from experimental data. # Statement of need -New high-performance electro-chemical systems such as Li-ion and post-Li-ion batteries are essential to achieve the goals of the electric energy transition. Developing +New high-performance electrochemical systems such as Li-ion and post-Li-ion batteries are essential to achieve the goals of the electric energy transition. Developing rigorous digital workflows can help industrial and research institutions reduce the need for physical prototyping and derive greater insight and knowledge from their data. @@ -73,13 +72,13 @@ BattMo extends this effort by supporting fully 3D geometry and the possibility to easily modify the underlying equations. We provide a library of standard parameterized battery geometries. Design optimization can also be done on the geometry, which is an essential -part of the design. BattMo is useful for both experienced battery -designers, wanting to optimize and virtually test different designs, +part of the cell design. BattMo is useful for experienced battery +designers wanting to optimize and virtually test different designs, research software developers integrating simulation tools in -electro-chemical system workflows as well as beginners wanting to +electrochemical system workflows, and beginners wanting to understand fundamental processes. -A challenge for physics-based models for batteries and other electro-chemical systems is the difficulty to calibrate the parameters. With an adjoint-based +A challenge for physics-based models of batteries and other electrochemical systems is the difficulty of calibrating the parameters. With an adjoint-based approach, we can effectively calibrate the models from experiments in a reasonable computational time. # State of the field @@ -88,12 +87,12 @@ Recently, a variety of open-source battery modelling codes have been released including PyBaMM [@sulzer2021python], cideMOD [@CiriaAylagas2022], LIONSIMBA [@torchio2016lionsimba], Dandeliion [@dandeliion] and PETLion [@Berliner_2021], among others. These open-source frameworks help the community reduce the cost of model development and help ensure the -validity and the reproducibility of findings. PyBaMM is, to our knowledge, the most popular option. Unlike BattMo, PyBaMM's electro-chemical models have been primarily P2D with so-called 2+1D model support for improved modeling of current collectors and thermal properties. Recently (2025), 3D thermal FEM is supported, and its 3D functionality is expanding. For calibration and optimization, it is usually recommended to utilize PyBOP [@Planden2025] which is an external package (although coupled tightly to PyBaMM). BattMo's foundation is designed for coupled electro-chemical-thermal simulations in 3D, as well as calibration and optimization. The extensive portfolio of degradation models in PyBaMM is a great strength. In BattMo we are currently allowing for SEI (Safari [@Safari2009] and Bolay [@Bolay2022] models) as well as plating [@Hein2020]. Based on FEniCS [@fenics], cideMOD by design allows for simulations in 3D, but the lack of automatic differentiation means handling complex nonlinear systems and performing design optimization is more challenging. COMSOL [@comsol] is a commercial, closed-source alternative. In contrast to the aforementioned battery-specific tools, it is a general-purpose multi-physics platform that enables coupling of a wide range of physical phenomena. +validity and the reproducibility of findings. PyBaMM is, to our knowledge, the most popular option. Unlike BattMo, PyBaMM's electrochemical models are primarily P2D with so-called 2+1D model support for improved modelling of current collectors and thermal properties. In 2025, support for 3D thermal FEM was added, and its 3D functionality is currently expanding. For calibration and optimization, the developers recommended to utilize PyBOP [@Planden2025] which is an external package (although tightly coupled to PyBaMM). BattMo's foundation is designed for coupled electrochemical-thermal simulations in 3D, as well as calibration and optimization. The extensive portfolio of degradation models in PyBaMM is a great strength. BattMo currently supports SEI (Safari [@Safari2009] and Bolay [@Bolay2022] models) as well as plating [@Hein2020]. Based on FEniCS [@fenics], cideMOD by design allows for simulations in 3D, but the lack of automatic differentiation means handling complex nonlinear systems and performing design optimization is more challenging. COMSOL [@comsol] is a commercial, closed-source alternative. In contrast to the aforementioned battery-specific tools, it is a general-purpose multi-physics platform that enables coupling of a wide range of physical phenomena. # Software design -BattMo builds on the MATLAB Reservoir Simulation Toolbox [@mrst-book-i] which provides the foundation for meshing -intricate geometries, solving large nonlinear systems of equations, visualizing the results, etc, in addition to fundamental robust, low-order finite volume methods and fully implicit time discretization. Although developed in +BattMo builds on the MATLAB Reservoir Simulation Toolbox (MRST) [@mrst-book-i] which provides the foundation for meshing +intricate geometries, solving large nonlinear systems of equations, visualizing the results, etc., in addition to fundamental robust, low-order finite volume methods and fully implicit time discretization. Although developed in MATLAB$^®$, we try to provide Octave [@octave] compatibility. Neither BattMo nor MRST rely on extra MATLAB$^®$ packages; the basic license is sufficient. We do recommend using AMG preconditioners from the open-source AMGCL library [@Demidov2020] for fast, multi-threaded solution of linear systems. @@ -101,10 +100,10 @@ AMGCL library [@Demidov2020] for fast, multi-threaded solution of linear systems The main features of BattMo are summarized in the following list: -- JSON based input with schema +- JSON-based input with schema - Library of parameterized battery formats - Flexible graph-based model design -- Fully coupled electro-chemical--thermal models +- Fully coupled electrochemical-thermal models - 3D visualization - Parameter calibration - Design optimization @@ -112,21 +111,21 @@ The main features of BattMo are summarized in the following list: - SEI layer growth model - Composite material model - Silicon swelling model -- Material database for NMC, LCO, LFP, LNMO, SiGr, electrolytes, etc +- Material database for NMC, LCO, LFP, LNMO, SiGr, electrolytes, etc. - Alkaline membrane electrolyser model - Proton ceramic membrane model ## Battery format library -We support coin cells, jelly roll cells and multi-pouch cells with different tab layouts, see \autoref{fig:geometries}. The geometries are parameterized and can be modified +We support coin cells, jelly roll cells, and multi-pouch cells with different tab layouts, see \autoref{fig:geometries}. The geometries are parameterized and can be modified using a simple set of parameters. 1D and 2D grids for P2D and P3D models can also be generated. -![A selection of the parameterized battery geometries available. Clockwise from top left are: A single-layer pouch cell, CR 2016 coin cell, 30-layer pouch cell and jelly roll cylindrical cell. \label{fig:geometries}](figs/batterygeometries){width=100%} +![A selection of the parameterized battery geometries available. Clockwise from top left are: a single-layer pouch cell, CR 2016 coin cell, 30-layer pouch cell, and jelly roll cylindrical cell. \label{fig:geometries}](figs/batterygeometries){width=100%} -## Graph based model development +## Graph-based model development -BattMo has the ambition to support a variety of electro-chemical systems. The complexity of such models increases rapidly as models are extended or coupled. To manage this, BattMo introduces a computational graph-based model design. Each model is defined as a graph whose nodes represent variables and whose directed edges represent their functional relationships -- see \autoref{fig:graph}. A model is ready for simulation when the graph’s roots are the governing variables and its leaves the governing equations. Interactive tools are available to explore these graphs. +BattMo has the ambition to support a variety of electrochemical systems. The complexity of such models increases rapidly as models are extended or coupled. To manage this, BattMo introduces a computational graph-based model design. Each model is defined as a graph whose nodes represent variables and whose directed edges represent their functional relationships -- see \autoref{fig:graph}. A model is ready for simulation when the graph’s roots are the governing variables and its leaves are the governing equations. Interactive tools are available to explore these graphs. Model hierarchy is an essential part of the framework. Coupling two models is done by creating a new coupling model that contains both as sub-models. Their graphs become sub-graphs, and new edges are added to represent coupling mechanisms, allowing most sub-models to remain unchanged. For more details, see the [documentation](https://battmo.org/BattMo/computationalGraph/graphdoc.html). @@ -134,24 +133,24 @@ Model hierarchy is an essential part of the framework. Coupling two models is do ## Examples -Numerous documented and tested examples are provided with the code and demonstrate the features listed above. We seek to be cross-compatible, allowing for any chemistry and material combination with any battery format. A selection of the examples are documented at [https://battmo.org/BattMo/](https://battmo.org/BattMo/). The complete list of examples are available at [https://github.com/BattMoTeam/BattMo/tree/main/Examples](https://github.com/BattMoTeam/BattMo/tree/main/Examples). +Numerous documented and tested examples are provided with the code and demonstrate the features listed above. We seek to be cross-compatible, allowing for any chemistry and material combination with any battery format. A selection of the examples is documented at [https://battmo.org/BattMo/](https://battmo.org/BattMo/). The complete list of examples is available at [https://github.com/BattMoTeam/BattMo/tree/main/Examples](https://github.com/BattMoTeam/BattMo/tree/main/Examples). ## BattMo family -The following software are included in the BattMo family: +The following software packages are included in the BattMo family: | Software | Description | |------------------------------------------------------|---------------------------------------------------------------------| | [BattMo](https://github.com/BattMoTeam/BattMo) | MATLAB$^®$ version presented in this publication | | [BattMo.jl](https://github.com/BattMoTeam/BattMo.jl) | Julia version | | [PyBattMo](https://github.com/BattMoTeam/PyBattMo) | Python wrapper around BattMo.jl | -| [BattMoApp](https://app.battmo.org/) | Web-application built on top of BattMo.jl | +| [BattMoApp](https://app.battmo.org/) | Web application built on top of BattMo.jl | # Research impact statement -By combining a modular modeling framework with documented JSON-based +By combining a modular modelling framework with documented JSON-based inputs, tutorials, and interfaces such as the Julia bridge, BattMo -provides reproducible battery cell development for research and +provides reproducible battery cell development workflows for research and education. BattMo has been used in several commercial and non-commercial projects. Publications include [@Clark2026] and [@Schmitt2026]. It has been important for the success of several EU @@ -161,10 +160,10 @@ LFP and NMC cells in both 1D and 3D. # AI usage disclosure -Development of BattMo started before AI tools were -introduced. Therefore only very minor use of AI tools (ChatGPT from -OpenAI and Microsoft Copilot) were used in the development of this -software. AI tools have been used to assist phrasing and conciseness +Development of BattMo started before generative AI coding assistants became available. +Therefore only very minor use of AI tools (ChatGPT from +OpenAI and Microsoft Copilot) was made in the development of this +software. AI tools have been used to assist with phrasing and conciseness when writing this manuscript. In all instances, the authors have reviewed the suggestions and edited them if necessary.