Page MenuHomec4science

µSpectreProject
ActivePublic

Details

Description

Project µSpectre aims at providing an open-source platform for efficient FFT-based continuum mesoscale modelling. Its development is funded by the Swiss National Science Foundation within an Ambizione Project and the European Research Council within ERC-StG-757343. Please find the documentation on Read the Docs.

Computational continuum mesoscale modelling (or computational homogenisation) involves computing the overall response of a periodic unit cell of material, a so-called representative volume element (RVE), to a given average (i.e., macroscale) strain. Typically, this is done using the finite-element method, even though it is neither able to leverage its main strength, the trivial handling of complex geometries, nor otherwise particularly well suited for periodic problems. An alternative method for modelling periodic RVE, developed by Moulinec and Suquet [1], is based on the fast Fourier transform (FFT). This method has evolved substantially over the last two decades, with particularly important and currently underused improvements in the last two years, see Zeman et al [2].

This new method for the solution of the core problem of computational homogenisation is significantly superior to the FEM in terms of computational cost and memory footprint for most applications, but has not been exploited to its full potential. One major obstacle to the wide adoption of the method is the lack of a robust, validated, open-source code. Hence, researchers choose the well-known and tested FEM that has numerous commercial, open-source or legacy in-house FEM codes.

The goal of this project is to develop µSpectre, an open-source platform for efficient FFT-based continuum mesoscale modelling, which will overcome this obstacle. The project is designed to
i)
propose a de facto standard implementation for the spectral RVE method that subsequent implementations can be compared to, in order to concentrate the development effort of all interested parties in the field,
ii)
make µSpectre widely accessible for users by providing language bindings for virtually all relevant popular computing platforms and comprehensive user's manuals in order to help widespread adoption, and, finally
iv)
make µSpectre eminently modifiable for developers by developing it in the open, with a clean architecture and extensive developer's documentation in order to maximise outside contributions.

Furthermore, this project places great importance on truly reproducible and verifiable science with a credible open data strategy in the firm belief that these qualifiers help to reach and guarantee a high level of scientific quality, difficult to reach otherwise, and to attract outside collaborations and contributions that help boost the scientific output beyond what can be achieved by a single team.

[1] H. Moulinec and P. Suquet. A numerical method for computing the overall response of nonlinear composites with complex microstructure. //Computer Methods in Applied Mechanics and Engineering//, 157(1):69–94, 1998. doi: 10.1016/S0045-7825(97) 00218-1.
[2] J. Zeman, T. W. J. de Geus, J. Vondřejc, R. H. J. Peerlings, and M. G. D. Geers. A finite element perspective on non- linear FFT-based micromechanical simulations. //International Journal for Numerical Methods in Engineering//, 2017. doi: 10.1002/nme.5481.

Recent Activity

Feb 1 2019

junge closed T2542: Tiny bug in Cmakelist of language_bindings/python as Resolved by committing rMUSPECTREc6f5a64cea36: BUG: fixes bug T2542 and reintroduced a broken test.
Feb 1 2019, 07:21 · µSpectre

Jan 25 2019

junge added a revision to T2542: Tiny bug in Cmakelist of language_bindings/python: Restricted Differential Revision.
Jan 25 2019, 14:16 · µSpectre
junge changed the visibility for T2542: Tiny bug in Cmakelist of language_bindings/python.
Jan 25 2019, 11:49 · µSpectre
junge moved T2542: Tiny bug in Cmakelist of language_bindings/python from Backlog to Doing on the µSpectre board.
Jan 25 2019, 11:49 · µSpectre

Jan 23 2019

afalsafi triaged T2542: Tiny bug in Cmakelist of language_bindings/python as High priority.
Jan 23 2019, 14:12 · µSpectre

Jan 21 2019

junge closed T2507: Material evaluator as Resolved by committing rMUSPECTRE3bc6fa3694d8: ENH: Added Material Evaluator.
Jan 21 2019, 13:39 · µSpectre
junge created T2539: Rename /bin to /examples.
Jan 21 2019, 13:00 · µSpectre

Jan 19 2019

ladecky added a member for µSpectre: ladecky.
Jan 19 2019, 19:22
junge triaged T2536: unified material interface with dynamic parameter maps as High priority.
Jan 19 2019, 17:09 · µSpectre
junge closed T1934: Check up on cpplint.py and whether it is worth it as Resolved.
Jan 19 2019, 17:05 · µSpectre
junge closed T1934: Check up on cpplint.py and whether it is worth it, a subtask of T1748: Write Documentation, as Resolved.
Jan 19 2019, 17:05 · µSpectre
junge closed T1917: Write python bindings for `MaterialHyperElastoPlastic1` as Resolved.
Jan 19 2019, 17:04 · µSpectre
junge added a revision to T2507: Material evaluator: Restricted Differential Revision.
Jan 19 2019, 17:02 · µSpectre

Jan 7 2019

junge added a commit to T2090: Fully integrate StateFields into FieldCollection: rMUSPECTRE676022f5dfa6: fixed pull-back for MaterialHyperElastoPlastic1.
Jan 7 2019, 16:48 · µSpectre

Dec 22 2018

junge moved T2519: add material_linear_elastic_generic with eigenstrain from Doing to Done on the µSpectre board.
Dec 22 2018, 10:37 · µSpectre

Dec 21 2018

junge closed T2519: add material_linear_elastic_generic with eigenstrain as Resolved by committing rMUSPECTREee949b1469ba: ENH: added MaterialLinearElasticGeneric2.
Dec 21 2018, 13:50 · µSpectre
junge added a commit to T2517: add python bindings to material_linear_elastic_generic: rMUSPECTREee949b1469ba: ENH: added MaterialLinearElasticGeneric2.
Dec 21 2018, 13:50 · µSpectre

Dec 20 2018

junge added a revision to T2517: add python bindings to material_linear_elastic_generic: Restricted Differential Revision.
Dec 20 2018, 19:15 · µSpectre
junge added a revision to T2519: add material_linear_elastic_generic with eigenstrain: Restricted Differential Revision.
Dec 20 2018, 19:15 · µSpectre
junge added a revision to T2519: add material_linear_elastic_generic with eigenstrain: Restricted Differential Revision.
Dec 20 2018, 16:57 · µSpectre
junge added a revision to T2517: add python bindings to material_linear_elastic_generic: Restricted Differential Revision.
Dec 20 2018, 16:57 · µSpectre
junge triaged T2519: add material_linear_elastic_generic with eigenstrain as High priority.
Dec 20 2018, 15:23 · µSpectre
junge moved T2517: add python bindings to material_linear_elastic_generic from Doing to Done on the µSpectre board.
Dec 20 2018, 15:22 · µSpectre
junge closed T2517: add python bindings to material_linear_elastic_generic as Resolved by committing rMUSPECTREd7e113f47457: ENH: Python Bindings for Generic Linear Elastic Material + doc.
Dec 20 2018, 15:22 · µSpectre
junge added a revision to T2517: add python bindings to material_linear_elastic_generic: Restricted Differential Revision.
Dec 20 2018, 15:12 · µSpectre
junge added a member for µSpectre: hu.
Dec 20 2018, 15:12
junge triaged T2518: VTK output simplification as Normal priority.
Dec 20 2018, 14:26 · µSpectre
junge triaged T2517: add python bindings to material_linear_elastic_generic as High priority.
Dec 20 2018, 11:07 · µSpectre

Dec 12 2018

junge triaged T2507: Material evaluator as High priority.
Dec 12 2018, 16:31 · µSpectre

Dec 11 2018

RLeute closed T1885: gcc 5.4 abs is only evaluated for integers as Resolved.
Dec 11 2018, 14:12 · µSpectre
junge created T2504: add math notation page to documentation.
Dec 11 2018, 09:58 · µSpectre
junge created T2503: Make materials parameters explicit.
Dec 11 2018, 09:28 · µSpectre

Dec 10 2018

junge removed a subtask for T1843: µSpectre Release 0.9 β: T1887: Additional degrees of freedom due to damage etc.
Dec 10 2018, 15:45 · µSpectre
junge removed a parent task for T1887: Additional degrees of freedom due to damage etc: T1843: µSpectre Release 0.9 β.
Dec 10 2018, 15:45 · µSpectre
junge removed a subtask for T1843: µSpectre Release 0.9 β: T1943: Conditionally download and compile PFFT.
Dec 10 2018, 15:43 · µSpectre
junge removed a parent task for T1943: Conditionally download and compile PFFT: T1843: µSpectre Release 0.9 β.
Dec 10 2018, 15:43 · µSpectre

Dec 8 2018

junge updated subscribers of T1917: Write python bindings for `MaterialHyperElastoPlastic1`.

pending approval of revision D224 by @RLeute

Dec 8 2018, 10:49 · µSpectre
junge moved T1926: Memcheck-discussion from Backlog to Done on the µSpectre board.
Dec 8 2018, 10:45 · µSpectre
junge closed T1926: Memcheck-discussion, a subtask of T1843: µSpectre Release 0.9 β, as Resolved.
Dec 8 2018, 10:44 · µSpectre
junge closed T1926: Memcheck-discussion as Resolved.

seems to be a non-issue

Dec 8 2018, 10:44 · µSpectre
junge raised the priority of T1934: Check up on cpplint.py and whether it is worth it from Normal to High.
Dec 8 2018, 10:43 · µSpectre
junge added a comment to T1934: Check up on cpplint.py and whether it is worth it.

Proposal in commit 520ee158d5dc

Dec 8 2018, 10:43 · µSpectre
junge added a comment to T2238: netcdf3 input reader.

functional, but not yet merged into master

Dec 8 2018, 10:41 · µSpectre

Dec 7 2018

junge added a revision to T2090: Fully integrate StateFields into FieldCollection: Restricted Differential Revision.
Dec 7 2018, 02:45 · µSpectre

Oct 14 2018

junge edited Description on µSpectre.
Oct 14 2018, 17:52

Sep 21 2018

junge closed T2239: Input format needs fixing, a subtask of T2237: µLib integration, as Resolved.
Sep 21 2018, 09:36 · µSpectre
junge closed T2239: Input format needs fixing as Resolved.

Box sizes will be defined in the netcdf input
Convergence tolerances become command line options
even numbered grids are filtered by muLib

Sep 21 2018, 09:36 · µSpectre

Sep 20 2018

junge moved T2238: netcdf3 input reader from Backlog to Doing on the µSpectre board.
Sep 20 2018, 11:27 · µSpectre
junge removed a parent task for T2239: Input format needs fixing: T2238: netcdf3 input reader.
Sep 20 2018, 11:26 · µSpectre
junge removed a subtask for T2238: netcdf3 input reader: T2239: Input format needs fixing.
Sep 20 2018, 11:26 · µSpectre