MPM Input Files
The introduction lists some key features of OSParticulas and NairnMPM with links to where those features are doucmented in this help. The remaining section explain how to run MPM calculations be described all the sections of input command files.
Introduction
This page documents all the options for the OSParticulas and NairnMPM code engines. The capabilities and features of these code engines are embedded in the documentation of input commands for each option. Some highlights of capabilities (with links to input commands) are:
Input Command File Overview
When using NairnFEAMPM or NairnFEAMPMViz to set up calculations, the input command files are script files. When you interpret these scripts, the applications will create an XML input command file that is needed to drive the code engines. Because the scripting language handles all the XML formatting, you can skip this section. See the help documentation in NairnFEAMPM or NairnFEAMPMViz for syntax and features of the scripting languages. Click this link to see a sample scripted MPM input command file for simulation of two colliding disks.
Alternatively, you can directly create XML input command files (although usually much less powerful then learning the scripting methods). If you use the manual methods, the files must conform to the structure defined in this section. All XML input command files for MPM calculations must begin with an XML declaration, an optional document type declaration, and the main input file tag and end with the corresponding closing tags. For MPM calculations, the global file structure is:
<?xml version='1.0'?> <!DOCTYPE JANFEAInput SYSTEM "NairnMPM.dtd" [ <!ENTITY maxtime "1e-03"> <!ENTITY width "100"> ]> <JANFEAInput version='3'> ... (XML Command to define the calculation) ... </JANFEAInput>
The !DOCTYPE element defines the file type and has the SYSTEM option to provide a path to a Document Type Definition (or DTD) file. This path is needed when you run the code with the validation option (-v), which is highly recommended. The required DTD file for MPM calculations is provided in the /input folder of the source code files.
The !DOCTYPE element can define any number of entities. These entities can be used elsewhere in the text of the XML file and they will be replaced by the text in the entity definition. For example, the above MPM file can use the entity &maxtime; and it will be replaced with the text 1e-03. Entities can define values that make it easier to read input XML files and easier to modify them for new calculations.
The remainder of the file is included withing a JANFEAInput block. The version attribute is currently not needed, but may be important in the future. When input files are validated using the DTD file (as recommended), the sections must appear in the specified order defined in the table of contents on this page. Elements that are not used can be omitted, but all needed elements must be in that specific order. Click this link to see a sample XML MPM input command file for simulation of two colliding disks.
Main Header
This section defines the type of analysis to run and provides an optional description of the calculations. When using a scripting language, the header is created automatically and its content is controlled by commands defined below. When manually writing XML files, the header, which is required, is defined in a single header block:
<Header> (commands) </Header>
The possible header commands are
- Analysis Command - pick the type of MPM analysis to run.
- Annotation Commands - these commands let you annotate the calculations.
- Processors Command - pick number of processors for parallel code.
- Setting Developer Flags
MPM Header
This section defines many settings and features for the MPM calculations. When using a scripting language, the MPM header is created automatically by various commands defined in this section. When writing XML input files, all these commands must be within a single MPM header block:
<MPMHeader> (commands) </MPMHeader>
The possible MPM header commands are given below by categories.
- MPM Methods and Simulation Timing - these commands determine the MPM method to use, the time step, and the maximum simulations time.
- DefGradTerms - move methods and simulations
- MPM Archiving Options - these commands determine which results are archived and where they are saved.
- MPM Global Archiving Options - these commands determine which results are archived in a global results file.
- Multimaterial MPM - these commands configure the calculations to run in multimaterial mode.
- Crack Settings - these commands define various simulation features when using cracks.
- Diffusion Calculations - this command activates diffusion calculations.
- Damping Options - these commands set up grid-based damping options.
- LeaveLimit Command - this command determine what happens when particles leave the grid.
Creating the MPM Background Grid
Generated MPM Grid
Explicit Mesh Definition
Creating the Material Point
Using Explicit Cracks
Defining Material Models
Each material point is assigned a material type. NairnMPM and OSParticulas support numerous material models. For plasticity materials, each material type can choose from among a set of hardening laws. Finally, when using explicit cracks, the material points along the cracks can be assigned to various traction laws. The information on these options are in the following sections:
- Material Models - all material models available for MPM simulations
- Hardening Laws - all hardening laws available for plasticity materials
- Traction Laws - all traction laws available for modeling cohesive zones on cracks
Grid-Based Boundary Conditions
Velocity Conditions
Temperature Conditions
Concentration Conditions
Explicit Grid-Based Boundary Conditions
Particle-Based Boundary Conditions
Load and Traction Conditions
Concentration Flux Conditions
Explicit Particle-Based Boundary Conditions
Thermal Calculations
MPM simulations can do thermal calculations that account for thermal strains in the stress analysis and can model thermal conduction. The commands in this section activate thermal calculations.