P-M Space

Published: Aug 1, 2003 by K. E. Claytor

PM Space Simulator


This program has expanded far beyond its initial aims. You can still find the PMDemo - a simple forward model of PMSpace for download here, however, a more complete PMPro version is available for download as well that uses a Monte Carlo method to invert PM space from a stress-strain curve. Here’s a comparison between the two versions


  • Real tme visualizer of PM space, Stress-strain, and position along the stress curve.
  • Quick testing and prediction of stress protocols
  • Ability to add new PM distributions
  • A Demo mode great for crowd control!


  • Inversion to obtain a PM space from a stress-strain curve (Uses a Monte Carlo (random shift method))
  • Ability to start with a custom PM distribution for inversion
  • Limited to inverting up-down stress protocols (no inner loops)
  • Forward problem works for all stress protocols
  • Faster testing and prediction of stress protocols
  • Ability to add new PM distributions
  • Ability to save and load PM spaces, stress-strain curves and strain protocols independently
  • View PM space density distribution
  • View / Download an inversion video


PMDemo was written to visualize and help explain the complex inner workings of PM space and the implications of the model, for me to use at the http://www.lanl.gov/LANL Student Symposium 2006. I’ve also added in a discussion of PM space and how the code works, in the user’s guide. PMPro was written to expand on the capabilities of PMDemo and allow for one to get a feel for what kind of PM spaces simulate experimental data.


PM Demo

PMDemo - A zip file with all the functions you will need. Run PMDemo from the Matlab command prompt.

Manual and discussion (PDF)


PMPro - A zip file with all the functions required. Run PMPro from the Matlab command prompt.

The MATLAB component runtime that must be installed before running the program installer.

PMPro_pkg - The installer for the standalone application


Download and run the MCRInstaller to install the Matlab Runtime only if you have not done this before. Then run the installer for the standalone application. This will create PMPro.exe which will run PMPro. Alternatively you can download and extract the .zip files to a folder and then run PMDemo or PMPro from the command line.


  1. Equation of state and wave propagation in hysteretic nonlinear elastic materials. McCall, K.R. and Guyer, R.A. Journal of Geophysical Research. (1994). Vol 99, no. B12. Pgs (23,877-23,897) (docs/GuyerMcCall1994.pdfPDF)
  2. Quantitative implementation of Preisach-Mayergoyz space to find static and dynamic elastic moduli in rock. Guyer, R.A.,McCall, K.R., Boitnott, G.N., Hilbert, L.B., Plona, T.J. Journal of Geophysical Research. (1997). Vol 102, no. B3. Pgs (5,281-5,293) (docs/GuyerMcCall1997.pdfPDF)
  3. A new theoretical paradigm to describe hysteresis, discrete memory and nonlinear elastic wave propagation in rock. Guyer, R.A. and McCall, K.R. Nonlinear Processes in Geophysics. (1996). Vol 5. Pgs (89-101) (docs/GuyerMcCall1996.pdfPDF)



An image of the demo GUI in operation on a custom PM space model.


A shot of the more flexible PMPro in action.

programming, geophysics


Latest Posts

YAY Tracker

The YAY Tracker

Mordin Solus

Mordin Solus Timer


Multi-Function Button Pad