Micro mechanical computations with an FFT-based method
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
diffusion
finite-strain
small-strain
.gitignore
LICENSE
README.md

README.md

This repository is distributed under an MIT license. In layman's term you are free to do what you want with it. We just kindly request you to cite our papers that form the basis for this repository, and encourage you to be equally open with your code.

Introduction

This repository is primarily meant for those researchers who want to dive into the FFT-based micro-mechanical solver. It contains several small, single-file, Python scripts which should lower the learning curve (see Ref. [1], which was written with this particular aim). These examples are formulated both in small strain (with linear and non-linear elastic, elasto-plastic, elasto-visco-plastic constitutive models; accompanying [2]), and finite strain (with hyper elastic and elasto-plastic constitutive models; accompanying [1]). The examples only depend on standard Python and its scientific libraries NumPy and SciPy, which are freely available for all operating systems and are widely used. No custom software or libraries are used, i.e. there are no hidden layers of complexity.

Since different approaches exists for this type of numerical method, and since there are many styles and programming languages, anyone is invited to contribute by:

  1. Uploading similar small, preferably single-file, examples for different materials, in different programming languages, or featuring different approaches.

  2. Updating this document with the state-of-the-art: an overview of which literature and what approaches are 'on the market'.

Both are very welcome, as this field is rapidly growing.

Examples

The examples are divided in three categories:

  • Basic methodology. These examples focus on accessibility while retaining some computational efficiency. Great to get started.

  • Different materials models. These examples focus on different constitutive relations (which are completely uncoupled from the FFT-solver). At the same time they are implemented more general and more efficiently than the examples that present the basic methodology.

  • Applications. These examples show just how powerful the FFT-solver can be, even with the very simple Python code. Also, they introduce the concept of 2-D plane strain.

Basic methodology

Different materials models

Applications

References

[1]: T.W.J. de Geus, J. Vondřejc, J. Zeman, R.H.J. Peerlings, M.G.D. Geers. Finite strain FFT-based non-linear solvers made simple. Submitted, 2016. arXiv: 1603.08893

[2]: J. Zeman, T.W.J. de Geus, J. Vondřejc, R.H.J. Peerlings, M.G.D. Geers. A finite element perspective on non-linear FFT-based micromechanical simulations. International Journal for Numerical Methods in Engineering, Accepted, 2016. arXiv: 1601.05970