Skip to main content

Topology Optimization Toolkit

Tools for density-based topology optimization with adaptive remeshing and continuation.

Modules

adaptive

Adaptive remeshing with Gmsh. Provides adaptive_mesh() for TET4 mesh generation with refinement fields, interpolate_field() for TET4 shape function-based field transfer, and gradient_refinement() for density-gradient-based mesh refinement.

optimizer

High-level optimization driver. run() handles the full MMA-based optimization loop with Continuation parameter scheduling and AdaptiveConfig remeshing.

filters

Density filtering and projection. Includes create_density_filter(), create_helmholtz_filter(), and heaviside_projection() for standard topology optimization pipelines.

responses

Response functions for optimization. create_compliance_fn() and create_volume_fn() create JIT-compiled objective and constraint functions.

mdmm

Modified Differential Method of Multipliers for constrained optimization with Lagrange multipliers.

Quick Start

import feax.gene as gene
from feax.gene.optimizer import Continuation, AdaptiveConfig, run

# Create pipeline factory
def build_pipeline(mesh):
filter_fn = gene.create_density_filter(mesh, radius=3.0)
# ... build objective, volume, filter
return {````````````````````'objective': objective, 'volume': volume, 'filter': filter_fn````````````````````}

# Run optimization
result = run(
build_pipeline=build_pipeline,
mesh=mesh,
target_volume=0.4,
max_iter=300,
)