- Notifications
You must be signed in to change notification settings - Fork6
geoelements/diffmpm
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
MPM simulations are applied in various fields such as computer graphics, geotechnical engineering, computational mechanics and more.diffmpm
is a differentiable MPM simulation library written entirely in JAX which means it also has all the niceties that come with JAX. It is a highly parallel, Just-In-Time compiled code that can run on CPUs, GPUs or TPUs. It aims to be a fast solver that can be used in various problems like optimization and inverse problems. Having a differentiable MPM simulation opens up several advantages -
- Efficient Gradient-based Optimization: Since the entire simulation model is differentiable, it can be used in conjunction with various gradient-based optimization techniques such as stochastic gradient descent (SGD), ADAM etc.
- Inverse Problems: It also enables us to solve inverse problems to determine material properties by formulating an inverse problem as an optimization task.
- Integration with Deep Learning: It can be seamlessly integrated with other Neural Network models to enable training physics-informed neural networks.
diffmpm
can be installed directly from PyPI usingpip
pip install diffmpm
Add separate installation commands for CPU/GPU.
Once installed,diffmpm
can be used as a CLI tool or can be imported as a library in Python. Example input files can be found in thebenchmarks/
directory.
Usage: mpm [OPTIONS] CLI utility for DiffMPM.Options: -f, --file TEXT Input TOML file [required] --version Show the version and exit. --help Show this message and exit.
Further documentation about the input file can be found in the documentation[INSERT LINK HERE].diffmpm
can write the output to various file types like.npz
,.vtk
etc. that can then be used to visualize the output of the simulations.
About
Differentiable Material Point Method