Posted a new example on homogenizing microstructures that come from different modeling tools with a single sgio + SwiftComp pipeline, and comparing their elastic anisotropy on one scale.
What it covers:
- Four microstructures, one per builder: hexagonal honeycomb (Abaqus/CAE, 2D SG), UD composite with random fibres (GmshModel, 2D SG), Schwarz-P TPMS sheet (microgen, 3D SG) and 2×2 plain weave (TexGen, 3D SG)
- Two hand-over formats:
- Abaqus
.inpdecks with per-element material orientations. The honeycomb uses a discrete orientation along each wall, and the TexGen weave stores voxel yarn directions in an.orifile that sgio follows from the*Distributionline. - Gmsh
.mshmeshes plus an SG manifest (.sg.json) that sets the SG dimension, the model space and the physical group → material binding
- Abaqus
- One code path for every case:
sgio.convert(...)to a SwiftComp SG,sgio.run("swiftcomp", ..., "h"), thensgio.read_output_modelfor the 6×6 effective stiffness and the density. Only the input format and the SG dimension change. - Postprocessing on C and ρ alone: directional Young’s modulus surfaces and the energy-ratio-based measure of elastic anisotropy (Fang et al., PRL 2019) for all 32 cases (geometry parameter ranges × two material sets)
The folder includes the homogenization outputs, so rerunning the postprocessing and the figures only needs uv. The workflow/ folder has the builder scripts and the sgio/SwiftComp driver if you want to rebuild everything. Each builder gets its own Python environment because the tools’ requirements conflict, and the article notes the version pins and workarounds this needed.
If you have microstructures from another tool, the SG manifest route (mesh + JSON) is the easiest way to bring them into SwiftComp.
Full example, code and interactive figures: