Ported from William Coombs' MATLAB AMPLE 1.1 to Python. This project aims to provide a Python-based educational framework for implicit Material Point Method (iMPM) simulations for those who are not familiar with or do not have access to MATLAB.
The current version closely follows the design of Professor Coombs' original MATLAB code, with the goal of preserving the educational content and structural integrity of the original implementation.
Important Note: This is an unofficial port. Any errors or issues in this implementation are not associated with Professor Coombs or the officially released AMPLE project.
GitHub Repository: https://github.com/wmcoombs/AMPLE
Official Website: https://wmcoombs.github.io
To run AmplePy, ensure you have the following dependencies installed:
pip install numpy scipy meshio
AmplePy includes three 2D plane strain educational examples:
-
Column under self weight (default case)
-
Beam analysis
-
Collapse simulation
To execute the simulations, use the following commands:
# Run the default case (column under self weight)
python ample.py
# Run the beam analysis case
python ample.py beam
# Run the collapse simulation case
python ample.py collapse
All simulations automatically create an outputs directory containing results in VTK format. For visualization, you can use:
- PyVista:
pip install pyvista
- ParaView: https://www.paraview.org/
The VTK files can be directly opened in either visualization tool to analyze the simulation results.