Skip to content

itk22/jax-fem

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A GPU-accelerated differentiable simulation toolbox for additive manufacturing (AM) based on JAX.

JAX-AM

Doc PyPI Github Star Github Fork License

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.

🔥 Join us for the development of JAX-AM! 🚀

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}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 82.9%
  • Jupyter Notebook 17.1%