Microgen is a simple python libraries that helps to generate and mesh Representative Unit Cells.

Python GitHub build-and-test workflow Anaconda-Server Badge PyPI version Documentation Status

Here are the main features:

  • microgen is entirely written in Python 3 and based on CadQuery and PyVista libraries
  • It allows to generate simple reinforcement geometries (spheres, cylinder, ellipsoids, …) to generate virtual composites microstructures
  • Three-dimensional Voronoi tessellation rallons to simulate the response granular materials and polycrystalline metals
  • Regular mesh and periodic mesh are implemented using gmsh

Gyroid TPMS

Shell Beams

Microgen is dedicated to parametric geometrical definition of structures applied to mechanical simulations. It has a lot of exciting features! You can see below that triply periodic surfaces and volumes are very easy to represent for FEM simulation or 3D printing Microgen’s objective is to represent, with an easy-to-learn python scripting approach, any CAD-compatible surface and volume and be able to easy perform parametric analysis.

Also, several geometrical operations are included (repetition, boolean, slicing, etc..). Microgen heavily relies on Cadquery (Python wrapper for Opencascade) and PyVista (python vtk visualisation library). Microgen facilitates the generation of meshes using GMSH, allowing periodic meshes if the geometry is periodic. It also wraps the very good MMG remeshing software developed at INRIA.

This software is totally compatible with our FEA software FedOO, to perform non-linear (geometrical and material) homogenization for mechanical, thermal and very soon thermo-mechanical problems. It can also be utilised with other FEA solutions such as Abaqus, Ansys, Salome, Fenics, Zebulon, ...

Neovius triply periodic minimal surface (sheet part) Random polycrystalline texture (500 polyhedral grain, Voronoi tesselation) Gyroid triply periodic minimal surfaces : definition of surfaces
Main microstructures obtained using the microgen library Neovius TPMS, Voronoi tessellation of polycristals, and Gyroid surfaces.