/dpm

Simulate deformable particles with OOP framework. Supports cell linked-list, header files partitioned into different particle types.

Primary LanguageC++

Deformable Particle Model in C++

By Jack Treado, Yale University

This repository broadly allows for the simulation of deformable particles using an OOP, C++ simulation framework. Currently we only support 2D particles, but 3D is on the way!

References that use the DPM:

J. D. Treado, D. Wang, A. Boromand, M. P. Murrell, M. D. Shattuck, and C. S. O'Hern, "Bridging particle deformability and collective response in soft solids," Phys. Rev. Materials 5 055605 (2021).

A. Boromand, A. Signoriello, J. Lowensohn, C. S. Orellana, E. R. Weeks, F. Ye, M. D. Shattuck, and C. S. O'Hern, "The role of deformability in determining the structural and mechanical properties of bubbles and emulsions," Soft Matter 15 5854 (2019).

A. Boromand, A. Signoriello, F. Ye, C. S. O'Hern, and M. D. Shattuck, "Jamming of deformable polygons," Phys. Rev. Lett. 121 248003 (2018).

Compilation

Once the repository has been downloaded, any code can be compiled using the g++ compiler with the --std=c++11 flag.

Specific simulations are stored in the main directory, which all use files written in the src directory.

To compile a given simulation to a binary (say bin.o), make the dpm directory your working directory and use:

g++ -O3 --std=c++11 -I src main/[DIR NAME]/[MAIN FILE NAME].cpp src/*.cpp -o bin.o

How-to guides

Simulations

Jamming of deformable particles with sinusoidal preferred angles

Simulations with particles of arbitrarily-lobed, deformable particles. See sinusoidalJamming.md