Microgen is a Python library designed to streamline microstructure generation and mesh creation. It leverages Open CASCADE (via CadQuery) and VTK (using PyVista) for geometry generation, Neper for 3D tessellation, GMSH for mesh generation, and MMG for remeshing.
Here are the main features:
- Lattice structures: Generation of lattice structures such as octet trusses and honeycombs through repeated unit cells
- TPMS: Triply Periodic Minimal Surfaces (TPMS)-based lattice generation, known for favorable physical (mechanical, thermal) properties like low density and large surface area
- Virtual composites: Generation of basic reinforcement geometries, including spheres, cylinders, ellipsoids, and more
- Voronoi tessellation: 3D Voronoi tessellation for simulation of granular materials and polycrystalline metals (using Neper)
- Mesh generation: Regular and periodic meshing using GMSH, and remeshing using MMG
Microgen is dedicated to parametric geometrical definition of structures applied to mechanical simulations. Triply periodic surfaces and volumes are 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 easily perform parametric analysis.
Several geometrical operations are included (repetition, boolean, slicing, etc.). Microgen heavily relies on CadQuery (Python wrapper for Open CASCADE) and PyVista (Python VTK visualisation library). It facilitates the generation of meshes using GMSH, allowing periodic meshes if the geometry is periodic. It also wraps the MMG remeshing software developed at INRIA.
This software is compatible with fedOO for non-linear (geometrical and material) homogenization for mechanical, thermal and thermo-mechanical problems. It can also be utilised with other FEA solutions such as Abaqus, Ansys, Salome, FEniCS, Zebulon, etc.
View full documentation Back to 3MAH
Neovius TPMS, Voronoi tessellation of polycrystals, and Gyroid surfaces.