# How Save Files Work

Current model data and model save files are the fundamental “matter” of the program: tracking model data and opening and closing save files is what the program does.

There can be only one model state active at a time. Restoring one save file closes the current save file. If there are model changes to the current state when a request is made to restore another save file, the program will prompt for the user to save the current state if desired.

The i Project pane allows for quick movement between save files. Double clicking an item in the “Saved States” lists will perform a model restore on that file, putting the program at that model state.

Modeling projects will often hinge on a few (or one) critical model states. The ability to restore the model to that state becomes the basis for achieving the modeling project’s objective. A parameter study, for instance, is usually the result of alteration made to the same saved (and restored) state multiple times to determine sensitivity to the parameter(s) being investigated. A design study might restore a model to a certain point and then “branch” once to examine results from installation of structural support and branch again to examine the model without support. A back analysis might return a model repeatedly to a saved, pre-failure state in order to investigate a number of possible failure mechanisms.

Save File Anatomy

The save file is a binary file* that contains a saved model state. It may or may not be compressed (see the model save command for details).

The save file contains a text-based header that encapsulates information about the file’s origin and the commands/inputs used to generate it. The body of the save file contains complete model state information in binary form, including the following.

• all model objects and all custom data stored with them (in extra variables)
• all auxiliary entities (geometries, DFNs, etc.)
• all intermediate model objects (extrusion sets and building block sets in FLAC3D, clump templates in PFC, etc.)
• all current FISH symbols and values

When the model state is cleared by use of the model new command, all of the above is completely cleared from memory.

It is useful to keep this in mind as a means of distinguishing what is not saved with the model state, and is therefore either tracked in the project file or may be a persistent program setting.

Note

*There is an option to save a file in text-based JSON format. This yields large files that are slow to read and write, but which have the advantage giving accessibility to the data to other applications.