-
Notifications
You must be signed in to change notification settings - Fork 0
Home
ColtonKawamura edited this page Sep 16, 2026
·
2 revisions
Granular Eigenvalue — eigenvalue problem of granular packings. Continuation of GranMA.
This wiki has one page per function in src/. Each page shows the default
syntax, every option, a one-line description of what it does, and runnable
examples.
-
Generate a packing →
pack -
Compute damped eigenmodes →
processEigenModesDampedPara(or build the matrices yourself withmatSpringDampMass) -
Plot the spectra →
plotModes -
Simulate a single mode →
simEigenmode -
Plot the wave speed →
eigenWavespeed - Inspect the saved variables → Output files
| Function | What it does |
|---|---|
pack |
Generate a jammed 2D/3D packing (Hooke or Hertz, optional friction, optional eigenmodes, optional tiling) |
packRepeatTile |
Tile a saved 2D packing in x and/or y |
matSpringDampMass |
Build the stiffness / damping / mass matrices K, Γ, M |
processEigenModesDampedPara |
Parallel sweep: damped eigenmodes for every packing × damping |
plotModes |
Plot attenuation vs. frequency for all results files in a directory |
simEigenmode |
Excite one eigenmode in a Verlet sim and check its frequency/attenuation |
cleanRats |
Remove rattlers (frictionless + frictional variants) |
findNeighbors3D |
Build the candidate contact-pair list for a 3D cell list |
rebuildCellList3D |
Re-bucket 3D positions into a periodic cell list |
eigenWavespeed |
Plot wave speed c_n = ω_n/k_n vs. frequency (file eigenWavespeed.m, fn plotEigenWavespeed) |
scriptDebug |
Demo script driving simEigenmode on example files (not a function) |
-
Output files — variables saved in packing / results
.matfiles
All functions live in
src/. Run MATLAB from the project root andaddpath('src'). Tests intests/exercise the low-level helpers.