{
  "category": "ball",
  "search_keywords": [
    "history",
    "track",
    "monitor"
  ],
  "description": "Add a history of a ball value. A history is a table of floating point values assigned by sampling a model attribute periodically during a simulation. The ball must be specified by either 'id' or 'position' keyword.",
  "quantity_categories": {
    "position": [
      "position-x",
      "position-y",
      "position-z",
      "displacement",
      "displacement-x/y/z"
    ],
    "velocity": [
      "velocity",
      "velocity-x",
      "velocity-y",
      "velocity-z",
      "spin",
      "spin-x/y/z"
    ],
    "orientation": [
      "euler-x",
      "euler-y",
      "euler-z (3D)",
      "rotation (2D)"
    ],
    "forces": [
      "force-contact",
      "force-contact-x/y/z",
      "force-unbalanced",
      "force-unbalanced-x/y/z"
    ],
    "moments": [
      "moment-contact",
      "moment-contact-x/y/z (3D)",
      "moment-unbalanced",
      "moment-unbalanced-x/y/z (3D)"
    ],
    "stress": [
      "stress"
    ],
    "other": [
      "extra"
    ]
  },
  "python_sdk_alternative": {
    "available": false,
    "workaround": "itasca.command('ball history ...') or manually record values using itasca.set_callback() with Ball getter methods"
  },
  "versions": {
    "7.0": {
      "command": "ball history",
      "syntax": "ball history [name <sid>] keyword ...",
      "keywords": [
        {
          "name": "displacement",
          "syntax": "displacement",
          "description": "Magnitude of the accumulated ball displacement vector as a result of cycling."
        },
        {
          "name": "displacement-x",
          "syntax": "displacement-x",
          "description": "The \\(x\\) -component of accumulated displacement as a result of cycling."
        },
        {
          "name": "displacement-y",
          "syntax": "displacement-y",
          "description": "The \\(y\\) -component of accumulated displacement as a result of cycling."
        },
        {
          "name": "displacement-z",
          "syntax": "displacement-z",
          "description": "The \\(z\\) -component of accumulated displacement as a result of cycling."
        },
        {
          "name": "euler-x",
          "syntax": "euler-x",
          "description": "The \\(x\\) -euler angle (in degrees) of the current ball orientation. The orientation is updated only when orientation tracking has been enabled (see the model orientation-tracking command). See the euler keyword of the ball attribute command."
        },
        {
          "name": "euler-y",
          "syntax": "euler-y",
          "description": "The \\(y\\) -euler angle (in degrees) of the current ball orientation. The orientation is updated only when orientation tracking has been enabled (see the model orientation-tracking command). See the euler keyword of the ball attribute command."
        },
        {
          "name": "euler-z",
          "syntax": "euler-z",
          "description": "The \\(z\\) -euler angle (in degrees) of the current ball orientation. The orientation is updated only when orientation tracking has been enabled (see the model orientation-tracking command). See the euler keyword of the ball attribute command."
        },
        {
          "name": "extra",
          "syntax": "extra",
          "description": "Take a history of an extra variable. Use index to specify the extra index and type to specify the type."
        },
        {
          "name": "force-contact",
          "syntax": "force-contact",
          "description": "The magnitude of the force resulting from contacts."
        },
        {
          "name": "force-contact-x",
          "syntax": "force-contact-x",
          "description": "The \\(x\\) -component of the contact force."
        },
        {
          "name": "force-contact-y",
          "syntax": "force-contact-y",
          "description": "The \\(y\\) -component of the contact force."
        },
        {
          "name": "force-contact-z",
          "syntax": "force-contact-z",
          "description": "The \\(z\\) -component of the contact force."
        },
        {
          "name": "force-unbalanced",
          "syntax": "force-unbalanced",
          "description": "The magnitude of the unbalanced force (sum of the applied, contact and gravitational forces)."
        },
        {
          "name": "force-unbalanced-x",
          "syntax": "force-unbalanced-x",
          "description": "The \\(x\\) -component of the unbalanced force."
        },
        {
          "name": "force-unbalanced-y",
          "syntax": "force-unbalanced-y",
          "description": "The \\(y\\) -component of the unbalanced force."
        },
        {
          "name": "force-unbalanced-z",
          "syntax": "force-unbalanced-z",
          "description": "The \\(z\\) -component of the unbalanced force."
        },
        {
          "name": "moment-contact",
          "syntax": "moment-contact",
          "description": "{Value in 2D; Magnitude in 3D} of the sum of the contact moments."
        },
        {
          "name": "moment-contact-x",
          "syntax": "moment-contact-x",
          "description": "The \\(x\\) -component of the contact moment."
        },
        {
          "name": "moment-contact-y",
          "syntax": "moment-contact-y",
          "description": "The \\(y\\) -component of the contact moment."
        },
        {
          "name": "moment-contact-z",
          "syntax": "moment-contact-z",
          "description": "The \\(z\\) -component of the contact moment."
        },
        {
          "name": "moment-unbalanced",
          "syntax": "moment-unbalanced",
          "description": "{Value in 2D; Magnitude in 3D} of the sum of the contact and applied moments."
        },
        {
          "name": "moment-unbalanced-x",
          "syntax": "moment-unbalanced-x",
          "description": "The \\(x\\) -component of the unbalanced moment."
        },
        {
          "name": "moment-unbalanced-y",
          "syntax": "moment-unbalanced-y",
          "description": "The \\(y\\) -component of the unbalanced moment."
        },
        {
          "name": "moment-unbalanced-z",
          "syntax": "moment-unbalanced-z",
          "description": "The \\(z\\) -component of the unbalanced moment."
        },
        {
          "name": "position-x",
          "syntax": "position-x",
          "description": "The \\(x\\) -component of the location of ball centroid."
        },
        {
          "name": "position-y",
          "syntax": "position-y",
          "description": "The \\(y\\) -component of the location of ball centroid."
        },
        {
          "name": "position-z",
          "syntax": "position-z",
          "description": "The \\(z\\) -component of the location of ball centroid."
        },
        {
          "name": "rotation",
          "syntax": "rotation",
          "description": "Current ball orientation. The orientation is updated only when orientation tracking has been enabled (see model orientation-tracking command)."
        },
        {
          "name": "spin",
          "syntax": "spin",
          "description": "{Value in 2D; Magnitude in 3D} of the ball angular velocity in radians per second."
        },
        {
          "name": "spin-x",
          "syntax": "spin-x",
          "description": "The \\(x\\) -component of the ball angular velocity in radians per second."
        },
        {
          "name": "spin-y",
          "syntax": "spin-y",
          "description": "The \\(y\\) -component of the ball angular velocity in radians per second."
        },
        {
          "name": "spin-z",
          "syntax": "spin-z",
          "description": "The \\(z\\) -component of the ball angular velocity in radians per second."
        },
        {
          "name": "stress",
          "syntax": "stress",
          "description": "The ball stress. Use the quantity keyword to specify the quantity to be recorded."
        },
        {
          "name": "velocity",
          "syntax": "velocity",
          "description": "Magnitude of the ball translational velocity vector."
        },
        {
          "name": "velocity-x",
          "syntax": "velocity-x",
          "description": "The \\(x\\) -component of the ball velocity."
        },
        {
          "name": "velocity-y",
          "syntax": "velocity-y",
          "description": "The \\(y\\) -component of the ball velocity."
        },
        {
          "name": "velocity-z",
          "syntax": "velocity-z",
          "description": "The \\(z\\) -component of the ball velocity."
        },
        {
          "name": "magnitude",
          "syntax": "magnitude",
          "description": "This keyword selects which scalar to retrieve from a vector type value, such as velocity or displacement. If the value type is not a vector, this setting is ignored. The available options are:"
        },
        {
          "name": "kwd:id",
          "syntax": "id <i>",
          "description": "Record the history of ball with ID i ."
        },
        {
          "name": "kwd:index",
          "syntax": "index <i>",
          "description": "For keywords that require it (most notably extra ), this specifies the index that should be used."
        },
        {
          "name": "kwd:log",
          "syntax": "log <b>",
          "description": "If on , the returned number is the base 10 log of the absolute value of the original value. The default is off ."
        },
        {
          "name": "kwd:position",
          "syntax": "position <v>",
          "description": "Record the history of ball either containing or closest to position v ."
        },
        {
          "name": "zz",
          "syntax": "zz",
          "description": "This keyword selects which scalar to retrieve from a symmetric tensor type value, such as stress or strain. If the value type is not a tensor, this setting is ignored. The available options are: Record the intermediate principal value of the tensor. Record the maximum (most positive) principal value of the tensor. Note that compressive stresses are negative . Record the mean value, defined as the trace of the tensor divided by { 2 in 2D; 3 in 3D}. For stresses this is most often referred to as the pressure. Record the minimum (most negative) principal value of the tensor. Note that compressive stresses are negative . Record the norm of the full tensor. This is defined as the sum of each tensor component squared. Record the octahedral measure of the tensor. Record the maximum shear value. Record the distance of the tensor value to the origin in principal space. Record the volumetric change, or trace of the tensor. Record the Von Mises measure. Record the xx -component of the tensor. Record the xy -component of the tensor. Record the xz -component of the tensor. Record the yy -component of the tensor. Record the yz -component of the tensor. Record the zz -component of the tensor."
        },
        {
          "name": "vector",
          "syntax": "vector",
          "description": "In certain cases the type (scalar, vector, or tensor) of the value cannot necessarily be determined ahead of time. Extra variables, for example, can hold values of all three types. This keyword allows one to specify which type it is assumed to be. If the original value type does not match, 0.0 is returned. Specify a scalar float type. Specify a tensor type. Specify a vector type."
        }
      ],
      "examples": [
        {
          "command": "ball history name 'ball_pos' position-x id 1",
          "description": "Record x-position of ball 1 with history name 'ball_pos'"
        },
        {
          "command": "ball history velocity-z id 100",
          "description": "Record z-velocity of ball 100 (auto-generated history name)"
        },
        {
          "command": "ball history force-unbalanced id 5",
          "description": "Record magnitude of unbalanced force on ball 5"
        },
        {
          "command": "ball history name 'center_ball' displacement position (0,0,0)",
          "description": "Record displacement magnitude of ball nearest to origin"
        },
        {
          "command": "ball history extra index 1 type float id 10",
          "description": "Record extra variable at index 1 (float type) for ball 10"
        }
      ]
    },
    "6.0": {
      "command": "ball history",
      "syntax": "ball history [name <sid>] keyword id <id>or position <v>",
      "keywords": [
        {
          "name": "displacement",
          "syntax": "displacement",
          "description": "Magnitude of the accumulated ball displacement vector as a result of cycling."
        },
        {
          "name": "displacement-x",
          "syntax": "displacement-x",
          "description": "The x -component of accumulated displacement as a result of cycling."
        },
        {
          "name": "displacement-y",
          "syntax": "displacement-y",
          "description": "The y -component of accumulated displacement as a result of cycling."
        },
        {
          "name": "displacement-z",
          "syntax": "displacement-z",
          "description": "The z -component of accumulated displacement as a result of cycling."
        },
        {
          "name": "euler-x",
          "syntax": "euler-x",
          "description": "The x -euler angle (in degrees) of the current ball orientation. The orientation is updated only when orientation tracking has been enabled (see the model orientation-tracking command). See the euler keyword of the ball attribute command."
        },
        {
          "name": "euler-y",
          "syntax": "euler-y",
          "description": "The y -euler angle (in degrees) of the current ball orientation. The orientation is updated only when orientation tracking has been enabled (see the model orientation-tracking command). See the euler keyword of the ball attribute command."
        },
        {
          "name": "euler-z",
          "syntax": "euler-z",
          "description": "The z -euler angle (in degrees) of the current ball orientation. The orientation is updated only when orientation tracking has been enabled (see the model orientation-tracking command). See the euler keyword of the ball attribute command."
        },
        {
          "name": "force-contact",
          "syntax": "force-contact",
          "description": "The magnitude of the force resulting from contacts."
        },
        {
          "name": "force-contact-x",
          "syntax": "force-contact-x",
          "description": "The x -component of the contact force."
        },
        {
          "name": "force-contact-y",
          "syntax": "force-contact-y",
          "description": "The y -component of the contact force."
        },
        {
          "name": "force-contact-z",
          "syntax": "force-contact-z",
          "description": "The z -component of the contact force."
        },
        {
          "name": "force-unbalanced",
          "syntax": "force-unbalanced",
          "description": "The magnitude of the unbalanced force (sum of the applied, contact and gravitational forces)."
        },
        {
          "name": "force-unbalanced-x",
          "syntax": "force-unbalanced-x",
          "description": "The x -component of the unbalanced force."
        },
        {
          "name": "force-unbalanced-y",
          "syntax": "force-unbalanced-y",
          "description": "The y -component of the unbalanced force."
        },
        {
          "name": "force-unbalanced-z",
          "syntax": "force-unbalanced-z",
          "description": "The z -component of the unbalanced force."
        },
        {
          "name": "moment-contact",
          "syntax": "moment-contact",
          "description": "{Value in 2D; Magnitude in 3D} of the sum of the contact moments."
        },
        {
          "name": "moment-contact-x",
          "syntax": "moment-contact-x",
          "description": "The x -component of the contact moment."
        },
        {
          "name": "moment-contact-y",
          "syntax": "moment-contact-y",
          "description": "The y -component of the contact moment."
        },
        {
          "name": "moment-contact-z",
          "syntax": "moment-contact-z",
          "description": "The z -component of the contact moment."
        },
        {
          "name": "moment-unbalanced",
          "syntax": "moment-unbalanced",
          "description": "{Value in 2D; Magnitude in 3D} of the sum of the contact and applied moments."
        },
        {
          "name": "moment-unbalanced-x",
          "syntax": "moment-unbalanced-x",
          "description": "The x -component of the unbalanced moment."
        },
        {
          "name": "moment-unbalanced-y",
          "syntax": "moment-unbalanced-y",
          "description": "The y -component of the unbalanced moment."
        },
        {
          "name": "moment-unbalanced-z",
          "syntax": "moment-unbalanced-z",
          "description": "The z -component of the unbalanced moment."
        },
        {
          "name": "position-x",
          "syntax": "position-x",
          "description": "The x -component of the location of ball centroid."
        },
        {
          "name": "position-y",
          "syntax": "position-y",
          "description": "The y -component of the location of ball centroid."
        },
        {
          "name": "position-z",
          "syntax": "position-z",
          "description": "The z -component of the location of ball centroid."
        },
        {
          "name": "rotation",
          "syntax": "rotation",
          "description": "Current ball orientation. The orientation is updated only when orientation tracking has been enabled (see model orientation-tracking command)."
        },
        {
          "name": "spin",
          "syntax": "spin",
          "description": "{Value in 2D; Magnitude in 3D} of the ball angular velocity in radians per second."
        },
        {
          "name": "spin-x",
          "syntax": "spin-x",
          "description": "The x -component of the ball angular velocity in radians per second."
        },
        {
          "name": "spin-y",
          "syntax": "spin-y",
          "description": "The y -component of the ball angular velocity in radians per second."
        },
        {
          "name": "spin-z",
          "syntax": "spin-z",
          "description": "The z -component of the ball angular velocity in radians per second."
        },
        {
          "name": "velocity",
          "syntax": "velocity",
          "description": "Magnitude of the ball translational velocity vector."
        },
        {
          "name": "velocity-x",
          "syntax": "velocity-x",
          "description": "The x -component of the ball velocity."
        },
        {
          "name": "velocity-y",
          "syntax": "velocity-y",
          "description": "The y -component of the ball velocity."
        },
        {
          "name": "velocity-z",
          "syntax": "velocity-z",
          "description": "The z -component of the ball velocity."
        }
      ],
      "examples": [
        {
          "command": "ball history name 'ball_pos' position-x id 1",
          "description": "Record x-position of ball 1 with history name 'ball_pos'"
        },
        {
          "command": "ball history velocity-z id 100",
          "description": "Record z-velocity of ball 100 (auto-generated history name)"
        },
        {
          "command": "ball history force-unbalanced id 5",
          "description": "Record magnitude of unbalanced force on ball 5"
        },
        {
          "command": "ball history name 'center_ball' displacement position (0,0,0)",
          "description": "Record displacement magnitude of ball nearest to origin"
        },
        {
          "command": "ball history extra index 1 type float id 10",
          "description": "Record extra variable at index 1 (float type) for ball 10"
        }
      ]
    },
    "9.0": {
      "command": "ball history",
      "syntax": "ball history [name <sid>] keyword ...",
      "keywords": [
        {
          "name": "displacement",
          "syntax": "displacement [ballhistoryblock]",
          "description": "Magnitude of the accumulated ball displacement vector as a result of cycling."
        },
        {
          "name": "displacement-x",
          "syntax": "displacement-x [ballhistoryblock]",
          "description": "The \\(x\\) -component of accumulated displacement as a result of cycling."
        },
        {
          "name": "displacement-y",
          "syntax": "displacement-y [ballhistoryblock]",
          "description": "The \\(y\\) -component of accumulated displacement as a result of cycling."
        },
        {
          "name": "displacement-z",
          "syntax": "displacement-z 3D ONLY [ballhistoryblock]",
          "description": "The \\(z\\) -component of accumulated displacement as a result of cycling."
        },
        {
          "name": "euler-x",
          "syntax": "euler-x 3D ONLY [ballhistoryblock]",
          "description": "The \\(x\\) -euler angle (in degrees) of the current ball orientation. The orientation is updated only when orientation tracking has been enabled (see the model orientation-tracking command). See the euler keyword of the ball attribute command."
        },
        {
          "name": "euler-y",
          "syntax": "euler-y 3D ONLY [ballhistoryblock]",
          "description": "The \\(y\\) -euler angle (in degrees) of the current ball orientation. The orientation is updated only when orientation tracking has been enabled (see the model orientation-tracking command). See the euler keyword of the ball attribute command."
        },
        {
          "name": "euler-z",
          "syntax": "euler-z 3D ONLY [ballhistoryblock]",
          "description": "The \\(z\\) -euler angle (in degrees) of the current ball orientation. The orientation is updated only when orientation tracking has been enabled (see the model orientation-tracking command). See the euler keyword of the ball attribute command."
        },
        {
          "name": "extra",
          "syntax": "extra [ballhistoryblock]",
          "description": "Take a history of an extra variable. Use index to specify the extra index and type to specify the type."
        },
        {
          "name": "force-contact",
          "syntax": "force-contact [ballhistoryblock]",
          "description": "The magnitude of the force resulting from contacts."
        },
        {
          "name": "force-contact-x",
          "syntax": "force-contact-x [ballhistoryblock]",
          "description": "The \\(x\\) -component of the contact force."
        },
        {
          "name": "force-contact-y",
          "syntax": "force-contact-y [ballhistoryblock]",
          "description": "The \\(y\\) -component of the contact force."
        },
        {
          "name": "force-contact-z",
          "syntax": "force-contact-z 3D ONLY [ballhistoryblock]",
          "description": "The \\(z\\) -component of the contact force."
        },
        {
          "name": "force-unbalanced",
          "syntax": "force-unbalanced [ballhistoryblock]",
          "description": "The magnitude of the unbalanced force (sum of the applied, contact and gravitational forces)."
        },
        {
          "name": "force-unbalanced-x",
          "syntax": "force-unbalanced-x [ballhistoryblock]",
          "description": "The \\(x\\) -component of the unbalanced force."
        },
        {
          "name": "force-unbalanced-y",
          "syntax": "force-unbalanced-y [ballhistoryblock]",
          "description": "The \\(y\\) -component of the unbalanced force."
        },
        {
          "name": "force-unbalanced-z",
          "syntax": "force-unbalanced-z 3D ONLY [ballhistoryblock]",
          "description": "The \\(z\\) -component of the unbalanced force."
        },
        {
          "name": "moment-contact",
          "syntax": "moment-contact [ballhistoryblock]",
          "description": "{Value in 2D; Magnitude in 3D} of the sum of the contact moments."
        },
        {
          "name": "moment-contact-x",
          "syntax": "moment-contact-x 3D ONLY [ballhistoryblock]",
          "description": "The \\(x\\) -component of the contact moment."
        },
        {
          "name": "moment-contact-y",
          "syntax": "moment-contact-y 3D ONLY [ballhistoryblock]",
          "description": "The \\(y\\) -component of the contact moment."
        },
        {
          "name": "moment-contact-z",
          "syntax": "moment-contact-z 3D ONLY [ballhistoryblock]",
          "description": "The \\(z\\) -component of the contact moment."
        },
        {
          "name": "moment-unbalanced",
          "syntax": "moment-unbalanced [ballhistoryblock]",
          "description": "{Value in 2D; Magnitude in 3D} of the sum of the contact and applied moments."
        },
        {
          "name": "moment-unbalanced-x",
          "syntax": "moment-unbalanced-x 3D ONLY [ballhistoryblock]",
          "description": "The \\(x\\) -component of the unbalanced moment."
        },
        {
          "name": "moment-unbalanced-y",
          "syntax": "moment-unbalanced-y 3D ONLY [ballhistoryblock]",
          "description": "The \\(y\\) -component of the unbalanced moment."
        },
        {
          "name": "moment-unbalanced-z",
          "syntax": "moment-unbalanced-z 3D ONLY [ballhistoryblock]",
          "description": "The \\(z\\) -component of the unbalanced moment."
        },
        {
          "name": "position-x",
          "syntax": "position-x [ballhistoryblock]",
          "description": "The \\(x\\) -component of the location of ball centroid."
        },
        {
          "name": "position-y",
          "syntax": "position-y [ballhistoryblock]",
          "description": "The \\(y\\) -component of the location of ball centroid."
        },
        {
          "name": "position-z",
          "syntax": "position-z 3D ONLY [ballhistoryblock]",
          "description": "The \\(z\\) -component of the location of ball centroid."
        },
        {
          "name": "rotation",
          "syntax": "rotation 2D ONLY [ballhistoryblock]",
          "description": "Current ball orientation. The orientation is updated only when orientation tracking has been enabled (see model orientation-tracking command)."
        },
        {
          "name": "spin",
          "syntax": "spin [ballhistoryblock]",
          "description": "{Value in 2D; Magnitude in 3D} of the ball angular velocity in radians per second."
        },
        {
          "name": "spin-x",
          "syntax": "spin-x 3D ONLY [ballhistoryblock]",
          "description": "The \\(x\\) -component of the ball angular velocity in radians per second."
        },
        {
          "name": "spin-y",
          "syntax": "spin-y 3D ONLY [ballhistoryblock]",
          "description": "The \\(y\\) -component of the ball angular velocity in radians per second."
        },
        {
          "name": "spin-z",
          "syntax": "spin-z 3D ONLY [ballhistoryblock]",
          "description": "The \\(z\\) -component of the ball angular velocity in radians per second."
        },
        {
          "name": "stress",
          "syntax": "stress [ballhistoryblock]",
          "description": "The ball stress. Use the quantity keyword to specify the quantity to be recorded."
        },
        {
          "name": "velocity",
          "syntax": "velocity [ballhistoryblock]",
          "description": "Magnitude of the ball translational velocity vector."
        },
        {
          "name": "velocity-x",
          "syntax": "velocity-x [ballhistoryblock]",
          "description": "The \\(x\\) -component of the ball velocity."
        },
        {
          "name": "velocity-y",
          "syntax": "velocity-y [ballhistoryblock]",
          "description": "The \\(y\\) -component of the ball velocity."
        },
        {
          "name": "velocity-z",
          "syntax": "velocity-z 3D ONLY [ballhistoryblock]",
          "description": "The \\(z\\) -component of the ball velocity."
        },
        {
          "name": "magnitude",
          "syntax": "magnitude",
          "description": "This keyword selects which scalar to retrieve from a vector type value, such as velocity or displacement. If the value type is not a vector, this setting is ignored. The available options are: Record the \\(x\\) -component of the vector. Record the \\(y\\) -component of the vector. Record the \\(z\\) -component of the vector. Record the vector magnitude."
        },
        {
          "name": "kwd:id",
          "syntax": "id <i>",
          "description": "Record the history of ball with ID i ."
        },
        {
          "name": "kwd:index",
          "syntax": "index <i>",
          "description": "For keywords that require it (most notably extra ), this specifies the index that should be used."
        },
        {
          "name": "kwd:log",
          "syntax": "log <b>",
          "description": "If on , the returned number is the base 10 log of the absolute value of the original value. The default is off ."
        },
        {
          "name": "kwd:position",
          "syntax": "position <v>",
          "description": "Record the history of ball either containing or closest to position v ."
        },
        {
          "name": "zz",
          "syntax": "zz 3D ONLY",
          "description": "This keyword selects which scalar to retrieve from a symmetric tensor type value, such as stress or strain. If the value type is not a tensor, this setting is ignored. The available options are: Record the intermediate principal value of the tensor. Record the maximum (most positive) principal value of the tensor. Note that compressive stresses are negative . Record the mean value, defined as the trace of the tensor divided by { 2 in 2D; 3 in 3D}. For stresses this is most often referred to as the pressure. Record the minimum (most negative) principal value of the tensor. Note that compressive stresses are negative . Record the norm of the full tensor. This is defined as the sum of each tensor component squared. Record the octahedral measure of the tensor. Record the maximum shear value. Record the distance of the tensor value to the origin in principal space. Record the volumetric change, or trace of the tensor. Record the Von Mises measure. Record the xx -component of the tensor. Record the xy -component of the tensor. Record the xz -component of the tensor. Record the yy -component of the tensor. Record the yz -component of the tensor. Record the zz -component of the tensor."
        },
        {
          "name": "vector",
          "syntax": "vector",
          "description": "In certain cases the type (scalar, vector, or tensor) of the value cannot necessarily be determined ahead of time. Extra variables, for example, can hold values of all three types. This keyword allows one to specify which type it is assumed to be. If the original value type does not match, 0.0 is returned. Specify a scalar float type. Specify a tensor type. Specify a vector type."
        }
      ],
      "examples": [
        {
          "command": "ball history name 'ball_pos' position-x id 1",
          "description": "Record x-position of ball 1 with history name 'ball_pos'"
        },
        {
          "command": "ball history velocity-z id 100",
          "description": "Record z-velocity of ball 100 (auto-generated history name)"
        },
        {
          "command": "ball history force-unbalanced id 5",
          "description": "Record magnitude of unbalanced force on ball 5"
        },
        {
          "command": "ball history name 'center_ball' displacement position (0,0,0)",
          "description": "Record displacement magnitude of ball nearest to origin"
        },
        {
          "command": "ball history extra index 1 type float id 10",
          "description": "Record extra variable at index 1 (float type) for ball 10"
        }
      ]
    }
  }
}
