
Fig. 1: Photoelastic fringe patterns in a stressed granular material (image from [1])
Photoelastic Grain Solver
–
Kamrin Group
2024 – Ongoing
Truman O’Brien – Will Siemens – Prof. Kenneth Kamrin
The Photoelastic Grain Solver (PeGS) is a MATLAB-based tool developed to extract per-particle contact force measurements from images and video recordings of photoelastic granular materials. These materials consist of transparent, birefringent disks placed between crossed polarizing filters. When subjected to mechanical stress, each disk produces a distinctive light interference pattern, known as a fringe pattern, due to stress-induced birefringence (Fig. 1). The intensity and geometry of these fringes directly reflect the internal stress distribution within each particle.

Fig 2 : Fringe in 1.4N Diametric Load Case – PeGS force solution within 3% of applied force
(Kamrin Group, unpublished data)
PeGS estimates the contact forces on each particle by comparing experimentally observed fringe patterns to simulated patterns generated from hypothesized force configurations. Using a nonlinear optimization routine, the solver iteratively adjusts these force configurations to minimize an error function that quantifies the difference between the simulated and observed patterns. Once convergence is achieved, the resulting configuration provides an estimate of the true contact forces. Open-source versions of PeGS are available online, and the solver is widely used in experimental granular physics to quantify force networks in 2D packings.

Fig 3 : PeGS solver routine graphic
(Truman O’Brien)
Under the guidance of Professor Kenneth Kamrin, my research partner Will Siemens and I have developed and implemented several algorithmic improvements to PeGS aimed at enhancing both its computational efficiency and accuracy. First, we derived and incorporated an analytic expression for the gradient of the solver’s error function, replacing MATLAB’s default finite-difference approximation. This change significantly reduces the computational cost per optimization step without affecting the accuracy of the recovered forces.
Additionally, we introduced a configurable image multi-scaling framework to the solver. This method begins the optimization at a lower image resolution and incrementally refines the solution at higher resolutions, culminating in a final full-resolution solve. When configured appropriately, this strategy reduces overall solve time while preserving force accuracy. We conducted extensive statistical testing to evaluate the impact of these changes. Our results demonstrate that both the analytic gradient and multi-scaling techniques lead to substantial speedups with no statistically significant degradation in solution accuracy. These improvements are expected to be included in the next public release of PeGS.
We are now actively developing a new optimization routine for PeGS that solves multiple particles simultaneously. By incorporating physical constraints, such as force balance on each particle and newton’s third law at contacts, we can reduce redundant computations and improve the consistency of the resulting force network. This method is particularly promising for improving solver performance in dense granular packings.

Fig 4 : DEM Simulation to Generate Packing
(Kamrin Group, unpublished data)

Fig 5 : Simulated Network Fringe Patern
(Kamrin Group, unpublished data)
Image Credits
Fig. 1: Image from ongoing research by Nathalie Vriend and Benjamin McMillan. (2025)
Fig. 2: Fringe pattern for a 1.4 N diametric load case. (Kamrin Group, unpublished data, 2025.)
Fig. 3: PeGS solver routine graphic. (Truman O’Brien, 2025.)
Fig. 4: DEM Simulation to Generate Packing (Kamrin Group, unpublished data, 2025.)
Fig. 5: Fig 4 : Simulated Network Fringe Patern (Kamrin Group, unpublished data, 2025.)
