Skip to content

Latest commit

 

History

History
executable file
·
282 lines (259 loc) · 13.8 KB

File metadata and controls

executable file
·
282 lines (259 loc) · 13.8 KB
layout splash
header
overlay_color overlay_filter overlay_image og_image cta_label cta_url caption
#0a1428
0.35
/assets/images/index/microgen/tpms_cylinder.png
/assets/images/index/microgen/tpms_cylinder.png
Download
Gyroid TPMS rendered with microgen
title 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.
simcoon docs
btn--primary
image_path alt title excerpt url btn_label btn_class
/assets/images/index/simcoon/simcoon_homog_mori_tanaka.png
Mean-field homogenization
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.
See example
btn--primary
image_path alt title excerpt url btn_label btn_class
/assets/images/index/simcoon/simcoon_directional_stiffness.png
Directional stiffness
Analysis & identification
Analyse **directional stiffness**, yield surfaces and cyclic response, then identify model parameters with hybrid genetic-gradient algorithms.
See example
btn--primary
fedoo_row
image_path alt title excerpt url btn_label btn_class
/assets/images/logo_fedoo/fedoo_logo.png
fedoo
fedoo
A **Python finite element solver** for nonlinear mechanics, with an emphasis on geometric and material nonlinearity, model reduction (PGD) and multiscale homogenization.
fedoo docs
btn--primary
image_path alt title excerpt url btn_label btn_class
/assets/images/index/fedoo/fedoo_periodic_homog.png
Periodic homogenization
Periodic homogenization
Apply **periodic boundary conditions** on representative volume elements to extract full anisotropic effective stiffness and nonlinear macroscopic response.
See example
btn--primary
image_path alt title excerpt url btn_label btn_class
/assets/images/index/fedoo/fedoo_beam_lattice.png
Beam and shell elements
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.
Read more
btn--primary
fedoo_contact
image_path poster alt title excerpt url btn_label btn_class
/assets/images/index/fedoo/fedoo_ipc_indentation.mp4
/assets/images/index/fedoo/fedoo_ipc_indentation.png
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.
Read more
btn--primary
microgen_morph
image_path alt title excerpt url btn_label btn_class
/assets/images/index/microgen/microgen_morph.mp4
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.
Read more
btn--primary
microgen_row
image_path alt title excerpt url btn_label btn_class
/assets/images/logo_microgen/microgen_logo.png
microgen
microgen
A **Python library for microstructure generation and meshing**: TPMS, lattices, polycrystals and hybrid architectures, exported to CAD or directly to periodic FE meshes.
microgen docs
btn--primary
image_path alt title excerpt url btn_label btn_class
/assets/images/index/microgen/gyroid_graded.png
Graded TPMS
Graded TPMS & lattices
Generate **gyroids, Schwarz, Schoen** and other triply periodic minimal surfaces, with spatially graded thickness and mapping onto arbitrary CAD bodies.
See example
btn--primary
image_path poster alt title excerpt url btn_label btn_class
/assets/images/index/microgen/examples/voronoi_polycrystal.mp4
/assets/images/index/microgen/examples/voronoi_polycrystal.png
Voronoi polycrystal grains assembling one by one
Polycrystals & architectured cells
**Voronoi** polycrystals, octet-truss lattices, honeycombs and hybrid architectures, ready for periodic homogenization in fedoo or Abaqus.
Read more
btn--primary
cta_row
title excerpt url btn_label btn_class
Team
Meet the researchers and labs behind 3MAH.
/team/
About the team
btn--inverse
title excerpt url btn_label btn_class
Gallery
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.

Undeformed tube — initial configuration

Initial

Evolution

Fully folded tube — final accordion-like configuration with equivalent plastic strain field

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.

Spatially graded gyroid with the conforming triangular mesh visible across the gradient

Graded — tanh-graded gyroid, thickness varying along x.

A single TPMS unit cell tiled three by two showing seamless periodicity across cell boundaries

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.

Kelvin RVE - conforming periodic mesh from microgen Kelvin RVE - periodic homogenization with fedoo Same Kelvin unit cell — left: periodic conforming mesh from microgen; right: periodic homogenization (shear EYZ, σYZ field) in fedoo.

{% include feature_row id="cta_row" %}