Skip to main content

JaxSSO

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

Developed by Gaoyuan Wu @ Princeton.

Features

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

Usage

Installation

Install it with pip: pip install JaxSSO

Dependencies

JaxSSO is written in Python and requires:

  • numpy >= 1.22.0.
  • JAX: "JAX is Autograd and XLA, brought together for high-performance machine learning research." Please refer to this link for the installation of JAX.
  • scipy.

Optional:

  • Nlopt: Nlopt is a library for nonlinear optimization. It has Python interface, which is implemented herein. Refer to this link for the installation of Nlopt. Alternatively, you can use pip install nlopt, please refer to nlopt-python.
  • Flax: neural network library based on JAX. JAXSSO can be integrated with flax, please see Examples/Neural_Network_Topo_Shape.ipynb
  • Optax: optimization library based on JAX, can be used to train neural networks.

Quickstart

The project provides you with interactive examples with Google Colab for quick start. No installation locally is required.

alt text

title

title

title

alt text

Cite us

Please star, share our project with others and/or cite us if you find our work interesting and helpful.

We have a new manuscript under review.

Our previous work can be seen in this paper. Cite our previous work using:

@article{wu2023framework,
  title={A framework for structural shape optimization based on automatic differentiation, the adjoint method and accelerated linear algebra},
  author={Wu, Gaoyuan},
  journal={Structural and Multidisciplinary Optimization},
  volume={66},
  url = {https://doi.org/10.1007/s00158-023-03601-0},
  doi = {10.1007/s00158-023-03601-0},
  pages={151},
  year={2023},
  publisher={Springer}
}

Metadata

Release files for jaxsso 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jaxsso 1.0.1
File Size Uploaded
jaxsso-1.0.1.tar.gz 27.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jaxsso 1.0.1
File Interpreter ABI Platform
jaxsso-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 56.3 kB

Release files / jaxsso-1.0.1.tar.gz

Download URL jaxsso-1.0.1.tar.gz
Size 27.0 kB
Tags Source
SHA-256 checksum
How to use checksums
856835e9b886790c891854b77390e662b0fd95cc21525f64320230c3c923a67d
BLAKE2b-256 checksum
How to use checksums
9977f36a3e898efd0538573e9cd554d2f8e519fe1897f801283367edabcfe1d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.6

Release files / jaxsso-1.0.1-py3-none-any.whl

Download URL jaxsso-1.0.1-py3-none-any.whl
Size 29.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09a779e8830659f5bb83efee602e7c83d52d938b4d2eee1e64cb0098cad1453b
BLAKE2b-256 checksum
How to use checksums
dd920edfbedbb6064ce2f239256c0cf487d8f677ff5955ef2b006128a11908bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.6

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page