Giter VIP home page Giter VIP logo

numerical_homogenization's Introduction

Introduction

This repository includes python scripts using in Abaqus to compute the effective properties of a heterogeneous materials with linearly elastic behaviour.

Background

Numerical Homogenization

The homogenization technique provides the effective properties of a heterogeneous material based on the mechanical properties of its micro-structure. In numerical homogenization, the effective strain tensor is computed by applying six orthogonal and known macro-strain tensors ($E_{ij}$) over the Representative Volume Element (RVE) of the material: $$\mathbf{\Sigma} = \mathbf{\tilde{C}} \mathbf{E}$$

The macro-stress ($\Sigma_{ij}$) is computed by a volume integration over the whole RVE: $ \mathbf{\Sigma}=\frac{1}{V} \int \boldsymbol{\sigma}(\mathbf{x})\text{d}V$. Then, each column of the sttiffness tenosr $\tilde{C}_{ijkl}$ is computed by each loading case (i.e. those macro-strain)

Periodic Boundary conditions

Periodic Boundary Conditions (PBC) should be applied over the parallel faces of the cubic RVE. In this way, between each pair of corresponding nodes on the opposite faces (the nodes sharing the same in-plane coordinates for two surfaces having the same normal) the displacement PBC is satisfied when: $$\mathbf{u}(\mathbf{x_2})-\mathbf{u}(\mathbf{x_1})=\mathbf{E}\cdot(\mathbf{x_2}-\mathbf{x_1})$$

where x1 and x2 are location vectors. Moreover, $\mathbf{u}(\mathbf{x_1})$ and $\mathbf{u}(\mathbf{x_2})$ are the displacement vectors of two corresponding nodes.

Quick Start

This is a very simple example for the honeycomb RVE. Open Abaqus and run the following codes: File/Run Script...

Example 01: Honeycomb cell

Run the Example01_Honeycomb.py (don't forget to change the directory into your disk)

The script will;

  1. Create one honeycomb cell as the RVE.
  2. Mesh the RVE for the given element size
  3. Run 6 simulations applying the 6 orthogonal macro-strian tensors
  4. Extract the micro-stress (and also volume elements and micro-strain) from odb files
  5. Compute the average strain (i.e. the macro-stress)
  6. Compute the effective properties and save the Cijkl in the directory

Notes:

  • The verification and validation of the computed effective properties of honeycomb cells are published in: Moeini, Mohammadreza, Mickael Begon, and Martin Lévesque. "Numerical homogenization of a linearly elastic honeycomb lattice structure and comparison with analytical and experimental results." Mechanics of Materials 167 (2022): 104210.

Ex1 Honeycomb Homogenization

Example 02: Square cell

Run the Example02_SquareCell.py This script is the same as Example #1 but of the square cell. It also consists of a for loop to run for different geometrical parameters or element size (for the convergence study).

Example 03: Triangular cell

Run the Example03_TriangularCell.py This script is also the same as the previuous lattice cells. It is for triangular cell having linearly elastic properties.

Notes:

  • Comparing the effective properties of the square and triangular cells (Example #2 and #3) are published in: Moeini, Mohammadreza, Anne-Laure Ménard, Lingyu Yue, Maryam Hajizadeh, Mickael Begon, and Martin Lévesque. "Computationally efficient model to predict the deformations of a cellular foot orthotic." Computers in Biology and Medicine (2022): 105532.

Possible issues

Abaqus version

The cods were wrriten for Abaqus 6.14, and might have some issues for the higher version.

Meshing

If the RVE is geometrically complex (RVE with random fiber distribution), it is possible that the mesh is not identical in the opposite faces. As a result of that, the algorithm might no be able to find the corresponding node. Or it would not find the correct matches.

The center point

A node close to the centerpoint of the RVE was defined and fixed to avoid the rigid body motion. In the coarse meshes (big element sizes), there might be an error to define this center node. In this case, you can either reduce the element size or increase the tolerence tole_centerP.

Verification

The following ways are suggested to verify your homogenized model:

  • Do a convergence study for the mesh refinement of the RVE.
  • Do a convergence study for the elastic air assumption for your cellular materials.  (by increasing the ratio of E_solid/E_air you should converge to a constant value.  But for very large values there might be a singularity problem)
  • Compare your computed effective properties with the analytical methods, if they are available. For instance, in a honeycomb cell, Gibson or Malek model can be used. In fiber-reinforced composite, Mori-Tanaka or other analytical methods can be used.
  • Compare the predicted displacement field by the homogenized model against that by the explicit model (i.e. the FE model of the real structure with all details and having 3D solid elements). both models should predict the same displacement field.
  • Try different boundary conditions
  • In lattice structure, try different numbers of cells (theoretically, by increasing  the number of cells, the difference between the homogenized model's prediction  and that of the explicit model should converge to zero)   The following figures show examples of the last two ways of verification: Ex1 Test number of cells Ex1 Test BC

Dependencies

  • Numpy
  • Abaqus 6.14

Citation

  • @article{moeini2022numerical, title={Numerical homogenization of a linearly elastic honeycomb lattice structure and comparison with analytical and experimental results}, author={Moeini, Mohammadreza and Begon, Mickael and L{'e}vesque, Martin}, journal={Mechanics of Materials}, volume={167}, pages={104210}, year={2022}, publisher={Elsevier} }

For the homogenization of the square and triangular cells, please cite:

  • @article{moeini2022computationally, title={Computationally efficient model to predict the deformations of a cellular foot orthotic}, author={Moeini, Mohammadreza and M{'e}nard, Anne-Laure and Yue, Lingyu and Hajizadeh, Maryam and Begon, Mickael and L{'e}vesque, Martin}, journal={Computers in Biology and Medicine}, pages={105532}, year={2022}, publisher={Elsevier} }

numerical_homogenization's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.