{
  "schemaVersion": 1,
  "id": "no.impetus.umat.example_user_material",
  "name": "IMPETUS example user material",
  "version": "1.0.0",
  "createdBy": "IMPETUS Afea",
  "description": "Example user-material library containing reference metal, concrete, rubber, orthotropic, and glass material models.",
  "interface": {
    "manifestAbi": 1,
    "umatFrameworkVersion": "1.0.0",
    "slots": [1, 2, 3, 4, 5]
  },
  "materials": [
    {
      "slot": 1,
      "command": "MAT_USER_1",
      "title": "IMPETUS example user material",
      "name": "Example metal plasticity",
      "description": "Elastic-plastic metal material with tabulated flow stress and optional failure strain.",
      "cpuSupported": true,
      "gpuSupported": true,
      "parameters": [
        {"cardIndex": 0, "cmatIndex": null, "name": "mid", "description": "Material ID.", "required": true, "kind": "integer"},
        {"cardIndex": 1, "cmatIndex": 0, "name": "rho", "description": "Initial density.", "required": true, "kind": "real", "quantity": "density"},
        {"cardIndex": 2, "cmatIndex": 1, "name": "E", "description": "Young's modulus.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 3, "cmatIndex": 2, "name": "nu", "description": "Poisson's ratio.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 4, "cmatIndex": 3, "name": "did", "description": "Damage property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 5, "cmatIndex": 4, "name": "tid", "description": "Thermal property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 6, "cmatIndex": 5, "name": "eosid", "description": "Equation-of-state ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 7, "cmatIndex": 6, "name": "idlc", "description": "Flow-stress curve/function ID.", "required": true, "kind": "curveId", "curveRequired": true},
        {"cardIndex": 8, "cmatIndex": 7, "name": "epsf", "description": "Effective plastic strain at failure; 0 disables this damage accumulation.", "required": false, "kind": "real", "quantity": "strain", "default": 0}
      ]
    },
    {
      "slot": 2,
      "command": "MAT_USER_2",
      "title": "IMPETUS example user material",
      "name": "Example concrete compaction and damage",
      "description": "Simplified Holmquist-Johnson-Cook concrete model with compaction and damage.",
      "cpuSupported": true,
      "gpuSupported": true,
      "parameters": [
        {"cardIndex": 0, "cmatIndex": null, "name": "mid", "description": "Material ID.", "required": true, "kind": "integer"},
        {"cardIndex": 1, "cmatIndex": 0, "name": "rho", "description": "Initial density.", "required": true, "kind": "real", "quantity": "density"},
        {"cardIndex": 2, "cmatIndex": 1, "name": "G", "description": "Shear modulus.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 3, "cmatIndex": 2, "name": "unused_cmat2", "description": "Reserved fixed-header value.", "required": false, "kind": "real", "default": 0, "hidden": true},
        {"cardIndex": 4, "cmatIndex": 3, "name": "did", "description": "Damage property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 5, "cmatIndex": 4, "name": "tid", "description": "Thermal property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 6, "cmatIndex": 5, "name": "eosid", "description": "Equation-of-state ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 7, "cmatIndex": 6, "name": "A", "description": "Normalized cohesive strength.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 8, "cmatIndex": 7, "name": "B", "description": "Normalized pressure hardening coefficient.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 9, "cmatIndex": 8, "name": "n", "description": "Pressure hardening exponent.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 10, "cmatIndex": 9, "name": "f_c", "description": "Compressive strength scale.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 11, "cmatIndex": 10, "name": "T", "description": "Tensile cut-off strength.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 12, "cmatIndex": 11, "name": "epsf_min", "description": "Minimum failure strain.", "required": true, "kind": "real", "quantity": "strain"},
        {"cardIndex": 13, "cmatIndex": 12, "name": "p_c", "description": "Crush pressure.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 14, "cmatIndex": 13, "name": "p_l", "description": "Locking pressure.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 15, "cmatIndex": 14, "name": "epsv_c_l", "description": "Volumetric compaction strain at locking.", "required": true, "kind": "real", "quantity": "strain"},
        {"cardIndex": 16, "cmatIndex": 15, "name": "D1", "description": "Damage parameter D1.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 17, "cmatIndex": 16, "name": "D2", "description": "Damage parameter D2.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 18, "cmatIndex": 17, "name": "K", "description": "Bulk modulus.", "required": true, "kind": "real", "quantity": "stress"}
      ]
    },
    {
      "slot": 3,
      "command": "MAT_USER_3",
      "title": "IMPETUS example user material",
      "name": "Example Mooney-Rivlin rubber",
      "description": "Mooney-Rivlin hyperelastic rubber material.",
      "cpuSupported": true,
      "gpuSupported": true,
      "parameters": [
        {"cardIndex": 0, "cmatIndex": null, "name": "mid", "description": "Material ID.", "required": true, "kind": "integer"},
        {"cardIndex": 1, "cmatIndex": 0, "name": "rho", "description": "Initial density.", "required": true, "kind": "real", "quantity": "density"},
        {"cardIndex": 2, "cmatIndex": 1, "name": "bulk", "description": "Bulk modulus.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 3, "cmatIndex": 2, "name": "unused_cmat2", "description": "Reserved fixed-header value.", "required": false, "kind": "real", "default": 0, "hidden": true},
        {"cardIndex": 4, "cmatIndex": 3, "name": "did", "description": "Damage property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 5, "cmatIndex": 4, "name": "tid", "description": "Thermal property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 6, "cmatIndex": 5, "name": "eosid", "description": "Equation-of-state ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 7, "cmatIndex": 6, "name": "C1", "description": "First Mooney-Rivlin coefficient.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 8, "cmatIndex": 7, "name": "C2", "description": "Second Mooney-Rivlin coefficient.", "required": true, "kind": "real", "quantity": "stress"}
      ]
    },
    {
      "slot": 4,
      "command": "MAT_USER_4",
      "title": "IMPETUS example user material",
      "name": "Example orthotropic composite",
      "description": "Orthotropic composite-style material with directional stiffness and damage.",
      "cpuSupported": true,
      "gpuSupported": true,
      "parameters": [
        {"cardIndex": 0, "cmatIndex": null, "name": "mid", "description": "Material ID.", "required": true, "kind": "integer"},
        {"cardIndex": 1, "cmatIndex": 0, "name": "rho", "description": "Initial density.", "required": true, "kind": "real", "quantity": "density"},
        {"cardIndex": 2, "cmatIndex": 1, "name": "unused_cmat1", "description": "Reserved fixed-header value.", "required": false, "kind": "real", "default": 0, "hidden": true},
        {"cardIndex": 3, "cmatIndex": 2, "name": "unused_cmat2", "description": "Reserved fixed-header value.", "required": false, "kind": "real", "default": 0, "hidden": true},
        {"cardIndex": 4, "cmatIndex": 3, "name": "did", "description": "Damage property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 5, "cmatIndex": 4, "name": "tid", "description": "Thermal property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 6, "cmatIndex": 5, "name": "eosid", "description": "Equation-of-state ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 7, "cmatIndex": 6, "name": "E1", "description": "Young's modulus in the first material direction.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 8, "cmatIndex": 7, "name": "E2", "description": "Young's modulus in transverse material directions.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 9, "cmatIndex": 8, "name": "G12", "description": "In-plane shear modulus.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 10, "cmatIndex": 9, "name": "pr12", "description": "Poisson's ratio in the 1-2 material plane.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 11, "cmatIndex": 10, "name": "pr23", "description": "Poisson's ratio in the transverse plane.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 12, "cmatIndex": 11, "name": "unused_cmat11", "description": "Reserved material value.", "required": false, "kind": "real", "default": 0, "hidden": true},
        {"cardIndex": 13, "cmatIndex": 12, "name": "unused_cmat12", "description": "Reserved material value.", "required": false, "kind": "real", "default": 0, "hidden": true},
        {"cardIndex": 14, "cmatIndex": 13, "name": "unused_cmat13", "description": "Reserved material value.", "required": false, "kind": "real", "default": 0, "hidden": true},
        {"cardIndex": 15, "cmatIndex": 14, "name": "c", "description": "Viscosity coefficient.", "required": false, "kind": "real", "quantity": "stress", "default": 0},
        {"cardIndex": 16, "cmatIndex": 15, "name": "cdec", "description": "Viscous decay time.", "required": false, "kind": "real", "quantity": "time", "default": 0},
        {"cardIndex": 17, "cmatIndex": 16, "name": "Xt", "description": "Tensile strength in the first material direction.", "required": false, "kind": "real", "quantity": "stress", "default": 0},
        {"cardIndex": 18, "cmatIndex": 17, "name": "Xc", "description": "Compressive strength in the first material direction.", "required": false, "kind": "real", "quantity": "stress", "default": 0},
        {"cardIndex": 19, "cmatIndex": 18, "name": "Yt", "description": "Tensile strength in the transverse material direction.", "required": false, "kind": "real", "quantity": "stress", "default": 0},
        {"cardIndex": 20, "cmatIndex": 19, "name": "Yc", "description": "Compressive strength in the transverse material direction.", "required": false, "kind": "real", "quantity": "stress", "default": 0},
        {"cardIndex": 21, "cmatIndex": 20, "name": "beta", "description": "Failure interaction parameter.", "required": false, "kind": "real", "quantity": "none", "default": 0},
        {"cardIndex": 22, "cmatIndex": 21, "name": "S", "description": "Shear strength parameter.", "required": false, "kind": "real", "quantity": "stress", "default": 0},
        {"cardIndex": 23, "cmatIndex": 22, "name": "erode", "description": "Element erosion flag.", "required": false, "kind": "flag", "default": 0},
        {"cardIndex": 24, "cmatIndex": 23, "name": "residual", "description": "Residual stress scaling after failure.", "required": false, "kind": "real", "quantity": "none", "default": 0}
      ]
    },
    {
      "slot": 5,
      "command": "MAT_USER_5",
      "title": "IMPETUS example user material",
      "name": "Example glass damage",
      "description": "CPU glass damage material with flaw-based fracture growth.",
      "cpuSupported": true,
      "gpuSupported": false,
      "parameters": [
        {"cardIndex": 0, "cmatIndex": null, "name": "mid", "description": "Material ID.", "required": true, "kind": "integer"},
        {"cardIndex": 1, "cmatIndex": 0, "name": "rho", "description": "Initial density.", "required": true, "kind": "real", "quantity": "density"},
        {"cardIndex": 2, "cmatIndex": 1, "name": "E", "description": "Young's modulus.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 3, "cmatIndex": 2, "name": "nu", "description": "Poisson's ratio.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 4, "cmatIndex": 3, "name": "did", "description": "Damage property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 5, "cmatIndex": 4, "name": "tid", "description": "Thermal property ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 6, "cmatIndex": 5, "name": "eosid", "description": "Equation-of-state ID, or 0 when unused.", "required": false, "kind": "id", "default": 0},
        {"cardIndex": 7, "cmatIndex": 6, "name": "c", "description": "Viscosity coefficient.", "required": false, "kind": "real", "quantity": "stress", "default": 0},
        {"cardIndex": 8, "cmatIndex": 7, "name": "cdec", "description": "Viscous decay time.", "required": false, "kind": "real", "quantity": "time", "default": 0},
        {"cardIndex": 9, "cmatIndex": 8, "name": "stress_c", "description": "Critical tensile stress for damage growth.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 10, "cmatIndex": 9, "name": "k_c", "description": "Critical stress intensity.", "required": true, "kind": "real", "quantity": "stress"},
        {"cardIndex": 11, "cmatIndex": 10, "name": "t_c", "description": "Characteristic damage time.", "required": true, "kind": "real", "quantity": "time"},
        {"cardIndex": 12, "cmatIndex": 11, "name": "a_c", "description": "Damage growth exponent.", "required": true, "kind": "real", "quantity": "none"},
        {"cardIndex": 13, "cmatIndex": 12, "name": "unused_cmat12", "description": "Reserved material value.", "required": false, "kind": "real", "default": 0, "hidden": true},
        {"cardIndex": 14, "cmatIndex": 13, "name": "unused_cmat13", "description": "Reserved material value.", "required": false, "kind": "real", "default": 0, "hidden": true},
        {"cardIndex": 15, "cmatIndex": 14, "name": "flaw_dim", "description": "Flaw dimension selector.", "required": false, "kind": "integer", "default": 0},
        {"cardIndex": 16, "cmatIndex": 15, "name": "surface_t1", "description": "Top surface normal component 1.", "required": false, "kind": "real", "quantity": "none", "default": 0},
        {"cardIndex": 17, "cmatIndex": 16, "name": "surface_t2", "description": "Top surface normal component 2.", "required": false, "kind": "real", "quantity": "none", "default": 0},
        {"cardIndex": 18, "cmatIndex": 17, "name": "surface_t3", "description": "Top surface normal component 3.", "required": false, "kind": "real", "quantity": "none", "default": 0},
        {"cardIndex": 19, "cmatIndex": 18, "name": "surface_b1", "description": "Bottom surface normal component 1.", "required": false, "kind": "real", "quantity": "none", "default": 0},
        {"cardIndex": 20, "cmatIndex": 19, "name": "surface_b2", "description": "Bottom surface normal component 2.", "required": false, "kind": "real", "quantity": "none", "default": 0},
        {"cardIndex": 21, "cmatIndex": 20, "name": "surface_b3", "description": "Bottom surface normal component 3.", "required": false, "kind": "real", "quantity": "none", "default": 0}
      ]
    }
  ]
}
