Skip to content

Commit

Permalink
update paper and logos
Browse files Browse the repository at this point in the history
  • Loading branch information
mpvanderschelling committed May 28, 2024
1 parent 978c0f9 commit 5625141
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 15 deletions.
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,4 +138,4 @@
html_css_files = ['readthedocs-custom.css', 'theme_overrides.css', ]

# Source: https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_show_sourcelink
html_show_sourcelink = True
html_show_sourcelink = False
Binary file modified docs/source/img/f3dasm_logo_long.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/source/rst_doc_files/general/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ Building from source is required to work on a contribution (bug fix, new feature
2. Install a recent version of Python (3.7, 3.8, 3.9 or 3.10)
for instance using `Miniconda3 <https://docs.conda.io/en/latest/miniconda.html>`_. or `Mamba <https://github.com/conda-forge/miniforge#install>`_.
for instance using `Miniconda3 <https://docs.conda.io/en/latest/miniconda.html>`_ or `Mamba <https://github.com/conda-forge/miniforge#install>`_.
If you installed Python with conda, we recommend to create a dedicated
conda environment with all the build dependencies of f3dasm:

Expand Down
4 changes: 2 additions & 2 deletions docs/source/rst_doc_files/general/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@ Computational framework

- Automatic data management

- the framework automatically manages I/O processes, saving you time and effort implementing these common procedures.
- The framework automatically manages I/O processes, saving you time and effort implementing these common procedures.

- :doc:`Easy parallelization <auto_examples/005_workflow/001_cluster_computing>`

- the framework manages parallelization of experiments, and is compatible with both local and high-performance cluster computing.
- The framework manages parallelization of experiments, and is compatible with both local and high-performance cluster computing.

- :doc:`Built-in defaults <rst_doc_files/defaults>`

Expand Down
Binary file modified paper/data-driven-process.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified paper/f3dasm_logo_long.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
49 changes: 48 additions & 1 deletion paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,51 @@ @Article{Bessa2017
doi = {10.1016/j.cma.2017.03.037},
file = {:home/martin/Documents/Mendeley Desktop/Bessa et al. - 2017 - A framework for data-driven analysis of materials under uncertainty Countering the curse of dimensionality.pdf:pdf},
keywords = {Design of experiments, Machine learning and data mining, Plasticity, Reduced order model, Self-consistent clustering analysis},
}
}

@article{Sundberg2022,
doi = {10.21105/joss.04364},
url = {https://doi.org/10.21105/joss.04364},
year = {2022},
publisher = {The Open Journal},
volume = {7},
number = {75},
pages = {4364},
author = {Jack D. Sundberg and Siona S. Benjamin and Lauren M. McRae and Scott C. Warren},
title = {Simmate: a framework for materials science},
journal = {Journal of Open Source Software}
}

@article{Pietka2022,
doi = {10.21105/joss.04719},
url = {https://doi.org/10.21105/joss.04719},
year = {2022},
publisher = {The Open Journal},
volume = {7},
number = {79},
pages = {4719},
author = {Isabel Pietka and Ralf Drautz and Thomas Hammerschmidt},
title = {strucscan: A lightweight Python-based framework for high-throughput material simulation},
journal = {Journal of Open Source Software}
}

@article{Biscani2020,
doi = {10.21105/joss.02338},
url = {https://doi.org/10.21105/joss.02338},
year = {2020},
publisher = {The Open Journal},
volume = {5},
number = {53},
pages = {2338},
author = {Francesco Biscani and Dario Izzo},
title = {A parallel global multiobjective framework for optimization: pagmo},
journal = {Journal of Open Source Software}
}
@inproceedings{Akiba2019,
title={Optuna: A next-generation hyperparameter optimization framework},
author={Akiba, Takuya and Sano, Shotaro and Yanase, Toshihiko and Ohta, Takeru and Koyama, Masanori},
booktitle={Proceedings of the 25th ACM SIGKDD international conference on knowledge discovery \& data mining},
pages={2623--2631},
year={2019}
}
25 changes: 15 additions & 10 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,26 +35,31 @@ bibliography: paper.bib

# Statement of need

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.
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.

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.
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.

In this work we introduce an interface for researchers and practitioners working on design and analysis of materials and structures. The package is called [`f3dasm`](https://github.com/bessagroup/f3dasm) (Framework for Data-driven Design \& Analysis of Structures and Materials) This work generalizes the original closed-source framework proposed by the Bessa and co-workers [@Bessa2017], 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:
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 [`f3dasm`](https://github.com/bessagroup/f3dasm) (Framework for Data-driven Design \& Analysis of Structures and Materials). This work generalizes the original closed-source framework proposed by the Bessa and co-workers [@Bessa2017], 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:

- **Design of experiments**, in which input variables describing the microstructure, properties and external conditions of the system are determined and sampled.
- **Data generation**, typically through computational analyses, resulting in the creation of a material response database.
- **Machine learning**, in which a surrogate model is trained to fit experimental findings.
- **Optimization**, where we try to iteratively improve the design
- **Design of experiments**, in which input variables describing the microstructure, properties and external conditions of the system are determined and sampled;
- **Data generation**, typically through computational analyses, resulting in the creation of a material response database;
- **Machine learning**, in which a surrogate model is trained to fit experimental findings;
- **Optimization**, where we try to iteratively improve the design.

\autoref{fig:data-driven-process} provides an illustration of the stages in the data-driven process.

![Illustration of the data-driven process. \label{fig:data-driven-process}](data-driven-process.png)

![Illustration of the `f3dasm` data-driven process. \label{fig:data-driven-process}](data-driven-process.png)

[`f3dasm`](https://github.com/bessagroup/f3dasm) is an [open-source Python package](https://pypi.org/project/f3dasm/) 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, [`f3dasm`](https://github.com/bessagroup/f3dasm) offers automatic data management for experiments, easy integration with high-performance computing systems, and compatibility with the hydra configuration manager. Comprehensive [online documentation](https://f3dasm.readthedocs.io/en/latest/) is also available to assist users and developers of the framework.

In a similar scope, it is worth mentioning the projects [simmate](https://github.com/jacksund/simmate) [@Sundberg2022] and [strucscan](https://github.com/ICAMS/strucscan), 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. [Optuna](https://optuna.org/) is a hyperparameter optimization framework that combines a variety of optimization algorithms with dynamically constructed search space [@Akiba2019] and [pygmo](https://github.com/esa/pagmo2) provides unified interfaces for parallel global optimization [@Biscani2020]. Interfaces to these and many other optimization frameworks have been integrated into a separate package [`f3dasm_optimize`](https://github.com/bessagroup/f3dasm_optimize), and can be used in conjunction with [`f3dasm`](https://github.com/bessagroup/f3dasm).


# Acknowledgements

We would express our gratitude to Jiaxiang Yi for his contributions to writing an interface with the ABAQUS simulation software.

# References
# References


<!-- is a toolbox that provides workflows and database management for materials science . [strucscan](https://github.com/ICAMS/strucscan) provides a lightweight Python-based framework for high-throughput material simulation with the VASP software package [@Pietka2022]. However, it should be noted that both frameworks focus on the generation and retrieval of materials properties and do not include machine learning or optimization interfaces. -->

0 comments on commit 5625141

Please sign in to comment.