You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3MAH — Mechanics of Heterogeneous & Architectured Materials
description
Open-source scientific software for mechanics of materials and multiphysics. simcoon (constitutive modeling, micromechanics, UMAT), fedoo (nonlinear finite element analysis, periodic homogenization, PGD), and microgen (TPMS, lattices, polycrystals and microstructure meshing) in a single coherent workflow.
keywords
mechanics of materials
computational mechanics
constitutive modeling
micromechanics
finite element analysis
nonlinear FEM
periodic homogenization
microstructure generation
TPMS
gyroid
lattice structures
polycrystal
Voronoi tessellation
plasticity
hyperelasticity
shape memory alloys
composites
Mori-Tanaka
simcoon
fedoo
microgen
Python
C++
UMAT
Abaqus
open source
excerpt
Open-source scientific tools for the mechanics of materials and multiphysics: constitutive modeling, finite element analysis, and microstructure generation, in a single coherent workflow.
intro
excerpt
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_row
image_path
alt
title
excerpt
url
btn_label
btn_class
/assets/images/logo_simcoon/simcoon_logo_text.png
simcoon
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.
Effective properties of composites with **Mori-Tanaka** and self-consistent schemes, framed by Voigt and Reuss bounds and validated against experimental data.
A **Python finite element solver** for nonlinear mechanics, with an emphasis on geometric and material nonlinearity, model reduction (PGD) and multiscale homogenization.
Apply **periodic boundary conditions** on representative volume elements to extract full anisotropic effective stiffness and nonlinear macroscopic response.
Stiff disk progressively indenting a soft plate, von Mises stress field
Contact with IPC
Robust **incremental potential contact** (IPC) via the `ipctk` backend — barrier-method, intersection-free, **frictional or frictionless** contact for indentation, self-contact and lattice compression. The disk-on-plate example here is validated against the Hertzian half-space solution.
Continuous morphing through eleven TPMS surface families
Continuous morphing between TPMS families
Blend any two TPMS surface functions with a tanh weight to walk continuously through families: **gyroid → Schwarz P → Schwarz D → Neovius → Schoen IWP → Schoen FRD → Fischer-Koch S → PMY → honeycomb → Lidinoid → split P → gyroid**. The animated transition exposes the underlying surface-function arithmetic of microgen.
A **Python library for microstructure generation and meshing**: TPMS, lattices, polycrystals and hybrid architectures, exported to CAD or directly to periodic FE meshes.
Generate **gyroids, Schwarz, Schoen** and other triply periodic minimal surfaces, with spatially graded thickness and mapping onto arbitrary CAD bodies.
Explore simulations and renderings produced with the 3MAH stack.
/gallery/
Open gallery
btn--inverse
{% include feature_row id="intro" type="center" %}
simcoon — Constitutive modeling & micromechanics
{: .brand-simcoon}
{% include feature_row id="simcoon_row" %}
Parameter identification from cyclic experiments
Identify seven Chaboche parameters — initial yield σ_y,
Voce isotropic hardening (Q, b) and two non-linear Armstrong-Frederick
backstresses (C₁, D₁, C₂, D₂) — from three cyclic uniaxial
tests at increasing strain amplitudes. simcoon's
EPCHA UMAT is the forward model, driven through
sim.solver; the new simcoon.identify module
wraps SciPy's differential evolution with a key-based file-templating
workflow that generalises to any optimiser or external simulator.
EPCHA UMAT · E = 140 GPa, ν = 0.3 (fixed) · 7 parameters identified ·
cost = NMSE-per-response, balanced across the three tests · optimiser:
scipy.optimize.differential_evolution (popsize 15, maxiter 80,
seed 42) · final cost ≈ 8 × 10⁻³.
fedoo — Nonlinear finite element analysis
{: .brand-fedoo}
{% include feature_row id="fedoo_row" %}
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.
Initial
Evolution
Final
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.
{% include feature_row id="fedoo_contact" type="left" %}
microgen — Microstructure generation & meshing
{: .brand-microgen}
{% include feature_row id="microgen_row" %}
Graded and periodic meshes
microgen drives Gmsh and MMG from
Python to deliver two complementary mesh styles for architectured
materials: graded structures with spatially varying
thickness, and seamlessly periodic unit cells ready
for periodic-homogenisation BCs in fedoo or Abaqus.
Graded — tanh-graded gyroid, thickness varying along x.
Periodic — unit cell tiled 3 × 2, no seam visible.
Open CASCADE / CadQuery for geometry · Gmsh for the conforming
triangulation · MMG for adaptive remeshing · exported as .vtk
/.msh for fedoo, Abaqus and others.
{% include feature_row id="microgen_morph" type="right" %}
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.
Same Kelvin unit cell — left: periodic conforming mesh from microgen; right: periodic homogenization (shear EYZ, σYZ field) in fedoo.