PIPER  1.0.1
Appendix: Example of format rules files

Example of file for LS Dyna format (fixed size)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE format_description SYSTEM "FormatRules.dtd">
<format_description>
<formatInformation format="LSDyna_fix">
<comment>$</comment>
<includeFile>*INCLUDE *INCLUDE_TRANSFORM</includeFile>
</formatInformation>
<meshComponent>
<componentNode>*NODE</componentNode>
<componentElement1D>*ELEMENT_BEAM *ELEMENT_DISCRETE</componentElement1D>
<componentElement2D>*ELEMENT_SHELL *ELEMENT_SHELL_THICKNESS *ELEMENT_SHELL_BETA</componentElement2D>
<componentElement3D>*ELEMENT_SOLID</componentElement3D>
<componentGNode>*SET_NODE_LIST_TITLE *SET_NODE_LIST *PART</componentGNode>
<componentGElement1D>*SET_BEAM_TITLE *SET_BEAM *PART</componentGElement1D>
<componentGElement2D>*SET_SHELL_LIST_TITLE *PART *SET_SHELL_LIST</componentGElement2D>
<componentGElement3D>*SET_SOLID_TITLE *SET_SOLID *PART</componentGElement3D>
<componentGGroup>*SET_PART_LIST_TITLE *SET_PART_LIST *PART</componentGGroup>
<componentFrame>*DEFINE_COORDINATE_NODES *DEFINE_COORDINATE_SYSTEM_TITLE *DEFINE_COORDINATE_NODES_TITLE</componentFrame>
<componentModelParameter>*MAT_MOONEY-RIVLIN_RUBBER_TITLE *MAT_SIMPLIFIED_RUBBER/FOAM_TITLE *MAT_GENERAL_VISCOELASTIC_TITLE *DEFINE_CURVE *DEFINE_CURVE_TITLE *MAT_PIECEWISE_LINEAR_PLASTICITY_TITLE *MAT_VISCOELASTIC_TITLE *MAT_FABRIC_TITLE *MAT_ELASTIC_FLUID_TITLE *MAT_RIGID_TITLE *MAT_ELASTIC_TITLE *MAT_PLASTIC_KINEMATIC_TITLE *MAT_STRAIN_RATE_DEPENDENT_PLASTICITY_TITLE *ELEMENT_SHELL_THICKNESS *ELEMENT_SHELL_BETA *SECTION_SHELL_TITLE</componentModelParameter>
<elementOrdering>
<penta>1 2 5 4 3 6</penta>
</elementOrdering>
</meshComponent>
<rule keyword="*NODE">
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="0" repeat="1" separator="none"><variableAssign name="NodeId"/></parse>
<parse format="F" length="16" repeat="3" offset="8" separator="none"><variableAssign name="coord"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectNode>
<setId><variable name="NodeId"/></setId>
<setCoord><variable name="coord"/></setCoord>
</objectNode>
</rule>
<rule keyword="*PART">
<nextLine/>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none" default="part"><variableAssign name="partname"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PartId"/></parse>
<parse format="UI" length="10" offset="20" repeat="1" separator="none"><variableAssign name="MatId"/></parse>
</parseRule>
<nextLine/>
<objectGroup type="Id">
<setId>
<sourceId>*ELEMENT_BEAM *ELEMENT_DISCRETE *ELEMENT_SHELL *ELEMENT_SHELL_THICKNESS *ELEMENT_SOLID</sourceId>
<variable name="PartId"/>
</setId>
<setName><variable name="partname"/></setName>
<setPart>true</setPart>
</objectGroup>
<objectParameter>
<setId>
<variable name="PartId"/>
</setId>
<setValue>
<type>materialID</type>
<value><variable name="MatId"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*INCLUDE_TRANSFORM">
<nextLine/>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none"><variableAssign name="HBMfile"/></parse>
</parseRule>
<nextLine/>
<objectModelFile>
<setFile><variable name="HBMfile"/></setFile>
</objectModelFile>
</rule>
<rule keyword="*INCLUDE">
<nextLine/>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none"><variableAssign name="HBMfile"/></parse>
</parseRule>
<nextLine/>
<objectModelFile>
<setFile><variable name="HBMfile"/></setFile>
</objectModelFile>
</rule>
<rule keyword="*ELEMENT_SOLID">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="8" offset="16" repeat="8" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement3D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement3D>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*ELEMENT_SHELL">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="8" offset="16" repeat="4" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement2D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement2D>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*ELEMENT_SHELL_THICKNESS">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="8" offset="16" repeat="4" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="16" offset="0" repeat="4" separator="none"><variableAssign name="Thick"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement2D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement2D>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
<objectParameter>
<setId><variable name="ElemId"/></setId>
<setValue>
<type>Thickness</type>
<value><variable name="Thick"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*ELEMENT_SHELL_BETA">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="8" offset="16" repeat="4" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="16" offset="0" repeat="4" separator="none"><variableAssign name="Thick"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement2D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement2D>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
<objectParameter>
<setId><variable name="ElemId"/></setId>
<setValue>
<type>Thickness</type>
<value><variable name="Thick"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*ELEMENT_BEAM">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UIpos" length="8" offset="16" repeat="2" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement1D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement1D>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*ELEMENT_DISCRETE">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UIpos" length="8" offset="16" repeat="2" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement1D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement1D>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_PART_LIST_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Group">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="GGroupId"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Group">
<setId><variable name="GroupId"/></setId>
<addInGroup>
<sourceId>*ELEMENT_BEAM *ELEMENT_DISCRETE *ELEMENT_SHELL *ELEMENT_SHELL_THICKNESS *ELEMENT_SOLID</sourceId>
<variable name="GGroupId"/>
</addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_PART_LIST">
<nextLine/>
<parseRule>
<parse format="UIpos" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Group">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="GGroupId"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Group">
<setId><variable name="GroupId"/></setId>
<addInGroup>
<sourceId>*ELEMENT_BEAM *ELEMENT_DISCRETE *ELEMENT_SHELL *ELEMENT_SHELL_THICKNESS *ELEMENT_SOLID</sourceId>
<variable name="GGroupId"/>
</addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_SOLID_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="Eid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Eid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_SOLID">
<nextLine/>
<parseRule>
<parse format="UIpos" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="Eid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Eid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_NODE_LIST_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Node">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="Nid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Node">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Nid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_NODE_LIST">
<nextLine/>
<parseRule>
<parse format="UIpos" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Node">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="Nid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Node">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Nid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_BEAM_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="EId"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="EId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_BEAM">
<nextLine/>
<parseRule>
<parse format="UIpos" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="EId"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="EId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_SHELL_LIST_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UIpos" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="Eid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Eid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_SHELL_LIST">
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="8" separator="none"><variableAssign name="Eid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Eid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*DEFINE_COORDINATE_NODES">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="FrameId"/></parse>
<parse format="UI" length="10" offset="10" repeat="1" separator="none"><variableAssign name="N1"/></parse>
<parse format="UI" length="10" offset="20" repeat="1" separator="none"><variableAssign name="N2"/></parse>
<parse format="UI" length="10" offset="30" repeat="1" separator="none"><variableAssign name="N3"/></parse>
<parse format="C" length="10" offset="50" repeat="1" separator="none"><variableAssign name="Dir"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectFrame>
<setId><variable name="FrameId"/></setId>
<setOrigin type="nodeid"><variable name="N1"/></setOrigin>
<setFirstDirection><variable name="Dir"/></setFirstDirection>
<setFirstAxis type="nodeid"><variable name="N2"/></setFirstAxis>
<doIf>
<condition>
<equal value="X"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>Y</setSecondDirection>
</body>
</doIf>
<doIf>
<condition>
<equal value="Y"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>Z</setSecondDirection>
</body>
</doIf>
<doIf>
<condition>
<equal value="Z"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>X</setSecondDirection>
</body>
</doIf>
<setPlane type="nodeid"><variable name="N3"/></setPlane>
</objectFrame>
</rule>
<rule keyword="*DEFINE_COORDINATE_NODES_TITLE">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none"><variableAssign name="FrameName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="FrameId"/></parse>
<parse format="UI" length="10" offset="10" repeat="1" separator="none"><variableAssign name="N1"/></parse>
<parse format="UI" length="10" offset="20" repeat="1" separator="none"><variableAssign name="N2"/></parse>
<parse format="UI" length="10" offset="30" repeat="1" separator="none"><variableAssign name="N3"/></parse>
<parse format="C" length="10" offset="50" repeat="1" separator="none"><variableAssign name="Dir"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectFrame>
<setId><variable name="FrameId"/></setId>
<setName><variable name="FrameName"/></setName>
<setOrigin type="nodeid"><variable name="N1"/></setOrigin>
<setFirstDirection><variable name="Dir"/></setFirstDirection>
<setFirstAxis type="nodeid"><variable name="N2"/></setFirstAxis>
<doIf>
<condition>
<equal value="X"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>Y</setSecondDirection>
</body>
</doIf>
<doIf>
<condition>
<equal value="Y"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>Z</setSecondDirection>
</body>
</doIf>
<doIf>
<condition>
<equal value="Z"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>X</setSecondDirection>
</body>
</doIf>
<setPlane type="nodeid"><variable name="N3"/></setPlane>
</objectFrame>
</rule>
<rule keyword="*DEFINE_COORDINATE_SYSTEM_TITLE">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="C" length="80" offset="0" repeat="1" separator="none"><variableAssign name="FrameName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="FrameId"/></parse>
<parse format="F" length="10" offset="10" repeat="3" separator="none"><variableAssign name="Org"/></parse>
<parse format="F" length="10" offset="40" repeat="3" separator="none"><variableAssign name="First"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="10" offset="0" repeat="3" separator="none"><variableAssign name="Second"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectFrame>
<setId><variable name="FrameId"/></setId>
<setName><variable name="FrameName"/></setName>
<setOrigin type="coord"><variable name="Org"/></setOrigin>
<setFirstDirection>X</setFirstDirection>
<setFirstAxis type="coord"><variable name="First"/></setFirstAxis>
<setSecondDirection>Y</setSecondDirection>
<setPlane type="coord"><variable name="Second"/></setPlane>
</objectFrame>
</rule>
<!-- <rule keyword="*CONSTRAINED_JOINT_SPHERICAL_ID">
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="JointId"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="JointCenter"/></parse>
</parseRule>
<assign>
<value>spherical</value>
<variableAssign name="JointType"/>
</assign>
<objectJoint>
<setId><variable name="JointId"/></setId>
<setType>SPHERICAL</setType>
<setCenter><variable name="JointCenter"/></setCenter>
<setDof>0 0 0 1 1 1</setDof>
</objectJoint>
</rule>
<rule keyword="*CONSTRAINED_JOINT_REVOLUTE_ID">
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="JointId"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="JointAxis1"/></parse>
<parse format="UI" length="10" offset="10" repeat="1" separator="none"><variableAssign name="JointAxis2"/></parse>
</parseRule>
<assign>
<value>revolute</value>
<variableAssign name="JointType"/>
</assign>
<objectJoint>
<setId><variable name="JointId"/></setId>
<setType>REVOLUTE</setType>
<setCenter><variable name="JointAxis1"/></setCenter>
<setAxis><variable name="JointAxis2"/></setAxis>
</objectJoint>
</rule>
-->
<rule keyword="*MAT_STRAIN_RATE_DEPENDENT_PLASTICITY_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="E"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_VISCOELASTIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="K"/></parse>
<parse format="F" length="10" offset="30" repeat="1" separator="none"><variableAssign name="G0"/></parse>
<parse format="F" length="10" offset="40" repeat="1" separator="none"><variableAssign name="Gi"/></parse>
<parse format="F" length="10" offset="50" repeat="1" separator="none"><variableAssign name="Beta"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>BulkModulus</type>
<value><variable name="K"/></value>
</setValue>
<setValue>
<type>InstantaneousShearModulus</type>
<value><variable name="G0"/></value>
</setValue>
<setValue>
<type>InfiniteShearModulus</type>
<value><variable name="Gi"/></value>
</setValue>
<setValue>
<type>DecayConstant</type>
<value><variable name="Beta"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_ELASTIC_FLUID_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="60" repeat="1" separator="none"><variableAssign name="K"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>BulkModulus</type>
<value><variable name="K"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_GENERAL_VISCOELASTIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="K"/></parse>
</parseRule>
<nextLine/>
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="F" length="10" offset="0" repeat="1" separator="none"><variableAssign name="G"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="Ki"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>BulkModulus</type>
<value><variable name="K"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
<setValue>
<type>ShearModulus</type>
<value><variable name="G"/></value>
</setValue>
<setValue>
<type>BulkRelaxationModulus</type>
<value><variable name="Ki"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_FABRIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="Ea"/></parse>
<parse format="F" length="10" offset="30" repeat="1" separator="none"><variableAssign name="Eb"/></parse>
<parse format="F" length="10" offset="40" repeat="1" separator="none"><variableAssign name="Ec"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="10" offset="0" repeat="3" separator="none"><variableAssign name="G"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulusA</type>
<value><variable name="Ea"/></value>
</setValue>
<setValue>
<type>YoungModulusB</type>
<value><variable name="Eb"/></value>
</setValue>
<setValue>
<type>YoungModulusC</type>
<value><variable name="Ec"/></value>
</setValue>
<setValue>
<type>ShearModulus</type>
<value><variable name="G"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_PLASTIC_KINEMATIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="E"/></parse>
<parse format="F" length="10" offset="40" repeat="1" separator="none"><variableAssign name="SigY"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>YeldStress</type>
<value><variable name="SigY"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_PIECEWISE_LINEAR_PLASTICITY_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="E"/></parse>
<parse format="F" length="10" offset="40" repeat="1" separator="none"><variableAssign name="SigY"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>YeldStress</type>
<value><variable name="SigY"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_ELASTIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="E"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_MOONEY-RIVLIN_RUBBER_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="30" repeat="1" separator="none"><variableAssign name="A"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>HalfShearModulus</type>
<value><variable name="A"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_SIMPLIFIED_RUBBER/FOAM_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="K"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>BulkModulus</type>
<value><variable name="K"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_RIGID_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="10" offset="10" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="E"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*SECTION_SHELL_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="SectId"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="10" offset="0" repeat="4" separator="none"><variableAssign name="Thick"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="SectId"/></setId>
<setValue>
<type>Thickness</type>
<value><variable name="Thick"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*DEFINE_CURVE">
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="CurveId"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="ScaleFactorAbs"/></parse>
<parse format="F" length="10" offset="30" repeat="1" separator="none"><variableAssign name="ScaleFactorOrd"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="CurveId"/></setId>
<setValue>
<type>ScaleFactorAbscissa</type>
<value><variable name="ScaleFactorAbs"/></value>
</setValue>
<setValue>
<type>ScaleFactorOrdinate</type>
<value><variable name="ScaleFactorOrd"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*DEFINE_CURVE_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="10" offset="0" repeat="1" separator="none"><variableAssign name="CurveId"/></parse>
<parse format="F" length="10" offset="20" repeat="1" separator="none"><variableAssign name="ScaleFactorAbs"/></parse>
<parse format="F" length="10" offset="30" repeat="1" separator="none"><variableAssign name="ScaleFactorOrd"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="CurveId"/></setId>
<setValue>
<type>ScaleFactorAbscissa</type>
<value><variable name="ScaleFactorAbs"/></value>
</setValue>
<setValue>
<type>ScaleFactorOrdinate</type>
<value><variable name="ScaleFactorOrd"/></value>
</setValue>
</objectParameter>
</rule>
</format_description>

Example of file for LS Dyna format (comma separated value)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE format_description SYSTEM "FormatRules.dtd">
<format_description>
<formatInformation format="LSDyna_separator">
<comment>$</comment>
<includeFile>*INCLUDE</includeFile>
<separator>,</separator>
</formatInformation>
<meshComponent>
<componentNode>*NODE</componentNode>
<componentElement1D>*ELEMENT_BEAM *ELEMENT_DISCRETE</componentElement1D>
<componentElement2D>*ELEMENT_SHELL *ELEMENT_SHELL_THICKNESS *ELEMENT_SHELL_BETA</componentElement2D>
<componentElement3D>*ELEMENT_SOLID</componentElement3D>
<componentGNode>*SET_NODE_LIST_TITLE *SET_NODE_LIST *PART</componentGNode>
<componentGElement1D>*SET_BEAM_TITLE *SET_BEAM *PART</componentGElement1D>
<componentGElement2D>*SET_SHELL_LIST_TITLE *PART *SET_SHELL_LIST</componentGElement2D>
<componentGElement3D>*SET_SOLID_TITLE *SET_SOLID *PART</componentGElement3D>
<componentGGroup>*SET_PART_LIST_TITLE *SET_PART_LIST *PART</componentGGroup>
<componentFrame>*DEFINE_COORDINATE_NODES *DEFINE_COORDINATE_SYSTEM_TITLE *DEFINE_COORDINATE_NODES_TITLE</componentFrame>
<componentModelParameter>*PART *MAT_GENERAL_VISCOELASTIC_TITLE *DEFINE_CURVE_TITLE *DEFINE_CURVE *MAT_PIECEWISE_LINEAR_PLASTICITY_TITLE *MAT_VISCOELASTIC_TITLE *MAT_FABRIC_TITLE *MAT_ELASTIC_FLUID_TITLE *MAT_RIGID_TITLE *MAT_ELASTIC_TITLE *MAT_PLASTIC_KINEMATIC_TITLE *MAT_STRAIN_RATE_DEPENDENT_PLASTICITY_TITLE *ELEMENT_SHELL_THICKNESS *ELEMENT_SHELL_BETA *SECTION_SHELL_TITLE</componentModelParameter>
<elementOrdering>
<penta>1 2 5 4 3 6</penta>
</elementOrdering>
</meshComponent>
<rule keyword="*NODE">
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="NodeId"/></parse>
<parse format="F" length="0" repeat="3" offset="1" separator="none"><variableAssign name="coord"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectNode>
<setId><variable name="NodeId"/></setId>
<setCoord><variable name="coord"/></setCoord>
</objectNode>
</rule>
<rule keyword="*PART">
<nextLine/>
<parseRule>
<parse format="C" length="0" offset="0" repeat="1" separator="none" default="part"><variableAssign name="partname"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PartId"/></parse>
<parse format="UI" length="0" offset="2" repeat="1" separator="none"><variableAssign name="MatId"/></parse>
</parseRule>
<nextLine/>
<objectGroup type="Id">
<setId>
<sourceId>*ELEMENT_BEAM *ELEMENT_DISCRETE *ELEMENT_SHELL *ELEMENT_SHELL_THICKNESS *ELEMENT_SOLID</sourceId>
<variable name="PartId"/>
</setId>
<setName><variable name="partname"/></setName>
<setPart>true</setPart>
</objectGroup>
<objectParameter>
<setId>
<variable name="PartId"/>
</setId>
<setValue>
<type>materialID</type>
<value><variable name="MatId"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*INCLUDE">
<nextLine/>
<parseRule>
<parse format="C" length="0" offset="0" repeat="1" separator="none"><variableAssign name="HBMfile"/></parse>
</parseRule>
<nextLine/>
<objectModelFile>
<setFile><variable name="HBMfile"/></setFile>
</objectModelFile>
</rule>
<rule keyword="*ELEMENT_SOLID">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="0" offset="1" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="0" offset="2" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement3D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement3D>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*ELEMENT_SHELL">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="0" offset="1" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="0" offset="2" repeat="4" separator="none" offsetrepeat="1"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement2D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement2D>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*ELEMENT_SHELL_THICKNESS">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="0" offset="1" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="0" offset="2" repeat="4" separator="none" offsetrepeat="1"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="0" offset="0" repeat="4" separator="none" offsetrepeat="1"><variableAssign name="Thick"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement2D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement2D>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
<objectParameter>
<setId><variable name="ElemId"/></setId>
<setValue>
<type>Thickness</type>
<value><variable name="Thick"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*ELEMENT_SHELL_BETA">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="0" offset="1" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="0" offset="2" repeat="4" separator="none" offsetrepeat="1"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="0" offset="0" repeat="4" separator="none" offsetrepeat="1"><variableAssign name="Thick"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement2D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement2D>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
<objectParameter>
<setId><variable name="ElemId"/></setId>
<setValue>
<type>Thickness</type>
<value><variable name="Thick"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*ELEMENT_BEAM">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="0" offset="1" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UIpos" length="0" offset="2" repeat="2" separator="none" offsetrepeat="1"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement1D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement1D>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*ELEMENT_DISCRETE">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="0" offset="1" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UIpos" length="0" offset="2" repeat="2" separator="none" offsetrepeat="1"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement1D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement1D>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_PART_LIST_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Group">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="GGroupId"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Group">
<setId><variable name="GroupId"/></setId>
<addInGroup>
<sourceId>*ELEMENT_BEAM *ELEMENT_DISCRETE *ELEMENT_SHELL *ELEMENT_SHELL_THICKNESS *ELEMENT_SOLID</sourceId>
<variable name="GGroupId"/>
</addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_PART_LIST">
<nextLine/>
<parseRule>
<parse format="UIpos" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Group">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="GGroupId"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Group">
<setId><variable name="GroupId"/></setId>
<addInGroup>
<sourceId>*ELEMENT_BEAM *ELEMENT_DISCRETE *ELEMENT_SHELL *ELEMENT_SHELL_THICKNESS *ELEMENT_SOLID</sourceId>
<variable name="GGroupId"/>
</addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_SOLID_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="Eid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Eid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_SOLID">
<nextLine/>
<parseRule>
<parse format="UIpos" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="Eid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Eid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_NODE_LIST_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Node">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="Nid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Node">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Nid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_NODE_LIST">
<nextLine/>
<parseRule>
<parse format="UIpos" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Node">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="Nid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Node">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Nid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_BEAM_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="EId"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="EId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_BEAM">
<nextLine/>
<parseRule>
<parse format="UIpos" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="EId"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="EId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_SHELL_LIST_TITLE">
<nextLine/>
<parseRule>
<parse format="C" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="Eid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Eid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_SHELL_LIST">
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="Eid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Eid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*SET_SHELL_LIST">
<nextLine/>
<parseRule>
<parse format="UIpos" length="0" offset="0" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
</objectGroup>
<nextLine/>
<doWhile>
<condition>
<notfind value="*"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="8" separator="none" offsetrepeat="1"><variableAssign name="Eid"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<addInGroup><variable name="Eid"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="*DEFINE_COORDINATE_NODES">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="FrameId"/></parse>
<parse format="UI" length="0" offset="1" repeat="1" separator="none"><variableAssign name="N1"/></parse>
<parse format="UI" length="0" offset="2" repeat="1" separator="none"><variableAssign name="N2"/></parse>
<parse format="UI" length="0" offset="3" repeat="1" separator="none"><variableAssign name="N3"/></parse>
<parse format="C" length="0" offset="5" repeat="1" separator="none"><variableAssign name="Dir"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectFrame>
<setId><variable name="FrameId"/></setId>
<setOrigin type="nodeid"><variable name="N1"/></setOrigin>
<setFirstDirection><variable name="Dir"/></setFirstDirection>
<setFirstAxis type="nodeid"><variable name="N2"/></setFirstAxis>
<doIf>
<condition>
<equal value="X"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>Y</setSecondDirection>
</body>
</doIf>
<doIf>
<condition>
<equal value="Y"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>Z</setSecondDirection>
</body>
</doIf>
<doIf>
<condition>
<equal value="Z"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>X</setSecondDirection>
</body>
</doIf>
<setPlane type="nodeid"><variable name="N3"/></setPlane>
</objectFrame>
</rule>
<rule keyword="*DEFINE_COORDINATE_NODES_TITLE">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="C" length="0" offset="0" repeat="1" separator="none"><variableAssign name="FrameName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="FrameId"/></parse>
<parse format="UI" length="0" offset="1" repeat="1" separator="none"><variableAssign name="N1"/></parse>
<parse format="UI" length="0" offset="2" repeat="1" separator="none"><variableAssign name="N2"/></parse>
<parse format="UI" length="0" offset="3" repeat="1" separator="none"><variableAssign name="N3"/></parse>
<parse format="C" length="0" offset="5" repeat="1" separator="none"><variableAssign name="Dir"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectFrame>
<setId><variable name="FrameId"/></setId>
<setName><variable name="FrameName"/></setName>
<setOrigin type="nodeid"><variable name="N1"/></setOrigin>
<setFirstDirection><variable name="Dir"/></setFirstDirection>
<setFirstAxis type="nodeid"><variable name="N2"/></setFirstAxis>
<doIf>
<condition>
<equal value="X"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>Y</setSecondDirection>
</body>
</doIf>
<doIf>
<condition>
<equal value="Y"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>Z</setSecondDirection>
</body>
</doIf>
<doIf>
<condition>
<equal value="Z"><variable name="Dir"/></equal>
</condition>
<body>
<setSecondDirection>X</setSecondDirection>
</body>
</doIf>
<setPlane type="nodeid"><variable name="N3"/></setPlane>
</objectFrame>
</rule>
<rule keyword="*DEFINE_COORDINATE_SYSTEM_TITLE">
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="C" length="0" offset="0" repeat="1" separator="none"><variableAssign name="FrameName"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="FrameId"/></parse>
<parse format="F" length="0" offset="1" repeat="3" separator="none"><variableAssign name="Org"/></parse>
<parse format="F" length="0" offset="4" repeat="3" separator="none" offsetrepeat="1"><variableAssign name="First"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="0" offset="0" repeat="3" separator="none" offsetrepeat="1"><variableAssign name="Second"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectFrame>
<setId><variable name="FrameId"/></setId>
<setName><variable name="FrameName"/></setName>
<setOrigin type="coord"><variable name="Org"/></setOrigin>
<setFirstDirection>X</setFirstDirection>
<setFirstAxis type="coord"><variable name="First"/></setFirstAxis>
<setSecondDirection>Y</setSecondDirection>
<setPlane type="coord"><variable name="Second"/></setPlane>
</objectFrame>
</rule>
<rule keyword="*MAT_PIECEWISE_LINEAR_PLASTICITY_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="0" offset="1" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none"><variableAssign name="E"/></parse>
<parse format="F" length="0" offset="4" repeat="1" separator="none"><variableAssign name="SigY"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>YeldStress</type>
<value><variable name="SigY"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_VISCOELASTIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="0" offset="1" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none"><variableAssign name="K"/></parse>
<parse format="F" length="0" offset="3" repeat="1" separator="none"><variableAssign name="G0"/></parse>
<parse format="F" length="0" offset="4" repeat="1" separator="none"><variableAssign name="Gi"/></parse>
<parse format="F" length="0" offset="5" repeat="1" separator="none"><variableAssign name="Beta"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>BulkModulus</type>
<value><variable name="K"/></value>
</setValue>
<setValue>
<type>InstantaneousShearModulus</type>
<value><variable name="G0"/></value>
</setValue>
<setValue>
<type>InfiniteShearModulus</type>
<value><variable name="Gi"/></value>
</setValue>
<setValue>
<type>DecayConstant</type>
<value><variable name="Beta"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_STRAIN_RATE_DEPENDENT_PLASTICITY_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="0" offset="1" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none"><variableAssign name="E"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_FABRIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="0" offset="1" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none" default="0"><variableAssign name="Ea"/></parse>
<parse format="F" length="0" offset="3" repeat="1" separator="none" default="0"><variableAssign name="Eb"/></parse>
<parse format="F" length="0" offset="4" repeat="1" separator="none" default="0"><variableAssign name="Ec"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="0" offset="0" repeat="3" separator="none" default="0"><variableAssign name="G"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulusA</type>
<value><variable name="Ea"/></value>
</setValue>
<setValue>
<type>YoungModulusB</type>
<value><variable name="Eb"/></value>
</setValue>
<setValue>
<type>YoungModulusC</type>
<value><variable name="Ec"/></value>
</setValue>
<setValue>
<type>ShearModulus</type>
<value><variable name="G"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_ELASTIC_FLUID_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="0" offset="1" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="0" offset="6" repeat="1" separator="none"><variableAssign name="K"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>BulkModulus</type>
<value><variable name="K"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_PLASTIC_KINEMATIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="0" offset="1" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none"><variableAssign name="E"/></parse>
<parse format="F" length="0" offset="4" repeat="1" separator="none"><variableAssign name="SigY"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>YeldStress</type>
<value><variable name="SigY"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_ELASTIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="0" offset="1" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none"><variableAssign name="E"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_RIGID_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="0" offset="1" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none"><variableAssign name="E"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>YoungModulus</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*SECTION_SHELL_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="SectId"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="0" offset="0" repeat="4" separator="none" offsetrepeat="1" default="0"><variableAssign name="Thick"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="SectId"/></setId>
<setValue>
<type>Thickness</type>
<value><variable name="Thick"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*DEFINE_CURVE">
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="CurveId"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none"><variableAssign name="ScaleFactorAbs"/></parse>
<parse format="F" length="0" offset="3" repeat="1" separator="none"><variableAssign name="ScaleFactorOrd"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="CurveId"/></setId>
<setValue>
<type>ScaleFactorAbscissa</type>
<value><variable name="ScaleFactorAbs"/></value>
</setValue>
<setValue>
<type>ScaleFactorOrdinate</type>
<value><variable name="ScaleFactorOrd"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*DEFINE_CURVE_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="CurveId"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none"><variableAssign name="ScaleFactorAbs"/></parse>
<parse format="F" length="0" offset="3" repeat="1" separator="none"><variableAssign name="ScaleFactorOrd"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="CurveId"/></setId>
<setValue>
<type>ScaleFactorAbscissa</type>
<value><variable name="ScaleFactorAbs"/></value>
</setValue>
<setValue>
<type>ScaleFactorOrdinate</type>
<value><variable name="ScaleFactorOrd"/></value>
</setValue>
</objectParameter>
</rule>
<rule keyword="*MAT_GENERAL_VISCOELASTIC_TITLE">
<nextLine/>
<nextLine/>
<parseRule>
<parse format="UI" length="0" offset="0" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="0" offset="1" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none"><variableAssign name="K"/></parse>
</parseRule>
<nextLine/>
<nextLine/>
<doWhile>
<condition>
<notfind value="*">
<curLine/>
</notfind>
</condition>
<body>
<parseRule>
<parse format="F" length="0" offset="0" repeat="1" separator="none" default="0"><variableAssign name="G"/></parse>
<parse format="F" length="0" offset="2" repeat="1" separator="none" default="0"><variableAssign name="Ki"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>BulkModulus</type>
<value><variable name="K"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
<setValue>
<type>ShearModulus</type>
<value><variable name="G"/></value>
</setValue>
<setValue>
<type>BulkRelaxationModulus</type>
<value><variable name="Ki"/></value>
</setValue>
</objectParameter>
</rule>
</format_description>

Example of file for PamCrash format

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE format_description SYSTEM "FormatRules.dtd">
<format_description>
<formatInformation format="PamCrash">
<comment>$ #</comment>
<includeFile>INCLU</includeFile>
</formatInformation>
<meshComponent>
<componentNode>NODE</componentNode>
<componentElement1D>BEAM SPRING/</componentElement1D>
<componentElement2D>SHELL</componentElement2D>
<componentElement3D>SOLID</componentElement3D>
<componentGNode>GROUP</componentGNode>
<componentGElement1D>GROUP</componentGElement1D>
<componentGElement2D>GROUP</componentGElement2D>
<componentGElement3D>GROUP</componentGElement3D>
<componentGGroup>GROUP</componentGGroup>
<componentFrame>FRAME</componentFrame>
<componentModelParameter>MATER PART</componentModelParameter>
<elementOrdering>
<penta>1 2 5 4 3 6</penta>
</elementOrdering>
</meshComponent>
<rule keyword="PART">
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="PartId"/></parse>
<parse format="C" length="8" offset="16" repeat="1" separator="none"><variableAssign name="PartType"/></parse>
</parseRule>
<objectGroup type="Id">
<setId>
<sourceId>SOLID SHELL BEAM SPRING</sourceId>
<variable name="PartId"/>
</setId>
<setPart>true</setPart>
</objectGroup>
<doIf>
<condition>
<find value="SHELL"><variable name="PartType"/></find>
</condition>
<body>
<!-- <parseRule>
<curLine/>
<parse format="UIpos" length="8" offset="8" repeat="1" separator="none"><variableAssign name="PartId"/></parse>
</parseRule> -->
<nextLine/>
<nextLine/>
<nextLine/>
<nextLine/>
<parseRule>
<parse format="F" length="10" offset="0" repeat="1" separator="none"><variableAssign name="ParamThick"/></parse>
</parseRule>
<nextLine/>
<objectParameter>
<setId><variable name="PartId"/></setId>
<setValue>
<type>Thickness</type>
<value><variable name="ParamThick"/></value>
</setValue>
</objectParameter>
</body>
</doIf>
<doIf>
<condition>
<notfind value="SHELL"><variable name="PartType"/></notfind>
</condition>
<body>
<nextLine/>
</body>
</doIf>
</rule>
<rule keyword="INCLU">
<parseRule>
<parse format="C" length="80" offset="8" repeat="1" separator="none"><variableAssign name="HBMfile"/></parse>
</parseRule>
<nextLine/>
<objectModelFile>
<setFile><variable name="HBMfile"/></setFile>
</objectModelFile>
</rule>
<rule keyword="NODE">
<doWhile>
<condition>
<find value="NODE"><curLine/></find>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="NodeId"/></parse>
<parse format="F" length="16" repeat="3" offset="16" separator="none"><variableAssign name="coord"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectNode>
<setId><variable name="NodeId"/></setId>
<setCoord><variable name="coord"/></setCoord>
</objectNode>
</rule>
<rule keyword="SOLID">
<doWhile>
<condition>
<find value="SOLID"><curLine/></find>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="16" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="UIpos" length="8" offset="16" repeat="8" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement3D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement3D>
<objectGroup type="Element3D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="SHELL">
<doWhile>
<condition>
<find value="SHELL"><curLine/></find>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="16" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UIpos" length="8" offset="24" repeat="4" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement2D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement2D>
<objectGroup type="Element2D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="BEAM">
<doWhile>
<condition>
<find value="BEAM"><curLine/></find>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="16" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="8" offset="24" repeat="2" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement1D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement1D>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="SPRING/">
<doWhile>
<condition>
<find value="SPRING"><curLine/></find>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="ElemId"/></parse>
<parse format="UI" length="8" offset="16" repeat="1" separator="none"><variableAssign name="GroupId"/></parse>
<parse format="UI" length="8" offset="24" repeat="2" separator="none"><variableAssign name="ElemDef"/></parse>
</parseRule>
<nextLine/>
</body>
</doWhile>
<objectElement1D>
<setId><variable name="ElemId"/></setId>
<setElemDef><variable name="ElemDef"/></setElemDef>
</objectElement1D>
<objectGroup type="Element1D">
<setId><variable name="GroupId"/></setId>
<!-- <setPart>true</setPart> -->
<addInGroup><variable name="ElemId"/></addInGroup>
</objectGroup>
</rule>
<rule keyword="GROUP">
<parseRule>
<parse format="C" length="256" offset="8" repeat="1" separator="none"><variableAssign name="GroupName"/></parse>
</parseRule>
<nextLine/>
<objectGroup type="Group">
<setId><variable name="GroupName"/></setId>
<setName><variable name="GroupName"/></setName>
</objectGroup>
<doWhile>
<condition>
<notfind value="END"><curLine/></notfind>
</condition>
<body>
<parseRule>
<parse format="C" length="0" offset="1" repeat="1" separator="ws"><variableAssign name="GroupTypeContent"/></parse>
<parse format="C" length="0" offset="2" repeat="8" separator="ws" offsetrepeat="1"><variableAssign name="Content"/></parse>
</parseRule>
<nextLine/>
<!-- <forEach>
<variable name="Content"/>
<variableAssign name="CurContent"/>
<body>
<doIf>
<condition>
<find value=":" pos="any"><variable name="CurContent"/></find>
</condition>
<body>
<parseRule>
<variable name="CurContent"/>
<parse format="UIpos" length="0" offset="0" repeat="1" separator=":"><variableAssign name="ContentToAddStart"/></parse>
<parse format="UIpos" length="0" offset="1" repeat="1" separator=":"><variableAssign name="ContentToAddEnd"/></parse>
</parseRule>
<generateId>
<start><variable name="ContentToAddStart"/></start>
<end><variable name="ContentToAddEnd"/></end>
<variableAssign name="ContentToAdd"/>
</generateId>
</body>
</doIf>
<doIf>
<condition>
<notfind value=":" pos="any"><variable name="CurContent"/></notfind>
</condition>
<body>
<parseRule>
<variable name="CurContent"/>
<parse format="UIpos" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ContentToAdd"/></parse>
</parseRule>
</body>
</doIf>
</body>
</forEach> -->
<doIf>
<condition>
<equal value="NOD"><variable name="GroupTypeContent"/></equal>
</condition>
<body>
<forEach>
<variable name="Content"/>
<variableAssign name="CurContent"/>
<body>
<doIf>
<condition>
<find value=":" pos="any"><variable name="CurContent"/></find>
</condition>
<body>
<parseRule>
<variable name="CurContent"/>
<parse format="UIpos" length="0" offset="0" repeat="1" separator=":"><variableAssign name="ContentToAddStart"/></parse>
<parse format="UIpos" length="0" offset="1" repeat="1" separator=":"><variableAssign name="ContentToAddEnd"/></parse>
</parseRule>
<generateId>
<start><variable name="ContentToAddStart"/></start>
<end><variable name="ContentToAddEnd"/></end>
<variableAssign name="ContentToAdd"/>
</generateId>
</body>
</doIf>
<doIf>
<condition>
<notfind value=":" pos="any"><variable name="CurContent"/></notfind>
</condition>
<body>
<parseRule>
<variable name="CurContent"/>
<parse format="UIpos" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ContentToAdd"/></parse>
</parseRule>
</body>
</doIf>
</body>
</forEach>
<append value="_Node">
<variable name="GroupName"/>
<variableAssign name="GroupName_Node"/>
</append>
<objectGroup type="Node">
<setId><variable name="GroupName_Node"/></setId>
<setName><variable name="GroupName_Node"/></setName>
<addInGroup><variable name="ContentToAdd"/></addInGroup>
</objectGroup>
<objectGroup type="Group">
<setId><variable name="GroupName"/></setId>
<addInGroup><variable name="GroupName_Node"/></addInGroup>
</objectGroup>
</body>
</doIf>
<doIf>
<condition>
<equal value="ELE"><variable name="GroupTypeContent"/></equal>
</condition>
<body>
<forEach>
<variable name="Content"/>
<variableAssign name="CurContent"/>
<body>
<doIf>
<condition>
<find value=":" pos="any"><variable name="CurContent"/></find>
</condition>
<body>
<parseRule>
<variable name="CurContent"/>
<parse format="UIpos" length="0" offset="0" repeat="1" separator=":"><variableAssign name="ContentToAddStart"/></parse>
<parse format="UIpos" length="0" offset="1" repeat="1" separator=":"><variableAssign name="ContentToAddEnd"/></parse>
</parseRule>
<generateId>
<start><variable name="ContentToAddStart"/></start>
<end><variable name="ContentToAddEnd"/></end>
<variableAssign name="ContentToAdd"/>
</generateId>
</body>
</doIf>
<doIf>
<condition>
<notfind value=":" pos="any"><variable name="CurContent"/></notfind>
</condition>
<body>
<parseRule>
<variable name="CurContent"/>
<parse format="UIpos" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ContentToAdd"/></parse>
</parseRule>
</body>
</doIf>
</body>
</forEach>
<append value="_Element1D">
<variable name="GroupName"/>
<variableAssign name="GroupName_E1D"/>
</append>
<objectGroup type="Element1D">
<setId><variable name="GroupName_E1D"/></setId>
<setName><variable name="GroupName_E1D"/></setName>
<addInGroup><variable name="ContentToAdd"/></addInGroup>
</objectGroup>
<objectGroup type="Group">
<setId><variable name="GroupName"/></setId>
<addInGroup><variable name="GroupName_E1D"/></addInGroup>
</objectGroup>
<append value="_Element2D">
<variable name="GroupName"/>
<variableAssign name="GroupName_E2D"/>
</append>
<objectGroup type="Element2D">
<setId><variable name="GroupName_E2D"/></setId>
<setName><variable name="GroupName_E2D"/></setName>
<addInGroup><variable name="ContentToAdd"/></addInGroup>
</objectGroup>
<objectGroup type="Group">
<setId><variable name="GroupName"/></setId>
<addInGroup><variable name="GroupName_E2D"/></addInGroup>
</objectGroup>
<append value="_Element3D">
<variable name="GroupName"/>
<variableAssign name="GroupName_E3D"/>
</append>
<objectGroup type="Element3D">
<setId><variable name="GroupName_E3D"/></setId>
<setName><variable name="GroupName_E3D"/></setName>
<addInGroup><variable name="ContentToAdd"/></addInGroup>
</objectGroup>
<objectGroup type="Group">
<setId><variable name="GroupName"/></setId>
<addInGroup><variable name="GroupName_E3D"/></addInGroup>
</objectGroup>
</body>
</doIf>
<doIf>
<condition>
<equal value="PART"><variable name="GroupTypeContent"/></equal>
</condition>
<body>
<forEach>
<variable name="Content"/>
<variableAssign name="CurContent"/>
<body>
<doIf>
<condition>
<find value=":" pos="any"><variable name="CurContent"/></find>
</condition>
<body>
<parseRule>
<variable name="CurContent"/>
<parse format="UIpos" length="0" offset="0" repeat="1" separator=":"><variableAssign name="ContentToAddStart"/></parse>
<parse format="UIpos" length="0" offset="1" repeat="1" separator=":"><variableAssign name="ContentToAddEnd"/></parse>
</parseRule>
<generateId>
<start><variable name="ContentToAddStart"/></start>
<end><variable name="ContentToAddEnd"/></end>
<variableAssign name="ContentToAdd"/>
</generateId>
</body>
</doIf>
<doIf>
<condition>
<notfind value=":" pos="any"><variable name="CurContent"/></notfind>
</condition>
<body>
<parseRule>
<variable name="CurContent"/>
<parse format="UIpos" length="8" offset="0" repeat="1" separator="none"><variableAssign name="ContentToAdd"/></parse>
</parseRule>
</body>
</doIf>
</body>
</forEach>
<objectGroup type="Group">
<setId><variable name="GroupName"/></setId>
<sourceId>BEAM SPRING/ SHELL SOLID</sourceId>
<addInGroup><variable name="ContentToAdd"/></addInGroup>
</objectGroup>
</body>
</doIf>
<clearVar>
<variable name="GroupName_Node"/>
<variable name="GroupName_E1D"/>
<variable name="GroupName_E2D"/>
<variable name="GroupName_E3D"/>
<variable name="GroupTypeContent"/>
<variable name="ContentToAdd"/>
<variable name="Content"/>
<variable name="ContentToAddStart"/>
<variable name="ContentToAddEnd"/>
</clearVar>
</body>
</doWhile>
</rule>
<rule keyword="FRAME">
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1"><variableAssign name="FrameId"/></parse>
<parse format="C" length="8" offset="24" repeat="1"><variableAssign name="FrameType"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="C" length="250" offset="4" repeat="1"><variableAssign name="FrameName"/></parse>
</parseRule>
<nextLine/>
<doIf>
<condition>
<equal value="1"><variable name="FrameType"/></equal>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1"><variableAssign name="FrameN1"/></parse>
<parse format="UI" length="8" offset="16" repeat="1"><variableAssign name="FrameN2"/></parse>
<parse format="UI" length="8" offset="24" repeat="1"><variableAssign name="FrameN3"/></parse>
</parseRule>
<nextLine/>
<objectFrame>
<setId><variable name="FrameId"/></setId>
<setName><variable name="FrameName"/></setName>
<setOrigin type="nodeid"><variable name="FrameN1"/></setOrigin>
<setFirstDirection>X</setFirstDirection>
<setFirstAxis type="nodeid"><variable name="FrameN2"/></setFirstAxis>
<setSecondDirection>Y</setSecondDirection>
<setPlane type="nodeid"><variable name="FrameN3"/></setPlane>
</objectFrame>
</body>
</doIf>
<doIf>
<condition>
<equal value="0"><variable name="FrameType"/></equal>
</condition>
<body>
<parseRule>
<parse format="F" length="16" offset="8" repeat="3"><variableAssign name="FrameV1"/></parse>
</parseRule>
<nextLine/>
<parseRule>
<parse format="F" length="16" offset="8" repeat="3"><variableAssign name="FrameV2"/></parse>
<!-- <parse format="UIpos" length="8" offset="56" repeat="1"><variableAssign name="FrameN1"/></parse> -->
</parseRule>
<nextLine/>
<objectFrame>
<setId><variable name="FrameId"/></setId>
<setName><variable name="FrameName"/></setName>
<!-- <setOrigin><variable name="FrameN1"/></setOrigin> -->
<setFirstDirection>X</setFirstDirection>
<setFirstAxis type="vector"><variable name="FrameV1"/></setFirstAxis>
<setSecondDirection>Y</setSecondDirection>
<setPlane type="vector"><variable name="FrameV2"/></setPlane>
</objectFrame>
</body>
</doIf>
<doIf>
<condition>
<equal value="3"><variable name="FrameType"/></equal>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1"><variableAssign name="FrameN1"/></parse>
<parse format="UI" length="8" offset="16" repeat="1"><variableAssign name="FrameN2"/></parse>
<parse format="UI" length="8" offset="24" repeat="1"><variableAssign name="FrameN3"/></parse>
</parseRule>
<nextLine/>
<objectFrame>
<setId><variable name="FrameId"/></setId>
<setName><variable name="FrameName"/></setName>
<setOrigin type="nodeid"><variable name="FrameN1"/></setOrigin>
<setFirstDirection>Z</setFirstDirection>
<setFirstAxis type="nodeid"><variable name="FrameN2"/></setFirstAxis>
<setSecondDirection>X</setSecondDirection>
<setPlane type="nodeid"><variable name="FrameN3"/></setPlane>
</objectFrame>
</body>
</doIf>
</rule>
<rule keyword="MATER">
<parseRule>
<parse format="C" length="8" offset="16" repeat="1" separator="none"><variableAssign name="MatType"/></parse>
</parseRule>
<doIf>
<condition>
<equal value="1"><variable name="MatType"/></equal>
</condition>
<body>
<parseRule>
<parse format="UI" length="8" offset="8" repeat="1" separator="none"><variableAssign name="PropId"/></parse>
<parse format="F" length="16" offset="24" repeat="1" separator="none"><variableAssign name="Rho"/></parse>
</parseRule>
<nextLine/>
<nextLine/>
<nextLine/>
<parseRule>
<parse format="F" length="10" offset="0" repeat="1" separator="none"><variableAssign name="E"/></parse>
</parseRule>
<objectParameter>
<setId><variable name="PropId"/></setId>
<setValue>
<type>ModuleG</type>
<value><variable name="E"/></value>
</setValue>
<setValue>
<type>Density</type>
<value><variable name="Rho"/></value>
</setValue>
</objectParameter>
</body>
</doIf>
<nextLine/>
</rule>
</format_description>