Skip to content

Commit

Permalink
address specific comments on the joss paper #2
Browse files Browse the repository at this point in the history
  • Loading branch information
mbarzegary committed May 19, 2022
1 parent ea2ba33 commit f5d2219
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ bibliography: paper.bib

# Summary

BioDeg is an open source software written in FreeFEM (a domain-specific language for finite element programming), C++, and Python for modeling the degradation of metallic biomaterials and simulating the biodegradation behavior of medical devices and implants in corrosion experiments. The underlying mathematical and computational models are already validated in the previous contributions [@barzegari2021; @barzegari2022] by comparing the predictions made by the code with the experimentally obtained quantities. BioDeg supports simulating the change of morphology of the biodegradable part, release of materials, formation of surface corrosion products, the effect of the surrounding environment (such as various electrolyte solutions and chemical components as well as the presence of fluid flow), and change of other quantities (such as pH). It features command-line and graphical interfaces, being available on all major operating systems and platforms. BioDeg is designed with open standards in mind and as a result, can be easily integrated into other established workflows such as topology optimization and tissue growth models.
BioDeg is an open-source software written in FreeFEM (a domain-specific language for finite element programming), C++, and Python for modeling the degradation of metallic biomaterials and simulating the biodegradation behavior of medical devices and implants in corrosion experiments. The underlying mathematical and computational models are already validated in the previous contributions [@barzegari2021; @barzegari2022] by comparing the predictions made by the code with the experimentally obtained quantities. BioDeg supports simulating the change of morphology of the biodegradable part, release of materials, formation of surface corrosion products, the effect of the surrounding environment (such as various electrolyte solutions and chemical components as well as the presence of fluid flow), and change of other quantities (such as pH). It features command-line and graphical interfaces, being available on all major operating systems and platforms. BioDeg is designed with open standards in mind and as a result, can be easily integrated into other established workflows such as topology optimization and tissue growth models.

# Statement of need

Expand All @@ -34,9 +34,9 @@ This problem is usually investigated by conducting *in-vitro* (in the lab) and *

Although there is a wide variety of relevant theoretical studies in the field of corrosion and biodegradation simulation [@Gastaldi2011; @Wilder2014; @Grogan2014; @Bajger2016; @Dolgikh2019; @Hoche2014; @SanzHerrera2018], to the best of the authors' knowledge, none of the developed models has been publicly released together with their code to be evaluated by the scientific community. It means that none of the previous contributions are available as a software tool for relevant users such as researchers in biomaterials science, regenerative medicine (tissue engineering), and biomedical engineering.

Moreover, the available tools used to implement aforementioned models are not open source or have the issue of restricted access. For example, COMSOL multiphysics (COMSOL Inc., USA) has a module for mechanistic corrosion simulation with a limited set of features. Another example in this regard is the MuPhyS software [@Dolgikh2019; @Christoph2021] developed by the research group of Electrochemical and Surface Engineering (SURF), Vrije Universiteit Brussel, Brussels, Belgium. Despite being able to perform mechanistic biodegradation simulations, MuPhys is a closed-source software for in-house applications and is not publicly available to general users.
Moreover, the available tools used to implement aforementioned models are not open-source or have the issue of restricted access. For example, COMSOL multiphysics (COMSOL Inc., USA) has a module for mechanistic corrosion simulation, although it lacks certain research-related features like simulating the change of morphology of the corroding object and freedom in defining the chemical reactions. Another example in this regard is the MuPhyS software [@Dolgikh2019; @Christoph2021] developed by the research group of Electrochemical and Surface Engineering (SURF), Vrije Universiteit Brussel, Brussels, Belgium. Despite being able to perform mechanistic biodegradation simulations, MuPhys is a closed-source software for in-house applications and is not publicly available to general users.

BioDeg is a fully open source biodegradation and corrosion simulation software, currently validated for magnesium biomaterials [@barzegari2021]. A cross-platform and easy-to-use user interface makes it possible for anyone to use the program to simulate the biodegradation behavior of metallic implants with any shape of interest without concerning the technical aspects of the code. Technically speaking, BioDeg uses the finite element method to solve a set of partial differential equations derived mechanistically from the chemistry of biodegradation and utilizes high-performance computing (HPC) techniques to make the computation scalable to hundreds and thousands of computational nodes.
BioDeg is a fully open-source biodegradation and corrosion simulation software, currently validated for magnesium biomaterials [@barzegari2021]. A cross-platform and easy-to-use user interface makes it possible for anyone to use the program to simulate the biodegradation behavior of metallic implants with any shape of interest without concerning the technical aspects of the code. Technically speaking, BioDeg uses the finite element method to solve a set of partial differential equations derived mechanistically from the chemistry of biodegradation and utilizes high-performance computing (HPC) techniques to make the computation scalable to hundreds and thousands of computational nodes.

# Overview of BioDeg

Expand All @@ -52,9 +52,9 @@ BioDeg works based on the principles of deterministic modeling for predicting th

Implementing a parallel 3D computational model of the developed mathematical framework allows studying the corrosion and biodegradation behavior of medical implants and devices *in-silico* no matter the complexity of the implant shape. This has been achieved by solving the derived system of equations using the finite element method on any arbitrary 3D mesh.

The computational model (BioDeg-core) is implemented in FreeFEM [@Hecht2012], a domain-specific language for PDE solving and finite element computations. While having a syntax almost identical to C++, FreeFEM provides rich interfaces to well-known scientific computing libraries for performing relevant tasks such as mesh generation, solving linear system of equations, various IO operations, and HPC. This fact makes FreeFEM a perfect choice for the implementation of complex mathematical models, especially for resource-demanding applications. Additionally, a general preprocessor (BioDeg-preprocessor) for embedding desired 3D shapes inside a container (the medium/electrolyte in biodegradation simulations) is implemented in FreeFEM using the ParMmg parallel mesh manipulation library [@Dapogny2014]. This helps non-technical users to perform simulations on their desired geometries. The preprocessor performs mesh refinement on the interface of the implant and the medium to increase the numerical accuracy of interface tracking.
The computational model (BioDeg-core) is implemented in FreeFEM [@Hecht2012], a domain-specific language for PDE solving and finite element computations. While having a syntax almost identical to C++, FreeFEM provides rich interfaces to well-known scientific computing libraries for performing relevant tasks such as mesh generation, solving linear system of equations, various IO operations, and HPC. This fact makes FreeFEM a perfect choice for the implementation of complex mathematical models, especially for resource-demanding applications. Additionally, a general preprocessor (BioDeg-preprocessor) for embedding desired 3D shapes inside a container (the medium/electrolyte in biodegradation simulations) is implemented in FreeFEM using the ParMmg parallel mesh manipulation library [@Dapogny2014]. This helps non-technical users to perform simulations on their desired geometries. The preprocessor performs mesh refinement on the interface of the implant and the medium to increase the numerical accuracy of interface tracking. This mesh refinement is based on the level-set function used to measure the distance of each element of the mesh to the biodegradable part surface. The preprocessor uses this function and a set of user-defined values (like the minimum and maximum element size) to refine the elements on the moving corrosion front. BioDeg supports tetrahedral elements only, which is a limitation routed in supported element types in FreeFEM.

The user interface (BioDeg-UI) is implemented using C++ and Qt toolkit. A front-end using Qt and a back-end in FreeFEM enable BioDeg to be cross-platform and be able to run on major operating systems including Linux, Windows, and macOS. The postprocessing of the results is carried out by the open source software ParaView [@Ahrens2005], which is also a cross-platform postprocessor.
The user interface (BioDeg-UI) is implemented using C++ and Qt toolkit. A front-end using Qt and a back-end in FreeFEM enable BioDeg to be cross-platform and be able to run on major operating systems including Linux, Windows, and macOS. The postprocessing of the results is carried out by the open-source software ParaView [@Ahrens2005], which is also a cross-platform postprocessor.

## High-performance computing

Expand All @@ -68,7 +68,7 @@ The next step is to build or install the BioDeg UI, the graphical user interface

In case the user does not need to work with the UI, like in HPC environments or for advanced users, the previous steps for building BioDeg-UI can be skipped, and the user can directly run the core model by executing `mpiexec -n N FreeFem++-mpi core/src/main.edp -v 0` to parallelize the computation into N MPI processes. In this way, the simulation can be configured by dozens of available command-line arguments, documented in the BioDeg User Manual.

For graphical output, the postprocessing of the simulation results is handled by ParaView, so the users should have it installed on the system. Stable binaries for various platforms can be found on the ParaView website, including portable versions which do not require installation and are ready to run immediately after download. The rest of the postprocessing process is managed by the BioDeg UI.
For graphical output, the postprocessing of the simulation results is handled by ParaView, so the users should have it installed on the system. Stable binaries for various platforms can be found on the ParaView website, including portable versions which do not require installation and are ready to run immediately after download. BioDeg UI can help visualize the results by executing specific filtering processes in ParaView, which can also be done manually by following the postprocessing guideline provided in the BioDeg User Manual.

## Documentation

Expand All @@ -78,7 +78,7 @@ Since FreeFEM does not support developer-focused technical documentation (like D

## Contribution

BioDeg is developed using a wide range of open source tools and is released under GPLv3, so unconstrained use and reuse are encouraged and welcome. The code has been initially developed as part of a PhD research project, but further contributions, either on the development of the core models or providing more supporting materials, are highly welcome. More guidelines for such contributions can be found in the CONTRIBUTING.md file in the GitHub repository. Previous contributions are acknowledged in the BioDeg User Manual.
BioDeg is developed using a wide range of open-source tools and is released under GPLv3, so unconstrained use and reuse are encouraged and welcome. The code has been initially developed as part of a PhD research project, but further contributions, either on the development of the core models or providing more supporting materials, are highly welcome. More guidelines for such contributions can be found in the CONTRIBUTING.md file in the GitHub repository. Previous contributions are acknowledged in the BioDeg User Manual.

## Published works

Expand Down

0 comments on commit f5d2219

Please sign in to comment.