Skip to content

Commit

Permalink
Creating 10.21105.joss.06912.jats
Browse files Browse the repository at this point in the history
  • Loading branch information
editorialbot committed Aug 16, 2024
1 parent 514a234 commit b94dd84
Showing 1 changed file with 319 additions and 0 deletions.
319 changes: 319 additions & 0 deletions joss.06912/paper.jats/10.21105.joss.06912.jats
Original file line number Diff line number Diff line change
@@ -0,0 +1,319 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN"
"JATS-publishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" article-type="other">
<front>
<journal-meta>
<journal-id></journal-id>
<journal-title-group>
<journal-title>Journal of Open Source Software</journal-title>
<abbrev-journal-title>JOSS</abbrev-journal-title>
</journal-title-group>
<issn publication-format="electronic">2475-9066</issn>
<publisher>
<publisher-name>Open Journals</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">6912</article-id>
<article-id pub-id-type="doi">10.21105/joss.06912</article-id>
<title-group>
<article-title>f3dasm: Framework for Data-Driven Design and Analysis of
Structures and Materials</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-3602-0452</contrib-id>
<name>
<surname>van der Schelling</surname>
<given-names>M. P.</given-names>
</name>
<xref ref-type="aff" rid="aff-1"/>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-5956-3877</contrib-id>
<name>
<surname>Ferreira</surname>
<given-names>B. P.</given-names>
</name>
<xref ref-type="aff" rid="aff-2"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-6216-0355</contrib-id>
<name>
<surname>Bessa</surname>
<given-names>M. A.</given-names>
</name>
<xref ref-type="aff" rid="aff-2"/>
<xref ref-type="corresp" rid="cor-1"><sup>*</sup></xref>
</contrib>
<aff id="aff-1">
<institution-wrap>
<institution>Materials Science &amp; Engineering, Delft University of
Technology, the Netherlands</institution>
</institution-wrap>
</aff>
<aff id="aff-2">
<institution-wrap>
<institution>School of Engineering, Brown University, United States of
America</institution>
</institution-wrap>
</aff>
</contrib-group>
<author-notes>
<corresp id="cor-1">* E-mail: <email></email></corresp>
</author-notes>
<pub-date date-type="pub" publication-format="electronic" iso-8601-date="2024-05-31">
<day>31</day>
<month>5</month>
<year>2024</year>
</pub-date>
<volume>9</volume>
<issue>100</issue>
<fpage>6912</fpage>
<permissions>
<copyright-statement>Authors of papers retain copyright and release the
work under a Creative Commons Attribution 4.0 International License (CC
BY 4.0)</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>The article authors</copyright-holder>
<license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>Authors of papers retain copyright and release the work under
a Creative Commons Attribution 4.0 International License (CC BY
4.0)</license-p>
</license>
</permissions>
<kwd-group kwd-group-type="author">
<kwd>Python</kwd>
<kwd>data-driven</kwd>
<kwd>materials</kwd>
<kwd>framework</kwd>
<kwd>machine learning</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="summary">
<title>Summary</title>
<p><ext-link ext-link-type="uri" xlink:href="https://github.com/bessagroup/f3dasm"><monospace>f3dasm</monospace></ext-link>
(Framework for Data-driven Design and Analysis of Structures and
Materials) is a Python project that provides a general and
user-friendly data-driven framework for researchers and practitioners
working on the design and analysis of materials and structures. The
package aims to streamline the data-driven process and make it easier
to replicate research articles in this field, as well as share new
work with the community.</p>
<fig>
<caption><p>Logo of
<ext-link ext-link-type="uri" xlink:href="https://github.com/bessagroup/f3dasm"><monospace>f3dasm</monospace></ext-link>.
<styled-content id="figU003Af3dasm_logo"></styled-content></p></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="f3dasm_logo_long.png" />
</fig>
</sec>
<sec id="statement-of-need">
<title>Statement of need</title>
<p>In the last decades, advancements in computational resources have
accelerated novel inverse design approaches for structures and
materials. In particular, data-driven methods leveraging machine
learning techniques play a major role in shaping our design processes
today.</p>
<p>Constructing a large material response database poses practical
challenges, such as proper data management, efficient parallel
computing, and integration with third-party software. Because most
applied fields remain conservative when it comes to openly sharing
databases and software, a lot of research time is instead being
allocated to implement common procedures that would be otherwise
readily available. This lack of shared practices also leads to
compatibility issues for benchmarking and replication of results by
violating the FAIR principles.</p>
<p>In this work we introduce an interface for researchers and
practitioners working on the design and analysis of materials and
structures. The package is called
<ext-link ext-link-type="uri" xlink:href="https://github.com/bessagroup/f3dasm"><monospace>f3dasm</monospace></ext-link>
(Framework for Data-driven Design and Analysis of Structures and
Materials). This work generalizes the original closed-source framework
proposed by Bessa and co-workers
(<xref alt="Bessa et al., 2017" rid="ref-Bessa2017" ref-type="bibr">Bessa
et al., 2017</xref>), making it more flexible and adaptable to
different applications, namely by allowing the integration of
different choices of software packages needed in the different steps
of the data-driven process:</p>
<list list-type="bullet">
<list-item>
<p><bold>design of experiments</bold>, in which input variables
describing the microstructure, properties and external conditions
of the system are determined and sampled;</p>
</list-item>
<list-item>
<p><bold>data generation</bold>, typically through computational
analyses, resulting in the creation of a material response
database
(<xref alt="Ferreira et al., 2023" rid="ref-Ferreira2023" ref-type="bibr">Ferreira
et al., 2023</xref>);</p>
</list-item>
<list-item>
<p><bold>machine learning</bold>, in which a surrogate model is
trained to fit experimental findings;</p>
</list-item>
<list-item>
<p><bold>optimization</bold>, where we try to iteratively improve
the design.</p>
</list-item>
</list>
<p><xref alt="[fig:data-driven-process]" rid="figU003Adata-driven-process">[fig:data-driven-process]</xref>
provides an illustration of the stages in the data-driven process.</p>
<fig>
<caption><p>Illustration of the <monospace>f3dasm</monospace>
data-driven process.
<styled-content id="figU003Adata-driven-process"></styled-content></p></caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="data-driven-process.png" />
</fig>
<p><ext-link ext-link-type="uri" xlink:href="https://github.com/bessagroup/f3dasm"><monospace>f3dasm</monospace></ext-link>
is an
<ext-link ext-link-type="uri" xlink:href="https://pypi.org/project/f3dasm/">open-source
Python package</ext-link> compatible with Python 3.8 or later. The
library includes a suite of benchmark functions, optimization
algorithms, and sampling strategies to serve as default
implementations. Furthermore,
<ext-link ext-link-type="uri" xlink:href="https://github.com/bessagroup/f3dasm"><monospace>f3dasm</monospace></ext-link>
offers automatic data management for experiments, easy integration
with high-performance computing systems, and compatibility with the
hydra configuration manager. Comprehensive
<ext-link ext-link-type="uri" xlink:href="https://f3dasm.readthedocs.io/en/latest/">online
documentation</ext-link> is also available to assist users and
developers of the framework.</p>
<p>In a similar scope, it is worth mentioning the projects
<ext-link ext-link-type="uri" xlink:href="https://github.com/jacksund/simmate">simmate</ext-link>
(<xref alt="Sundberg et al., 2022" rid="ref-Sundberg2022" ref-type="bibr">Sundberg
et al., 2022</xref>) and
<ext-link ext-link-type="uri" xlink:href="https://github.com/ICAMS/strucscan">strucscan</ext-link>,
as they provide tools for the management of materials science
simulation and databases. However, these projects focus on the
generation and retrieval of materials properties and do not include
machine learning or optimization interfaces. In recent years, numerous
optimization frameworks have been developed to facilitate data-driven
design.
<ext-link ext-link-type="uri" xlink:href="https://optuna.org/">Optuna</ext-link>
is a hyperparameter optimization framework that combines a variety of
optimization algorithms with dynamically constructed search space
(<xref alt="Akiba et al., 2019" rid="ref-Akiba2019" ref-type="bibr">Akiba
et al., 2019</xref>) and
<ext-link ext-link-type="uri" xlink:href="https://github.com/esa/pagmo2">pygmo</ext-link>
provides unified interfaces for parallel global optimization
(<xref alt="Biscani &amp; Izzo, 2020" rid="ref-Biscani2020" ref-type="bibr">Biscani
&amp; Izzo, 2020</xref>). Interfaces to these and many other
optimization frameworks have been integrated into a separate package
<ext-link ext-link-type="uri" xlink:href="https://github.com/bessagroup/f3dasm_optimize"><monospace>f3dasm_optimize</monospace></ext-link>,
and can be used in conjunction with
<ext-link ext-link-type="uri" xlink:href="https://github.com/bessagroup/f3dasm"><monospace>f3dasm</monospace></ext-link>.</p>
</sec>
<sec id="acknowledgements">
<title>Acknowledgements</title>
<p>We would express our gratitude to Jiaxiang Yi for his contributions
to writing an interface with the ABAQUS simulation software and to
Deepesh Toshniwal for providing valuable feedback.</p>
</sec>
</body>
<back>
<ref-list>
<title></title>
<ref id="ref-Bessa2017">
<element-citation publication-type="article-journal">
<person-group person-group-type="author">
<name><surname>Bessa</surname><given-names>Miguel</given-names></name>
<name><surname>Bostanabad</surname><given-names>R.</given-names></name>
<name><surname>Liu</surname><given-names>Z.</given-names></name>
<name><surname>Hu</surname><given-names>A.</given-names></name>
<name><surname>Apley</surname><given-names>Daniel W.</given-names></name>
<name><surname>Brinson</surname><given-names>C.</given-names></name>
<name><surname>Chen</surname><given-names>W.</given-names></name>
<name><surname>Liu</surname><given-names>Wing Kam</given-names></name>
</person-group>
<article-title>A framework for data-driven analysis of materials under uncertainty: Countering the curse of dimensionality</article-title>
<source>Computer Methods in Applied Mechanics and Engineering</source>
<year iso-8601-date="2017">2017</year>
<volume>320</volume>
<issue>April</issue>
<pub-id pub-id-type="doi">10.1016/j.cma.2017.03.037</pub-id>
<fpage>633</fpage>
<lpage>667</lpage>
</element-citation>
</ref>
<ref id="ref-Sundberg2022">
<element-citation publication-type="article-journal">
<person-group person-group-type="author">
<name><surname>Sundberg</surname><given-names>Jack D.</given-names></name>
<name><surname>Benjamin</surname><given-names>Siona S.</given-names></name>
<name><surname>McRae</surname><given-names>Lauren M.</given-names></name>
<name><surname>Warren</surname><given-names>Scott C.</given-names></name>
</person-group>
<article-title>Simmate: A framework for materials science</article-title>
<source>Journal of Open Source Software</source>
<publisher-name>The Open Journal</publisher-name>
<year iso-8601-date="2022">2022</year>
<volume>7</volume>
<issue>75</issue>
<uri>https://doi.org/10.21105/joss.04364</uri>
<pub-id pub-id-type="doi">10.21105/joss.04364</pub-id>
<fpage>4364</fpage>
<lpage></lpage>
</element-citation>
</ref>
<ref id="ref-Biscani2020">
<element-citation publication-type="article-journal">
<person-group person-group-type="author">
<name><surname>Biscani</surname><given-names>Francesco</given-names></name>
<name><surname>Izzo</surname><given-names>Dario</given-names></name>
</person-group>
<article-title>A parallel global multiobjective framework for optimization: pagmo</article-title>
<source>Journal of Open Source Software</source>
<publisher-name>The Open Journal</publisher-name>
<year iso-8601-date="2020">2020</year>
<volume>5</volume>
<issue>53</issue>
<uri>https://doi.org/10.21105/joss.02338</uri>
<pub-id pub-id-type="doi">10.21105/joss.02338</pub-id>
<fpage>2338</fpage>
<lpage></lpage>
</element-citation>
</ref>
<ref id="ref-Akiba2019">
<element-citation publication-type="paper-conference">
<person-group person-group-type="author">
<name><surname>Akiba</surname><given-names>Takuya</given-names></name>
<name><surname>Sano</surname><given-names>Shotaro</given-names></name>
<name><surname>Yanase</surname><given-names>Toshihiko</given-names></name>
<name><surname>Ohta</surname><given-names>Takeru</given-names></name>
<name><surname>Koyama</surname><given-names>Masanori</given-names></name>
</person-group>
<article-title>Optuna: A next-generation hyperparameter optimization framework</article-title>
<source>Proceedings of the 25th ACM SIGKDD international conference on knowledge discovery &amp; data mining</source>
<year iso-8601-date="2019">2019</year>
<uri>https://doi.org/10.1145/3292500.3330701</uri>
<pub-id pub-id-type="doi">10.1145/3292500.3330701</pub-id>
<fpage>2623</fpage>
<lpage>2631</lpage>
</element-citation>
</ref>
<ref id="ref-Ferreira2023">
<element-citation publication-type="article-journal">
<person-group person-group-type="author">
<name><surname>Ferreira</surname><given-names>Bernardo P.</given-names></name>
<name><surname>Pires</surname><given-names>F. M. Andrade</given-names></name>
<name><surname>Bessa</surname><given-names>Miguel A.</given-names></name>
</person-group>
<article-title>CRATE: A python package to perform fast material simulations</article-title>
<source>Journal of Open Source Software</source>
<publisher-name>The Open Journal</publisher-name>
<year iso-8601-date="2023">2023</year>
<volume>8</volume>
<issue>87</issue>
<uri>https://doi.org/10.21105/joss.05594</uri>
<pub-id pub-id-type="doi">10.21105/joss.05594</pub-id>
<fpage>5594</fpage>
<lpage></lpage>
</element-citation>
</ref>
</ref-list>
</back>
</article>

0 comments on commit b94dd84

Please sign in to comment.