The 3MAH initiative brings together three complementary, interoperable open-source libraries: Simcoon for constitutive modeling and micromechanics, fedoo for nonlinear finite element analysis, and Microgen for microstructure generation and meshing. Together, they provide a complete pipeline from geometry to simulation for research in mechanics of heterogeneous and architectured materials.
Simcoon — Constitutive modeling & micromechanics
Simcoon
Constitutive modeling and micromechanics in C++ with Python bindings. Anisotropic elasticity, plasticity (isotropic, kinematic, Chaboche), viscoelasticity, hyperelasticity and phase transformation, with finite-strain support.
Mean-field homogenization
Effective properties of composites with Mori-Tanaka and self-consistent schemes, framed by Voigt and Reuss bounds and validated against experimental data.
Analysis & identification
Analyse directional stiffness, yield surfaces and cyclic response, then identify model parameters with hybrid genetic-gradient algorithms.
From cyclic plasticity to shape-memory alloys
Simulate complex paths – isotropic and kinematic hardening, superelastic SMA loops, viscoplasticity – at the material point, or as a UMAT/UEXTERNALDB plug-in for Abaqus and other FEA packages.
fedoo — Nonlinear finite element analysis
fedoo
A Python finite element solver for nonlinear mechanics, with an emphasis on geometric and material nonlinearity, model reduction (PGD) and multiscale homogenization.
Periodic homogenization
Apply periodic boundary conditions on representative volume elements to extract full anisotropic effective stiffness and nonlinear macroscopic response.
Beam, shell and solid elements
From 2D plates with holes to 3D beam lattices and pressurised shells: a unified API for 1D, 2D and 3D structural analysis.
Nonlinear and finite-strain mechanics
Plastic buckling of a thin tube under axial compression — 2D axisymmetric model with updated-Lagrangian finite strain, self-contact, and a Simcoon EPICP elasto-plastic UMAT. Line-search Newton with adaptive stiffness drives the tube from undeformed to fully folded in a single nonlinear solve.
E = 200 GPa · σ_y = 300 MPa · power-law isotropic hardening
σ = σ_y + k·pm (k = 1000, m = 0.3) ·
240 axial elements · 3D revolution from the axisymmetric solution ·
field shown: equivalent plastic strain p.
Frictionless contact with IPC
Robust incremental potential contact (IPC) via the ipctk backend: barrier-method, intersection-free contact for indentation, self-contact and lattice compression — validated against the Hertzian half-space solution.
Microgen — Microstructure generation & meshing
Microgen
A Python library for microstructure generation and meshing: TPMS, lattices, polycrystals and hybrid architectures, exported to CAD or directly to periodic FE meshes.
Graded TPMS & lattices
Generate gyroids, Schwarz, Schoen and other triply periodic minimal surfaces, with spatially graded thickness and mapping onto arbitrary CAD bodies.
Polycrystals & architectured cells
Voronoi polycrystals, octet-truss lattices, honeycombs and hybrid architectures, ready for periodic homogenization in fedoo or Abaqus.
Conforming, periodic meshes
Drive Gmsh and MMG from Python to obtain conforming, periodic meshes ready for finite element analysis, regardless of the geometric complexity.
From microstructure to simulation
The same Kelvin (truncated-octahedron) unit cell is generated and meshed with Microgen, exported as a conforming periodic mesh, then loaded directly into fedoo to run a periodic homogenization with Simcoon constitutive models. One workflow, three libraries — geometry, mesh and simulation kept in lock-step.