XML Input Files for NairnMPM

From OSUPDOCS
Revision as of 08:01, 5 November 2014 by Nairnj (talk | contribs) (→‎MPM Input XML File Definition)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Input XML files for NairnMPM must conform to the definition on this page.

MPM Input XML File Definition

All XML input command files for MPM calculations in NairnMPM must conform to the following document definition including order of all XML elements. This template lists only the top-level main element and their next-level subordinate elements. For the subordinate elements, those separated by a vertical bar (|) mean any one of those elements in any order while those separated by commas mean in exactly that order. A more formal definition for MPM input XMlL files is given in the DTD file provided in the source code files at NairnMPM/input/NairnMPM.dtd.

<?xml version='1.0'?>
<!DOCTYPE JANFEAInput SYSTEM "NairnMPM.dtd"
[
  <!ENTITY force "100">
]>
XML declaration1,2
<JANFEAInput version='3'>
Top level element3
  <Header>
    ( Analysis | Description | DevelFlag )
  </Header>

One Analysis is required.
  <MPMHeader>
    ( MatlPtsPerElement | Cracks | MPMMethod | TimeStep
    | TimeFactor | MaxTime | ArchiveTime | ArchiveRoot
    | MPMArchiveOrder | CrackArchiveOrder | ProgSteps
    | Damping | FeedbackDamping | GlobalArchiveTime
    | GlobalArchive | DefGradTerms | Diffusion
    | StressFreeTemp | FirstArchiveTime | GIMP |
    | LeaveLimit | MultiMaterialMode )
  </MPMHeader>

One MPMHeader has many options for MPM simulations methods, timing, and archiving.
  <Mesh>
    ( Grid )
        or
    ( NodeList, ElementList )
  </Mesh>

The background grid is usually generated with a Grid command, but can be defined explicitly.
  <MaterialPoints>
    ( PointList | Body | Hole | BMP )
  </MaterialPoints >
 
This section fills the grid with material points
  <CrackList>
    ( pt | Line | Circle | Thickness )
  </CrackList >
 
One CrackList block for each explicit crack in the simulation.
  <Material>
    ( property commands )
  </Material >

Define each material in a separate Material element
  <GridBCs>
    ( DisplacementBCs | BCLine | LdRect
    | BCArc | BCBox )
  </GridBCs>

Define all grid-based boundary conditions
  <ParticleBCs>
    ( LoadBCs | LdRect | BCLine
    | BCArc | BCBox )
  </ParticleBCs >

Define all particle-based boundary conditions
  <Thermal>
    ( Conduction | CrackTipHeating | EnergyCoupling
    | NoAVHeating | Isothermal | CrackContactHeating
    | ContactHeating )
  </Thermal>

Optional thermal calculations
  <Gravity>
    ( BodyXForce | BodyYForce | BodyZForce  )
  </Gravity>

Optional gravity section
  <CustomTasks>
    ( Schedule  )
  </CustomTasks>

Add any custom tasks to be used
</JANFEAInput>
 

Sample Input XML File

Click this link to see a sample XML MPM input command file for analysis of an end-loaded cantilever beam.

Notes

  1. The !DOCTYPE element defines the file type and has the SYSTEM option to provide a path to a Document Type Definition (or DTD) file. The 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.
  2. 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. Entities can define values that make it easier to read input XML files and easier to modify them for new calculations.
  3. All input commands are in the top-level <JANFEAInput> element. The version attribute is optional, but might be used in the future.