Manuals, DLLs, and Example Drivers

  • The following sections provide links for the manuals, dynamic link libraries (DLLs), and example driver files.

Version 2

  • Manual: Boulanger, R. W., and Ziotopoulou, K. (2012). “PM4Sand (Version 2): A sand plasticity model for earthquake engineering applications.”  Report No. UCD/CGM-12/01, Center for Geotechnical Modeling, Department of Civil and Environmental Engineering, University of California, Davis, CA, May, 100 pp. (Revision 1 posted July 2012). [PDF available here]
  • DLL: modelpm4s003.dll (Compiled 5/15/2012; Revision 1 compiled 7/12/2012). This code was compiled using Microsoft Visual C++ 2005 for use with FLAC 7. It will not work with earlier or later versions of FLAC. Place the dll in the Program Files (x86)\Itasca\FLAC700\Exe32\plugins\models directory [the dll can be downloaded here: zip file]
  • Calibration aids: A set of single-element simulation drivers are provided for assisting with model calibration. The two project files (and corresponding fish files) listed below can be downloaded here (zip file).
    • Example drivers set #1: Project file simulates 5 direct simple shear elements loaded at different uniform cyclic stress ratios (CSR). The resulting plot of CSR versus number of cycles to reach three different failure criteria can be used for calibrating the model to a target cyclic resistance ratio (CRR).
    • Example drivers set #2: Project file simulates 5 direct simple shear elements subjected to monotoninc or cyclic shear strains. This file can be used to perform drained or undrained monotonic loading simulations, or to perform cyclic strain-controlled loading for computing modulus reduction and damping relationships.

Version 3

  • Manual: Boulanger, R. W., and Ziotopoulou, K. (2015). “PM4Sand (Version 3): A sand plasticity model for earthquake engineering applications.”  Report No. UCD/CGM-15/01, Center for Geotechnical Modeling, Department of Civil and Environmental Engineering, University of California, Davis, CA, March, 112 pp. [pdf available here]
  • DLL for FLAC 7.0: modelpm4s003.dll (compiled 3/11/2015). This code was compiled using Microsoft Visual C++ 2005 for use with FLAC 7.0. It will not work with earlier or later versions of FLAC. Place the dll in the \Itasca\FLAC700\Exe32\plugins\models directory. The dll can be downloaded here (zip file).
  • DLL for FLAC 8.0: modelpm4sand005_64.dll (compiled 2/21/2017). This code was compiled using Microsoft Visual Studio Community 2015 C++  for use with FLAC 8.0. It will not work with earlier versions of FLAC. Place the dll in the \Itasca\FLAC800\exe64\plugins\models directory. The dll can be downloaded here (zip file).
  • Calibration aids: Example drivers set #1 and set #2 for Version 3 are slightly different from those described above for Version 2. These two project files (and corresponding fish files) can be downloaded here (zip file).

Version 3.1

  • Changes: Revisions to PM4Sand in Version 3.1, relative to Version 3, were minor. They included: (1) recompiling to run with FLAC 8.0 (Itasca 2016), (2) changes to the logic for input of secondary parameters, (3) a minor correction to the algorithm for post-liquefaction reconsolidation strains, (4) renaming of some tracking variables, and (5) a modification to the initialization scheme that prevents a problem that can arise with the use of the static solver during model initialization. For boundary value problem simulations not involving post-liquefaction reconsolidation, these revisions have been found to have no effect on simulation results.
  • Manual: Boulanger, R. W., and Ziotopoulou, K. (2017). “PM4Sand (Version 3.1): A sand plasticity model for earthquake engineering applications.”  Report No. UCD/CGM-17/01, Center for Geotechnical Modeling, Department of Civil and Environmental Engineering, University of California, Davis, CA, March, 114 pp. [pdf available here]
  • DLL for FLAC 8.0: modelpm4sand005_64.dll (compiled 11/28/2017). This code was compiled using Microsoft Visual Studio Community 2015 C++  for use with FLAC 8.0. It will not work with earlier versions of FLAC. Place the dll in the \Itasca\FLAC800\exe64\plugins\models directory. The dll can be downloaded here (zip file).
  • Calibration aids: A set of example drivers (project files and corresponding fish files) to assist with calibration can be downloaded here (zip file).

Version 3.2

  • Changes: Revisions to PM4Sand in Version 3.2, relative to Version 3.1, include: (1) a revision to the initial back-stress ratio initialization routine, (2) a modification to the elastic shear modulus equation, and (3) a recalibration of the Fsedmin secondary parameter as well as a proper renaming of its input string for FLAC from [F_sed] to [F_sedmin]. These changes do not significantly affect the general features of model responses, but do affect responses for a given set of calibration parameters. Therefore, calibrations using PM4Sand Version 3.1 need to be revised when switching to Version 3.2.
  • Manual: Boulanger, R. W., and Ziotopoulou, K. (2022). “PM4Sand (Version 3.2): A sand plasticity model for earthquake engineering applications.”  Report No. UCD/CGM-22/02, Center for Geotechnical Modeling, Department of Civil and Environmental Engineering, University of California, Davis, CA, March, 112 pp. [pdf available here]
  • DLL for FLAC 8.1: modelpm4sand005_64.dll (compiled 06/20/2022). This code was compiled using Microsoft Visual Studio Community 2015 C++  for use with FLAC 8.1. It will not work with earlier versions of FLAC. Place the dll in the \Itasca\FLAC810\exe64\plugins\models directory. The dll can be downloaded here (zip file).
  • Calibration aids: A slightly revised set of example drivers (project files and corresponding fish files) to assist with calibration can be downloaded here (zip file).
    • Example driver #1: Monotonic loading in direct simple shear  (drained or undrained)
    • Example driver #2: Uniform cyclic stress ratio loading in direct simple shear (drained or undrained)
    • Example driver #3: Strain-controlled loading in direct simple shear to obtain G/Gmax and damping values (drained or undrained)
    • Example driver #4: Post-liquefaction reconsolidation in direct simple shear

Version 3.3

  • Changes: The only change in Version 3.3 relative to Version 3.2 was restricting the stress ratio term to less than or equal to unity in the elastic shear modulus equation. These changes did not significantly affect model responses, but calibrations need to be checked/revised when updating from 3.2 to 3.3. 
  • Manual: Boulanger, R. W., and Ziotopoulou, K. (2023). “PM4Sand (Version 3.3): A sand plasticity model for earthquake engineering applications.”  Report No. UCD/CGM-23/01, Center for Geotechnical Modeling, Department of Civil and Environmental Engineering, University of California, Davis, CA, March, 112 pp. [June 2023; revised October 2023] [pdf available here]
  • DLL for FLAC 8.1: modelpm4sand005_64.dll (compiled 06/12/2023). This code was compiled using Microsoft Visual Studio Community 2015 C++  for use with FLAC 8.1. It will not work with earlier versions of FLAC. Place the dll in the \Itasca\FLAC810\exe64\plugins\models directory. The dll can be downloaded here (zip file).
  • Calibration aids for FLAC 8.1: Same drivers as those of Version 3.2.
  • DLL for FLAC2D 9.00: Version 3.3 cmodelPM4Sand2D009.dll (compiled 10/18/2023) was compiled using Microsoft Visual C++ 2022 for use with the dynamic analysis option in FLAC2D 9.00. Place the dll in the Program Files\Itasca\ItascaSoftware900\exe64\plugins\cmodel directory. The dll can be downloaded here (zip file).
  • Calibration aids for FLAC2D 9.00: An updated set of single element simulation drivers for the same four loading conditions listed above were developed for use with FLAC2D. These project files can be downloaded here (zip file - updated April 2024).
  • Free-field boundaries for FLAC2D 9.00: The free-field boundary command in FLAC2D can be used with PM4Sand/PM4Silt if the user manually transfers all the properties from the outer edge column elements to the free-field elements. The following file contains instructions and code that have been used to perform this task for different projects. (zip file

Other Resources

  • In order to assist PM4Sand users with calibration, we have created Python scripts that produce multiple PM4Sand drivers for different loading paths, batch files for running them in FLAC 8.1 and FLAC2D/9.0, and post-processing codes for plotting all the figures in the manual. These can be useful for users who want to assess the sensitivity of responses to parameters more efficiently or assess the performance of the overall model as they change secondary parameters. These can be found here and here (or in general under https://github.com/katerinaziot), alongside with instructions and annotations. These files are intended for advanced users of Python and PM4Sand and should be used with caution.
  • Notepad++ is an excellent tool for editing fish files in Windows OS. The following xml file (userDefineLang.zip), prepared by Jose Ugalde, allows Notepad++ to recognize the fish language and highlight the text accordingly. This file can be placed in the user’s hidden folder Username\AppData\Roaming\Notepad++ , and it will show up under the Language tab as a “flac” option.
  • Sublime3 is another excellent text editor for code and markup compatible with both Windows and MacOS. The following repository (https://github.com/katerinaziot/FLAC-Tools) contains a scripting and autocompletion syntax language for Sublime prepared by Katerina Ziotopoulou. Installation  and update instructions can be found under the ReadMe file of the repo.