TopOpt.jl Tutorials

Interactive, executable examples that walk through complete topology optimization workflows — from problem setup to visualization.

Density-based methods

BESO: Bi-directional Evolutionary Structural Optimization

2D compliance minimization on the HalfMBB beam with problem setup, FEA solver, sensitivity filtering, and BESO algorithm loop.

SIMP: Solid Isotropic Material with Penalization

3D compliance minimization on a cantilever with density filtering, Nonconvex.jl + MMA87, and Makie visualization.

GESO: Genetic Evolutionary Structural Optimization

2D compliance minimization with genetic algorithm — binary encoding, crossover, and mutation for global search.

Continuation SIMP

Penalty ramp (1.0 → 5.0) for improved convergence on cantilever, Half MBB, L-beam, and tie-beam benchmarks.

TOBS: Topological Optimization of Binary Structures

Binary (0/1) topology optimization with sequential linearization and Cbc.jl branch-and-cut for 16,000+ variables.

Heat conduction

Heat Conduction: Conductivity Tree

Thermal compliance minimization with the classic branching tree benchmark — heat flux on top, fixed temperature at bottom.

Heat Sink with Temperature BCs

Asymmetric temperature BCs (T=100 left, T=0 right), distributed flux from top, and Zygote gradient verification.

Stress and buckling

Global Stress Constraints

Stress-constrained L-bracket with relaxed stress and p-norm/KS/ε-relaxation aggregation. Minimizes volume subject to a global stress constraint, reproducing the classic rounded-corner design.

Local Stress Constraints

Element-wise stress limits using Percival.jl for large-scale constrained optimization with continuation SIMP.

Buckling-Constrained Truss Optimization

Semidefinite programming (SDP) constraints for stability via NonconvexSemidefinite.jl. Enforces K + c·Kσ ≽ 0.

Advanced parametrization

Multi-Material Optimization

Softmax parametrization for distributing 3+ candidate materials with mass constraints and MaterialInterpolation.

Neural Network Parametrization (IPOPT)

4-layer MLP parametrization with feasibility restoration and augmented-Lagrangian refinement using IPOPT.

Neural Network Parametrization (Adam)

6-layer MLP with Adam optimizer and continuation on penalty and constraint aggregation weight.

Truss optimization

Truss Topology Optimization

Compliance minimization on bar structures with JSON-defined geometry, power-law penalization, and MMA87 optimizer.

Mixed-Integer Truss Optimization

Binary (0/1) truss design via Juniper.jl branch-and-bound with IPOPT relaxation — crisp layouts with no intermediate densities.

Problem types

Continuum Problem Types

Standard benchmarks: point load cantilever (2D/3D), Half MBB, L-beam, tie-beam, and INP file import from CAD.

Truss Problem Types

Ground structure via JSON files, programmatic truss cantilever construction, and 2D vs 3D truss differences.


← Back to TopOpt.jl documentation