µ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

Sat, Dec 8

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

pending approval of revision D224 by @RLeute

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

seems to be a non-issue

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

Proposal in commit 520ee158d5dc

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

functional, but not yet merged into master

Sat, Dec 8, 10:41 · µSpectre

Fri, Dec 7

junge added a revision to T2090: Fully integrate StateFields into FieldCollection: Restricted Differential Revision.
Fri, Dec 7, 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
junge added a parent task for T2239: Input format needs fixing: T2237: µLib integration.
Sep 20 2018, 11:26 · µSpectre
junge added a subtask for T2237: µLib integration: T2239: Input format needs fixing.
Sep 20 2018, 11:26 · µSpectre
junge triaged T2239: Input format needs fixing as Low priority.
Sep 20 2018, 11:25 · µSpectre
junge triaged T2238: netcdf3 input reader as High priority.
Sep 20 2018, 11:22 · µSpectre
junge triaged T2237: µLib integration as Normal priority.
Sep 20 2018, 11:21 · µSpectre

Sep 14 2018

junge added a member for µSpectre: MartinDoskar.
Sep 14 2018, 09:51

Sep 5 2018

junge triaged T2229: protections from mpi missing as High priority.
Sep 5 2018, 10:24 · µSpectre
junge created T2228: update dependency doc.
Sep 5 2018, 10:05 · µSpectre
junge added a member for µSpectre: jan.zeman4.
Sep 5 2018, 09:50

Aug 7 2018

afalsafi triaged T2198: CGAL -frounding-math problem as High priority.
Aug 7 2018, 14:23 · µSpectre
afalsafi triaged T2197: Set_uniform_strain fails in Python as High priority.
Aug 7 2018, 13:44 · µSpectre
afalsafi created T2197: Set_uniform_strain fails in Python.
Aug 7 2018, 13:44 · µSpectre

Aug 1 2018

junge moved T2090: Fully integrate StateFields into FieldCollection from Doing to Done on the µSpectre board.
Aug 1 2018, 12:49 · µSpectre

Jul 24 2018

junge closed T2090: Fully integrate StateFields into FieldCollection as Resolved by committing rMUSPECTRE2fc6050971d8: Statefields integrated with regular fields + python bindings.
Jul 24 2018, 16:07 · µSpectre
junge closed T2090: Fully integrate StateFields into FieldCollection, a subtask of T1917: Write python bindings for `MaterialHyperElastoPlastic1`, as Resolved.
Jul 24 2018, 16:07 · µSpectre

Jul 5 2018

junge edited Description on µSpectre.
Jul 5 2018, 08:18

Jul 4 2018

junge edited Description on µSpectre.
Jul 4 2018, 13:21

Jun 27 2018

junge moved T2090: Fully integrate StateFields into FieldCollection from Backlog to Doing on the µSpectre board.
Jun 27 2018, 15:41 · µSpectre
junge triaged T2090: Fully integrate StateFields into FieldCollection as High priority.
Jun 27 2018, 15:41 · µSpectre

Jun 1 2018

junge triaged T2042: Cell-to-coordinate transformations as Normal priority.
Jun 1 2018, 10:16 · µSpectre

May 25 2018

junge triaged T2036: benchmark multiple slip laws as High priority.
May 25 2018, 12:00 · µSpectre

May 24 2018

junge triaged T2034: Replace newton loop for equation 14 by bounded secant method as High priority.
May 24 2018, 17:42 · µSpectre
junge triaged T2033: Crystal Plasticity law as High priority.
May 24 2018, 17:41 · µSpectre

May 16 2018

pastewka lowered the priority of T1915: AccFFT Engine from Normal to Wishlist.
May 16 2018, 21:47 · µSpectre
junge moved T1851: Refactor System, FFTEngine and FieldCollection from Doing to Done on the µSpectre board.
May 16 2018, 17:32 · µSpectre
junge closed T1851: Refactor System, FFTEngine and FieldCollection as Resolved by committing rMUSPECTRE9bc97b7e7fa8: Refactoring field collections, FFT engines and solvers.
May 16 2018, 17:16 · µSpectre

May 15 2018

junge added a revision to T1851: Refactor System, FFTEngine and FieldCollection: Restricted Differential Revision.
May 15 2018, 22:35 · µSpectre

Apr 23 2018

junge added a member for µSpectre: rrezakha.
Apr 23 2018, 12:06
junge added a member for µSpectre: gallyamov.
Apr 23 2018, 12:03

Apr 18 2018

junge moved T1800: Write a raw field_map iterator from Doing to Done on the µSpectre board.
Apr 18 2018, 11:52 · µSpectre
junge closed T1800: Write a raw field_map iterator as Resolved by committing rMUSPECTRE8167b493ca71: Implemented raw field maps.
Apr 18 2018, 11:51 · µSpectre
junge closed T1800: Write a raw field_map iterator, a subtask of T1843: µSpectre Release 0.9 β, as Resolved.
Apr 18 2018, 11:51 · µSpectre

Apr 17 2018

junge added a revision to T1800: Write a raw field_map iterator: Restricted Differential Revision.
Apr 17 2018, 18:00 · µSpectre
junge moved T1800: Write a raw field_map iterator from Backlog to Doing on the µSpectre board.
Apr 17 2018, 15:41 · µSpectre
junge triaged T1800: Write a raw field_map iterator as High priority.
Apr 17 2018, 15:41 · µSpectre

Apr 13 2018

admin added a member for µSpectre: muSpectre-bot.
Apr 13 2018, 12:14