MPM Archiving Options
These commands determine the way results of the calculations are archived for later analysis.
Archiving Particle Data
In MPM calculations, the calculation results are stored in a series of archive files. These files give periodic snapshots for the state of each material point. These files are read after the analysis to plot the results; in fact the results cannot be visualized without them. For more details, you can refer to the output file format definition.
Scripted Input Files
In scripted input files, the archiving options have two forms:
Archive (path) ArchiveTime (time),<(first time)>,<(props)> <ArchiveTime (time2),(second time),<(props2)>> <ArchiveTime (time3),(third time),<(props3)>> ToArchive (list of quantities)
or
ArchiveUnique (path) ArchiveTime (time),<(first time)>,<(props)> <ArchiveTime (time2),<(second time)>,<(props2)>> <ArchiveTime (time3),(third time),<(props3)>> ToArchive (list on quantities)
where
- (path) gives a relative path name from the saved output file to the archived files. The path name should be entered in Unix style or
folder/folder/folder/root
where there can be any number of folders followed by the root archive file name. The saved files will be in that location and have names
root.num
where num is the step number being archived. The folder names and root name cannot contain any colons (":"), to avoid conflict with MacOS path names) or spaces (to be consistent with most Unix systems).
If a series MPM calculations are saved to the same folder without changing the archive path name, the later calculations will most likely overwrite the earlier calculations causing you to lose results. The solution is to use the second form above that replaces the Archive command with an ArchiveUnique command. The ArchiveUnique command forces creation of a new folder within the last folder of the path. In the above path example, the ArchiveUnique option will write to the files:folder/folder/folder/#/root.num
where # is chosen from 1, 2, 3, ... to create a unique folder. You can then safely write multiple MPM output files to the save folder without conflicts
- (time) gives the time interval between archiving results in alt time units (it can be an entity). The analysis will always archive the initial state (to define the problem). You only need to archive enough results to get good plots or movies after the analysis is done.
- (first time) is an optional time to start archiving in alt time units (it can be an entity). If this time is greater than zero, the analysis will archive the initial state (to define the problem) and not archive anymore more results until this time is reached. After this time, archiving will proceed at the time interval specified in (time).
- (props) forces archiving if (props) propagations and/or debonds have occurred since the last archive (default is 0, which disables counting of propagations).
- (list on quantities) is a comma-separted list of quantities to be archived (see ToArchive command for the details.
A single ArchiveTime command is usually enough, but sometimes you want to archive infrequently at the beginning and then more frequently later or to archive by some other custom scheme. To create custom archiving schemes, you create archiving blocks with multiple ArchiveTime commands. Each subsequent ArchiveTime command adds a new block that archives with new (time) and (props) settings in the first and optional third arguments. The new block starts at the time given in the second parameter, which is now a required parameter and it must be a later time than the start of the previous archiving block.
ToArchive Command
The ToArchive command determines which calculation results to include in archived results by providing a comma-separated list of the following options (which can be in one or more ToArchive commands and are case sensitive):
- velocity - particle velocities
- stress - particle stress
- strain - symmetric part of the displacement gradient (F-I), which in combination with rotstrain gives full deformation gradient
- plasticstrain - an alternate particle strain; it is plastic strain for some materials, of something else for others
- rotstrain - particle rotational strain or antisymmetric part of the deformation gradient. Archiving this strain is needed to plot transformed material points and it is now automatically activated whenever strain is archived (which means full deformation gradient is archived).
- strainenergy - particle strain energy, which is cumulative σ.d(ε-εres)
- workenergy - particle work energy, which is cumulative σ.dε
- heatenergy - particle heat energy; the value will only be physically correct if all materials specify their heat capacity
- plasticenergy - cumulative dissipated energy
- lp - the angular momentum due to particle spin (zero unless particle spin is activated).
- wp - the angular velocity due to particle spin (zero unless particle spin is activated).
- temperature - particle temperature
- concentration - particle concentration and concentration gradients
- jintegral - crack tip J1 and J2 integrals
- stressintensity - crack tip KI and KII
- energybalance - energy balance results during crack growth by energy balance.
- history# - where '#' is 1 to 4 to archive that history variable for a material. This history variable is only relevant for certain types of materials. To archive history data beyond #4 or to archive to a different format, you can use the HistoryArchive Custom Task.
- elementcrossings - number of times the particle has crossed an element boundary since the last archive time.
- damagenormal - the normal vector of the failure plane in the particle when using softening materials.
Certain particle results are always archived and thus there is no need to specify them in a ToArchive
command. The standard archived data are:
- mass - particle mass
- material ID - material ID number for particle
- material angle - material axis angle for anisotropic materials
- thickness - thickness for 2D calculations
- position - current particle position
- original position - initial position for displacement calculations
- crack position - crack particle positions
- crack original position - initial crack particle positions
- crack surface positions - location of crack surfaces
Finally, note that if no ToArchive command is used in an input file, the default archived quantities will be equivalent to the commands:
ToArchive velocity,stress,strain,rotstrain,plasticstrain ToArchive plasticenergy,workenergy,temperature
But if one or more ToArchive commands are used, you have to specify all quantities you want (i.e., the default ones are not automatically included).
XML Input Files
In XML input files, the archiving commands, which must be within the <MPMHeader> element, are:
<ArchiveRoot unique='0'>(path)</ArchiveRoot> <ArchiveGroup time= '(time)' start='(first time)' maxProps='(props)'/> <MPMArchiveOrder>iYYYYNYYYNYYNNNNNYN</MPMArchiveOrder> <CrackArchiveOrder>iYYYN</CrackArchiveOrder>
where
- (path) is the archive path. The optional unique attribute (if = 1) will force the creation of a new folder. Both these settings are as explained above.
- (time) is the time interval between archiving. A units attribute determines the time units or default is time units.
- (first time) is the first time results are archived. A units attribute determines the time units or default is time units.
- (props) forces archiving if (props) propagations and/or debonds have occurred since the last archive (default is 0, which disables counting of propagations).
A single <ArchiveGroup> command is usually enough, but sometimes you want more option. To create custom archiving schemes, you can create archiving blocks with multiple <ArchiveGroup> commands. Each subsequent command command adds a new block that archives with new (time) and (props) settings. The new block starts at the time given in the start attribute, which is now a required attribute and it must be a later time than the start of the previous archiving block.
The calculations results included in the archive files are determined by a series of 'Y' and 'N' (or other) flags in the strings in the MPMArchiveOrder and CrackArchiveOrder commands.
<MPMArchiveOrder>
- Byte 1: byte order of archived files ('m' for old Macintosh order or 'i' for Intel chip order). This parameter is ignored on input but must be supplied for alignment.
- Byte 2: default particle properties (particle mass, position, material information, and thickness). This byte must always by 'Y'.
- Byte 3: particle velocity
- Byte 4: particle stress
- Byte 5: symmetric part of the displacement gradient (F-I), which in combination with rotational strain (Byte 18) gives full deformation gradient
- Byte 6: an alternate particle strain; it is plastic strain for some materials, of something else for others
- Byte 7: should always be 'N'. Present to support reading old versions of archive files.
- Byte 8: particle work energy, which is cumulative σ.dε
- Byte 9: particle temperature
- Byte 10: particle plastic energy
- Byte 11: should always be 'N'. Present to support reading old versions of archive files.
- Byte 12: particle total shear strain components (du/dy and dv/dx), but no longer supported in visualization tools; it should be 'N'
- Byte 13: particle strain energy, which is cumulative σ.d(ε-εres)
- Byte 14: setting 'Y' or 'N' refers to particle history variable 1, but up to four history variables can be archived by using the following characters in this byte:
'1' or 'Y' - history 1 '2' - history 2 '3' - history 1 and 2 '4' - history 3 '5' - history 1 and 3 '6' - history 2 and 3 '7' - history 1, 2, and 3 '8' - history 4 '9' - history 1 and 4 ':' - history 2 and 4 ';' - history 1, 2, and 4 '<' - history 3 and 4 '=' - history 1, 3, and 4 '>' - history 2, 3, and 4 '?' - history 1, 2, 3, and 4
History variables are only meaningful for some material types. To archive history data beyond #4 or to archive to a different format, you can use the HistoryArchive Custom Task. - Byte 15: particle concentration and concentration gradients - only meaningful when doing diffusion calculations.
- Byte 16: particle heat energy; the value will only be physically correct if all materials specify their heat capacity
- Byte 17: number of times this particle crossed an element boundary since the last archive time.
- Byte 18: particle rotational strain or antisymmetric part of the deformation gradient. Archiving this strain is needed to plot transformed material points and it is now automatically activated whenever strain or Byte 5 is Y (which means full deformation gradient is archived).
- Byte 19: the normal vector of the failure plane in the particle when using softening materials.
- Byte 20: the angular momentum due to particle spin (zero unless particle spin is activated).
- Byte 21: the angular velocity due to particle spin (zero unless particle spin is activated).
Default value: iYNN... - i.e. one Y and the rest N
<CrackArchiveOrder>
- Byte 1: Byte order of archived files ('m' for Macintosh order or 'i' for Intel chip order). This parameter is ignored on input but must be supplied for alignment.
- Byte 2: Default crack particle properties (location, surface positions). This byte must always by 'Y'.
- Byte 3: J Integral at designated crack tips.
- Byte 4: Stress intensity factors at designated crack tips.
- Byte 5: Dynamic energy balancing results (in research, not meant for general use).
Default value: iYNNNN.
Archiving Mesh Data in VTK Files
As an alternative to particle data, you can archive grid results using the VTKArchive Custom Task, which write "VTK Legacy" files that can be viewed in other applications. This option is most useful for new visualization options for 3D simulations.
Notes
- There are no options for archiving kinetic energy because it is easily calculated in visualization software from mass and velocity. Thus, to do kinetic energy calculations, you must archive particle velocity.
- Total energy is sum of strain energy and kinetic energy. To visualize total energy results, you must archive strain energy and velocity (for kinetic energy)