GPU-accelerated simulation toolbox for additive manufacturing based on JAX.
Project description
A GPU-accelerated differentiable simulation toolbox for additive manufacturing (AM) based on JAX.
JAX-AM
JAX-AM is a collection of several numerical tools, currently including Discrete Element Method (DEM), Lattice Boltzmann Methods (LBM), Computational Fluid Dynamics (CFD), Phase Field Method (PFM) and Finite Element Method (FEM), that cover the analysis of the Process-Structure-Property relationship in AM.
Our vision is to share with the AM community a free, open-source (under the GPL-3.0 License) software that facilitates the relevant computational research. In the JAX ecosystem, we hope to emphasize the potential of JAX for scientific computing. At the same time, AI-enabled research in AM can be made easy with JAX-AM.
Authors:
:fire: Join us for the development of JAX-AM! :rocket:
Discrete Element Method (DEM)
DEM simulation can be used for simulating powder dynamics in metal AM.
Free falling of 64,000 spherical particles.
Lattice Boltzmann Methods (LBM)
LBM can simulate melt pool dynamics with a free-surface model.
A powder bed fusion process considering surface tension, Marangoni effect and recoil pressure.
Computational Fluid Dynamics (CFD)
CFD helps to understand the AM process by solving the (incompressible) Navier-Stokes equations for velocity, pressure and temperature.
Melt pool dynamics.
Phase Field Method (PFM)
PFM models the grain development that is critical to form the structure of the as-built sample.
Microstructure evolution.
Directional solidification with isotropic (left) and anisotropic (right) grain growth.
Finite Element Method (FEM)
FEM is a powerful tool for thermal-mechanical analysis in AM. We support the following features
- 2D quadrilateral/triangle elements
- 3D hexahedron/tetrahedron elements
- First and second order elements
- Dirichlet/Neumann/Cauchy/periodic boundary conditions
- Linear and nonlinear analysis including
- Heat equation
- Linear elasticity
- Hyperelasticity
- Plasticity (macro and crystal plasticity)
- Differentiable simulation for solving inverse/design problems without human deriving sensitivities, e.g.,
- Toplogy optimization
- Optimal thermal control
Thermal profile in direct energy deposition.
Linear static analysis of a bracket.
Crystal plasticity: grain structure (left) and stress-xx (right).
Topology optimization with differentiable simulation.
Documentation
Please see the web documentation for the installation and use of this project.
License
This project is licensed under the GNU General Public License v3 - see the LICENSE for details.
Citations
If you found this library useful in academic or industry work, we appreciate your support if you consider 1) starring the project on Github, and 2) citing relevant papers:
@article{xue2023jax,
title={JAX-FEM: A differentiable GPU-accelerated 3D finite element solver for automatic inverse design and mechanistic data science},
author={Xue, Tianju and Liao, Shuheng and Gan, Zhengtao and Park, Chanwook and Xie, Xiaoyu and Liu, Wing Kam and Cao, Jian},
journal={Computer Physics Communications},
pages={108802},
year={2023},
publisher={Elsevier}
}
@article{xue2022physics,
title={Physics-embedded graph network for accelerating phase-field simulation of microstructure evolution in additive manufacturing},
author={Xue, Tianju and Gan, Zhengtao and Liao, Shuheng and Cao, Jian},
journal={npj Computational Materials},
volume={8},
number={1},
pages={201},
year={2022},
publisher={Nature Publishing Group UK London}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jax-am-0.0.3.tar.gz
.
File metadata
- Download URL: jax-am-0.0.3.tar.gz
- Upload date:
- Size: 58.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 299b17cf56ac6f9a90f299c20826fc60f54479379da33a605ff9e83a9bd3a1fb |
|
MD5 | 1c62371420301dcf307f27a858836dd7 |
|
BLAKE2b-256 | 21b25eb247e709614d4db54b44975313fde80fa4608be59b831b5d69ca84876c |
File details
Details for the file jax_am-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: jax_am-0.0.3-py3-none-any.whl
- Upload date:
- Size: 60.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 306192bebb7677929361da04fd5d5fcaecb0ae0fd62bfc7f820fb09e45732be2 |
|
MD5 | 19e0d5635dc1a249d05594e3fd2dff53 |
|
BLAKE2b-256 | 40407da0c8e0a9013e5c2adc02aeb935fc63ca95566600b289aa14fc88aea936 |