<?xml version="1.0" encoding="utf-8"?>
<EngineeringData version="12.1" id="meta">
  <Notes>
    This file is used to provide a scaffold for inputs to a USERMAT material model for MAPDL.  It is necessary to modify
    EngineeringData.config and enable all MAPDL_UserMat_... items.
  </Notes>
  <Materials>
    <MatML_Doc xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xmlns:ansys="http://www.ansys.com/MatML"  xsi:schemaLocation ="http://www.ansys.com/MatML matml31.xsd">
      <Material>
        <BulkDetails>
          <!--  The contents of the Name element cannot be modified. -->
          <Name>ANSYS Engineering Data Property Definition</Name>
          <!--  
          EXAMPLE - Model with State Variables hidden
          -->
          <!--The following PropertyData will create a property with the name from the Metadata (UserMat Model Example 1)
              and define three variables.   The UserMat Qualifier must be defined for this PropertyData to be
              written as TB,USER. -->
          <PropertyData property="prUSER" minOccurrences="1">
            <Data format="string">-</Data>
            <Qualifier name="UserMat">USER</Qualifier>
            <!-- The following ParameterValue allows for temperature dependence for the model.  To enable change
                 the maxEntries to floor(1000/NPTS). -->
            <ParameterValue parameter="pa1" format="float" minEntries="0" maxEntries="2">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="Variable Type">Independent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies the value to be used as the switch for multiple
                  models defined in a UserMat subroutine in this case it is model 1.  The user doesn't need
                  to see this so it is not displayed (Display).  Also specified is that this is the first constant 
                  "C1" for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC1" format="float" lowerLimit=">0.0">
              <Data>1</Data>
              <Qualifier name="Display">False</Qualifier>
              <Qualifier name="UserMat Constant">1</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the second constant "C2"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC2" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">2</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the third constant "C3"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC3" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">3</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <ParameterValue parameter="groupPropertyData" format="string">
              <Data>UserMat Model Example 1</Data>
            </ParameterValue>
          </PropertyData><!--The following PropertyData will create a property with the name from the Metadata (UserMat Model Example 1)
              and define two state variables.   The UserMat Qualifier must be defined for this PropertyData to be
              written as TB,STATE.-->
          <PropertyData property="prSTATE" minOccurrences="1">
            <Data format="string">-</Data>
            <Qualifier name="UserMat">STATE</Qualifier>
            <Qualifier name="Display">False</Qualifier>
            <!--  The following ParameterValue specifies and initializes the first state variable.-->
            <ParameterValue parameter="paSV1" format="float" lowerLimit="0.0">
              <Data>0.0</Data>
              <Qualifier name="UserMat Constant">1</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies and initializes the second state variable.-->
            <ParameterValue parameter="paSV2" format="float" lowerLimit=">0.0">
              <Data>.0001</Data>
              <Qualifier name="UserMat Constant">2</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <ParameterValue parameter="groupPropertyData" format="string">
              <Data>UserMat Model Example 1</Data>
            </ParameterValue>
          </PropertyData><!--The following PropertyData will create a property with the name from the Metadata (UserMat Model Example 1 (CZM))
              and define three variables.   The UserMat Qualifier must be defined for this PropertyData to be
              written as TB,CZM,,,USER -->
          <PropertyData property="prUSER" minOccurrences="1">
            <Data format="string">-</Data>
            <Qualifier name="UserMat">CZM</Qualifier>
            <!-- The following ParameterValue allows for temperature dependence for the model.  To enable change
                 the maxEntries to floor(1000/NPTS). -->
            <ParameterValue parameter="pa1" format="float" minEntries="0" maxEntries="2">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="Variable Type">Independent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies the value to be used as the switch for multiple
                  models defined in a UserMat subroutine in this case it is model 1.  The user doesn't need
                  to see this so it is not displayed (Display).  Also specified is that this is the first constant 
                  "C1" for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC1" format="float" lowerLimit=">0.0">
              <Data>1</Data>
              <Qualifier name="Display">False</Qualifier>
              <Qualifier name="UserMat Constant">1</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the second constant "C2"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC2" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">2</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the third constant "C3"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC3" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">3</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <ParameterValue parameter="groupPropertyData" format="string">
              <Data>UserMat Model Example 1 (CZM)</Data>
            </ParameterValue>
          </PropertyData>
          <!--  
          EXAMPLE - Temperature Dependent Model with State Variables mixed display
          -->
          <!--The following PropertyData will create a property with the name from the Metadata (UserMat Model Example 2)
              and define three variables.   The UserMat Qualifier must be defined for this PropertyData to be
              written as TB,USER. -->
          <PropertyData property="prUSER" minOccurrences="1">
            <Data format="string">-</Data>
            <Qualifier name="UserMat">USER</Qualifier>
            <!-- The following ParameterValue allows for temperature dependence for the model.  To enable change
                 the maxEntries to floor(1000/NPTS). -->
            <ParameterValue parameter="pa1" format="float" minEntries="0" maxEntries="2">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="Variable Type">Independent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies the value to be used as the switch for multiple
                  models defined in a UserMat subroutine in this case it is model 1.  The user doesn't need
                  to see this so it is not displayed (Display).  Also specified is that this is the first constant 
                  "C1" for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC1" format="float" lowerLimit=">0.0">
              <Data>2</Data>
              <Qualifier name="Display">False</Qualifier>
              <Qualifier name="UserMat Constant">1</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the second constant "C2"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC2" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">2</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the third constant "C3"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC3" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">3</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the third constant "C4"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC4" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">4</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--
              -->
            <ParameterValue parameter="groupPropertyData" format="string">
              <Data>UserMat Model Example 2</Data>
            </ParameterValue>
          </PropertyData>
          <!--The following PropertyData will create a property with the name from the Metadata (UserMat Model Example 2)
              and define two state variables.   The UserMat Qualifier must be defined for this PropertyData to be
              written as TB,STATE.-->
          <PropertyData property="prSTATE" minOccurrences="1">
            <Data format="string">-</Data>
            <Qualifier name="UserMat">STATE</Qualifier>
            <!--  The following ParameterValue specifies and initializes the first state variable.-->
            <ParameterValue parameter="paSV1" format="float" lowerLimit="0.0">
              <Data>0.0</Data>
              <Qualifier name="Display">False</Qualifier>
              <Qualifier name="UserMat Constant">1</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies and initializes the second state variable.-->
            <ParameterValue parameter="paSV2" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">2</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--
             -->
            <ParameterValue parameter="groupPropertyData" format="string">
              <Data>UserMat Model Example 2</Data>
            </ParameterValue>
          </PropertyData>
          <!--The following PropertyData will create a property with the name from the Metadata (UserMat Model Example 2 (CZM))
              and define three variables.   The UserMat Qualifier must be defined for this PropertyData to be
              written as TB,CZM,,,USER. -->
          <PropertyData property="prUSER" minOccurrences="1">
            <Data format="string">-</Data>
            <Qualifier name="UserMat">CZM</Qualifier>
            <!-- The following ParameterValue allows for temperature dependence for the model.  To enable change
                 the maxEntries to floor(1000/NPTS). -->
            <ParameterValue parameter="pa1" format="float" minEntries="0" maxEntries="100">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="Variable Type">Independent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies the value to be used as the switch for multiple
                  models defined in a UserMat subroutine in this case it is model 1.  The user doesn't need
                  to see this so it is not displayed (Display).  Also specified is that this is the first constant 
                  "C1" for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC1" format="float" lowerLimit=">0.0">
              <Data>2</Data>
              <Qualifier name="Display">False</Qualifier>
              <Qualifier name="UserMat Constant">1</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the second constant "C2"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC2" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">2</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the third constant "C3"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC3" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">3</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--  The following ParameterValue specifies that this is the third constant "C4"
                  for the TBDATA command (UserMat Constant).-->
            <ParameterValue parameter="paC4" format="float" lowerLimit=">0.0">
              <Data>7.8886090522101180541172856528279e-31</Data>
              <Qualifier name="UserMat Constant">4</Qualifier>
              <Qualifier name="Variable Type">Dependent</Qualifier>
            </ParameterValue>
            <!--
              -->
            <ParameterValue parameter="groupPropertyData" format="string">
              <Data>UserMat Model Example 2 (CZM)</Data>
            </ParameterValue>
          </PropertyData>
        </BulkDetails>
      </Material>
      <Metadata>
        <!-- 
        ### Parameter Details 
        -->
        <ParameterDetails id="pa1">
          <!-- If a parameter is not Unitless, it means the user can use the unit for the value.-->
          <Name>Temperature</Name>
          <Units name="Temperature">
            <Unit>
              <Name>C</Name>
            </Unit>
          </Units>
        </ParameterDetails>
        <ParameterDetails id="paC1">
          <Name>UserMat Model Id</Name>
          <Unitless/>
        </ParameterDetails>
        <ParameterDetails id="paC2">
          <Name>Custom Name for C2</Name>
          <!--  Use extreme caution when allowing the user to choose the unit.  The value will be converted to the Unit System
                specified for the solution.  This could result in incorrect data for the solution.-->
          <Unitless/>
        </ParameterDetails>
        <ParameterDetails id="paC3">
          <Name>Custom Name for C3</Name>
          <!--  Use extreme caution when allowing the user to choose the unit.  The value will be converted to the Unit System
                specified for the solution.  This could result in incorrect data for the solution.-->
          <Unitless/>
        </ParameterDetails>
        <ParameterDetails id="paC4">
          <Name>Custom Name for C4</Name>
          <!--  Use extreme caution when allowing the user to choose the unit.  The value will be converted to the Unit System
                specified for the solution.  This could result in incorrect data for the solution.-->
          <Unitless/>
        </ParameterDetails>
        <!--  
          State Variables -->
        <ParameterDetails id="paSV1">
          <Name>Custom Name for SV1</Name>
          <!--  Use extreme caution when allowing the user to choose the unit.  The value will be converted to the Unit System
                specified for the solution.  This could result in incorrect data for the solution.-->
          <Unitless/>
        </ParameterDetails>
        <ParameterDetails id="paSV2">
          <Name>Custom Name for SV2</Name>
          <!--  Use extreme caution when allowing the user to choose the unit.  The value will be converted to the Unit System
                specified for the solution.  This could result in incorrect data for the solution.-->
          <Unitless/>
        </ParameterDetails>
        <!--  Key to group PropertyData into a single Property -->
        <ParameterDetails id="groupPropertyData">
          <Name>Material Property</Name>
          <Unitless/>
        </ParameterDetails>
        <!-- 
        ### Property Details 
        -->
        <PropertyDetails id="prUSER">
          <Name>Model Coefficients</Name>
          <Unitless/>
        </PropertyDetails>
        <PropertyDetails id="prSTATE">
          <Name>Model State Variables</Name>
          <Unitless/>
        </PropertyDetails>
      </Metadata>
    </MatML_Doc>
  </Materials>
</EngineeringData>
