CRATE

CRATE: A Python package to perform fast material simulations - Published in JOSS (2023)

https://github.com/bessagroup/crate

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 19 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: researchgate.net, sciencedirect.com, joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

clustering-analysis computational-homogenization computational-mechanics material-modelling

Scientific Fields

Mathematics Computer Science - 40% confidence
Last synced: 6 months ago · JSON representation ·

Repository

CRATE: Accurate and efficient clustering-based nonlinear analysis of heterogeneous materials through computational homogenization

Basic Info
Statistics
  • Stars: 40
  • Watchers: 1
  • Forks: 7
  • Open Issues: 0
  • Releases: 16
Topics
clustering-analysis computational-homogenization computational-mechanics material-modelling
Created about 6 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

logo

What is CRATE?

Docs | Installation | GitHub | PyPI

DOI

Summary

CRATE (Clustering-based Nonlinear Analysis of Materials) is a Python project (package cratepy) developed in the context of computational mechanics to aid the design and development of new materials. Its main purpose is performing multi-scale nonlinear analyses of heterogeneous materials through a suitable coupling between first-order computational homogenization and clustering-based reduced-order modeling: given a representative volume element of the material microstructure and the corresponding material phase properties, CRATE computes the material's effective mechanical response when subject to a prescribed macro-scale loading path.

Statement of need

cratepy is essentially a numerical tool for any application that requires material multi-scale simulations. Given the intrinsic clustering-based reduced-order modeling approach (e.g., SCA, ASCA), CRATE is mostly useful in applications where the computational cost of standard simulation methods is prohibitive, namely to solve lower-scales in coupled hierarchical multi-scale simulations (e.g., B.P. Ferreira (2022)) and to generate large material response databases for data-driven frameworks based on machine learning (e.g., Bessa et al. (2017)). Clustering-based reduced-order models achieve a striking balance between accuracy and computational cost by first performing a clustering-based domain decomposition of the material model and then solving the equilibrium problem formulated over the resulting reduced model.

In the particular case of a research environment, cratepy is designed to easily accommodate further developments, either by improving the already implemented methods or by including new numerical models and techniques. It also provides all the fundamental means to perform comparisons with alternative methods, both in terms of accuracy and computational cost. In a teaching environment, cratepy is a readily available tool for demonstrative purposes and/or academic work proposals in solid mechanics and material-related courses.

Consider leaving a star if you think CRATE is useful for the research community!

Authorship & Citation

CRATE was originally developed by Bernardo P. Ferreira1 in the context of his PhD Thesis2.

1 Profile: LinkedIN, ORCID, ResearchGate

2 Ferreira, B.P. (2022). Towards Data-driven Multi-scale Optimization of Thermoplastic Blends: Microstructural Generation, Constitutive Development and Clustering-based Reduced-Order Modeling. PhD Thesis, University of Porto (see here)

If you use CRATE in your research or in a scientific publication, it is appreciated that you cite the two papers below.

Journal of Open Source Software (paper): @article{Ferreira2023, title = {CRATE: A Python package to perform fast material simulations}, author = {Bernardo P. Ferreira and F. M. Andrade Pires and Miguel A. Bessa} doi = {10.21105/joss.05594}, url = {https://doi.org/10.21105/joss.05594}, year = {2023}, publisher = {The Open Journal}, volume = {8}, number = {87}, pages = {5594}, journal = {Journal of Open Source Software} }

Computer Methods in Applied Mechanics and Engineering (paper): @article{Ferreira2022, title = {Adaptivity for clustering-based reduced-order modeling of localized history-dependent phenomena}, author = {Ferreira, B.P., and Andrade Pires, F.M., and Bessa, M.A.}, doi = {10.1016/j.cma.2022.114726}, url = {https://www.sciencedirect.com/science/article/pii/S0045782522000895}, year = {2022}, volume = {393}, pages = {114726}, issn = {0045-7825}, journal = {Computer Methods in Applied Mechanics and Engineering}, }


Getting started

You can find everything you need to know in CRATE documentation!

logo

Community Support

If you find any issues, bugs or problems with CRATE, please use the GitHub issue tracker to report them. Provide a clear description of the problem, as well as a complete report on the underlying details, so that it can be easily reproduced and (hopefully) fixed!

You are also welcome to post there any questions, comments or suggestions for improvement in the GitHub discussions space!

Please refer to CRATE's Code of Conduct.

Credits

  • Bernardo P. Ferreira is deeply thankful to Francisco Pires and Miguel Bessa for supervising the PhD Thesis that motivated the development of CRATE.

  • Bernardo P. Ferreira acknowledges the pioneering development of clustering-based reduced-order models by Zeliang Liu, namely by proposing the Self-Consistent Clustering Analysis (SCA), that established the conceptual framework and foundations for the development of CRATE.

  • Bernardo P. Ferreira is thankful to Rui Coelho for his essential contribution to developing a self-consistent scheme under finite strains and a corresponding set of comprehensive benchmarks. If you're interested in chess, you might enjoy exploring Rui's chess engine called Pawn!

License

Copyright 2020, Bernardo Ferreira

All rights reserved.

CRATE is a free and open-source software published under a BSD 3-Clause License.

Owner

  • Name: Bessa Research Group
  • Login: bessagroup
  • Kind: organization
  • Email: miguel_bessa@brown.edu
  • Location: United States of America

Machine Intelligence Advances for Materials & Structures

JOSS Publication

CRATE: A Python package to perform fast material simulations
Published
July 31, 2023
Volume 8, Issue 87, Page 5594
Authors
Bernardo P. Ferreira ORCID
School of Engineering, Brown University, United States of America, Faculty of Engineering, University of Porto, Portugal
F. M. Andrade Pires ORCID
Faculty of Engineering, University of Porto, Portugal
Miguel A. Bessa ORCID
School of Engineering, Brown University, United States of America
Editor
Kevin M. Moerman ORCID
Tags
computational mechanics material simulation homogenization clustering

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Ferreira
  given-names: Bernardo P.
  orcid: "https://orcid.org/0000-0001-5956-3877"
- family-names: Pires
  given-names: F. M. Andrade
  orcid: "https://orcid.org/0000-0002-4802-6360"
- family-names: Bessa
  given-names: Miguel A.
  orcid: "https://orcid.org/0000-0002-6216-0355"
contact:
- family-names: Bessa
  given-names: Miguel A.
  orcid: "https://orcid.org/0000-0002-6216-0355"
doi: 10.5281/zenodo.8199879
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Ferreira
    given-names: Bernardo P.
    orcid: "https://orcid.org/0000-0001-5956-3877"
  - family-names: Pires
    given-names: F. M. Andrade
    orcid: "https://orcid.org/0000-0002-4802-6360"
  - family-names: Bessa
    given-names: Miguel A.
    orcid: "https://orcid.org/0000-0002-6216-0355"
  date-published: 2023-07-31
  doi: 10.21105/joss.05594
  issn: 2475-9066
  issue: 87
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 5594
  title: "CRATE: A Python package to perform fast material simulations"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.05594"
  volume: 8
title: "CRATE: A Python package to perform fast material simulations"

GitHub Events

Total
  • Release event: 1
  • Watch event: 6
  • Push event: 6
  • Pull request event: 2
  • Fork event: 3
  • Create event: 2
Last Year
  • Release event: 1
  • Watch event: 6
  • Push event: 6
  • Pull request event: 2
  • Fork event: 3
  • Create event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 256
  • Total Committers: 2
  • Avg Commits per committer: 128.0
  • Development Distribution Score (DDS): 0.004
Past Year
  • Commits: 3
  • Committers: 2
  • Avg Commits per committer: 1.5
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
Bernardo Ferreira b****a@f****t 255
Rui Coelho 3****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 12
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 2.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • 309631 (1)
  • kingyin3613 (1)
Pull Request Authors
  • BernardoFerreira (11)
  • ruicoelhopedro (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 30 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 1
pypi.org: cratepy

CRATE: Clustering-based Nonlinear Analysis of Materials

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 30 Last month
Rankings
Dependent packages count: 7.3%
Average: 29.5%
Forks count: 30.5%
Stargazers count: 39.3%
Dependent repos count: 40.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/draft-pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/release.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • peaceiris/actions-gh-pages v3 composite
pyproject.toml pypi
requirements.txt pypi
  • anytree ==2.8.0
  • colorama ==0.4.6
  • numpy ==1.23.3
  • scikit_learn ==1.2.2
  • scipy ==1.10.0
  • sphinx-autodoc-typehints ==1.22
  • sphinx_rtd_theme ==1.2.0