JaxSSO

A differentiable finite element analysis (FEA) solver for structural optimization, enabled by JAX.

JaxSSO is a differentiable finite element analysis (FEA) solver for structural optimization, enabled by JAX.

Features

  • Automatic differentiation (AD): an easy and accurate way for gradient evaluation. The implementation of AD avoids deriving derivatives manually or truncation errors from numerical differentiation.
  • Accelerated linear algebra (XLA) and just-in-time compilation: these features in JAX boost the gradient evaluation.
  • Hardware acceleration: run on GPUs and TPUs for a faster experience.
  • Support for beam-column elements and MITC-4 quadrilateral shell elements.
  • Shape optimization, size optimization, and topology optimization.
  • Seamless integration with machine learning (ML) libraries.

See (Wu, 2023) and (Wu, 2024) for the underlying methodology and software.

Here is an implementation of JaxSSO to form-find a structure inspired by Mannheim Multihalle using simple gradient descent. (First photo credit to Daniel Lukac.)

References

2024

  1. jaxsso.png
    JAX-SSO: Differentiable Finite Element Analysis Solver for Structural Optimization and Seamless Integration with Neural Networks
    Gaoyuan Wu
    Jul 2024

2023

  1. SAMO
    mm_opt.jpg
    A framework for structural shape optimization based on automatic differentiation, the adjoint method and accelerated linear algebra
    Gaoyuan Wu
    Structural and Multidisciplinary Optimization, Jun 2023