{
  "frame_count": 120,
  "hardware": {
    "cuda_arch": 89,
    "device_name": "NVIDIA L40",
    "is_cuda": true,
    "nvidia_smi": "NVIDIA L40, 49140, 550.127.05",
    "platform": "Linux-5.15.0-170-generic-x86_64-with-glibc2.35",
    "processor": "x86_64",
    "python": "3.12.12",
    "total_memory_bytes": 50775588864,
    "warp_device": "cuda:0",
    "warp_version": "1.14.0rc2"
  },
  "rows": [
    {
      "case": "coarse",
      "edge_count": 0,
      "final_mean_damage": 0.12534459114074706,
      "frame_count": 120,
      "geometry": "cuboid",
      "iterations": 0,
      "mean_force_n": 311.24897311528525,
      "mean_step_ms": 295.129698383001,
      "method": "MPM",
      "particle_count": 200,
      "peak_force_n": 825.2311706542969,
      "sim_fps": 3.38834080568287,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 2,
      "tet_count": 0,
      "tri_count": 0,
      "wall_seconds": 35.41556380596012
    },
    {
      "case": "default",
      "edge_count": 0,
      "final_mean_damage": 0.21526349385579427,
      "frame_count": 120,
      "geometry": "cuboid",
      "iterations": 0,
      "mean_force_n": 1300.4494056661924,
      "mean_step_ms": 36.322146421298385,
      "method": "MPM",
      "particle_count": 2880,
      "peak_force_n": 2203.4332275390625,
      "sim_fps": 27.531412609845805,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 2,
      "tet_count": 0,
      "tri_count": 0,
      "wall_seconds": 4.358657570555806
    },
    {
      "case": "fine",
      "edge_count": 0,
      "final_mean_damage": 0.22592562573802294,
      "frame_count": 120,
      "geometry": "cuboid",
      "iterations": 0,
      "mean_force_n": 2187.444864455859,
      "mean_step_ms": 50.274080371794604,
      "method": "MPM",
      "particle_count": 11856,
      "peak_force_n": 3550.9580078125,
      "sim_fps": 19.890965535414004,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 2,
      "tet_count": 0,
      "tri_count": 0,
      "wall_seconds": 6.032889644615352
    },
    {
      "case": "coarse",
      "edge_count": 660,
      "final_mean_damage": 0.29657780040394177,
      "frame_count": 120,
      "geometry": "cuboid",
      "iterations": 6,
      "mean_force_n": 174.08513895521563,
      "mean_step_ms": 20.74689989288648,
      "method": "VBD",
      "particle_count": 330,
      "peak_force_n": 397.54071044921875,
      "sim_fps": 48.19997229286634,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 4,
      "tet_count": 1000,
      "tri_count": 440,
      "wall_seconds": 2.4896279871463776
    },
    {
      "case": "default",
      "edge_count": 1344,
      "final_mean_damage": 0.22506263369605656,
      "frame_count": 120,
      "geometry": "cuboid",
      "iterations": 8,
      "mean_force_n": 370.18023188064495,
      "mean_step_ms": 25.26767271726082,
      "method": "VBD",
      "particle_count": 840,
      "peak_force_n": 626.4542388916016,
      "sim_fps": 39.57626059153763,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 4,
      "tet_count": 2940,
      "tri_count": 896,
      "wall_seconds": 3.032120726071298
    },
    {
      "case": "fine",
      "edge_count": 2106,
      "final_mean_damage": 0.18023213838276111,
      "frame_count": 120,
      "geometry": "cuboid",
      "iterations": 8,
      "mean_force_n": 559.6983846127987,
      "mean_step_ms": 26.83426703636845,
      "method": "VBD",
      "particle_count": 1520,
      "peak_force_n": 762.2178039550781,
      "sim_fps": 37.265784030720916,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 4,
      "tet_count": 5670,
      "tri_count": 1404,
      "wall_seconds": 3.220112044364214
    },
    {
      "case": "cuboid",
      "edge_count": 1104,
      "final_mean_damage": 0.2603267609126984,
      "frame_count": 120,
      "geometry": "grid",
      "iterations": 10,
      "mean_force_n": 465.38580946500105,
      "mean_step_ms": 51.246291336913906,
      "method": "X-FEM",
      "particle_count": 630,
      "peak_force_n": 888.6627349853516,
      "sim_fps": 19.513607207702005,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 16,
      "tet_count": 2100,
      "tri_count": 736,
      "wall_seconds": 6.149554960429668
    },
    {
      "case": "paper shell",
      "edge_count": 1972,
      "final_mean_damage": 0.11183966874732255,
      "frame_count": 120,
      "geometry": "cloth_grid",
      "iterations": 10,
      "mean_force_n": 20.099262200622857,
      "mean_step_ms": 94.5284924392278,
      "method": "X-FEM",
      "particle_count": 693,
      "peak_force_n": 38.76659345626831,
      "sim_fps": 10.578820990326257,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 16,
      "tet_count": 0,
      "tri_count": 1280,
      "wall_seconds": 11.343419092707336
    },
    {
      "case": "hanging cloth",
      "edge_count": 3088,
      "final_mean_damage": 0.07646758691906817,
      "frame_count": 120,
      "geometry": "cloth_grid",
      "iterations": 10,
      "mean_force_n": 6.907891795079922,
      "mean_step_ms": 63.56260587150851,
      "method": "X-FEM",
      "particle_count": 1073,
      "peak_force_n": 14.562267482280731,
      "sim_fps": 15.732520501464254,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 16,
      "tet_count": 0,
      "tri_count": 2016,
      "wall_seconds": 7.627512704581022
    },
    {
      "case": "curved cloth",
      "edge_count": 5596,
      "final_mean_damage": 0.032008668973848416,
      "frame_count": 120,
      "geometry": "cloth_grid",
      "iterations": 10,
      "mean_force_n": 1.2449421231803475,
      "mean_step_ms": 98.37780085702737,
      "method": "X-FEM",
      "particle_count": 1925,
      "peak_force_n": 2.7525781989097595,
      "sim_fps": 10.164894836928728,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 16,
      "tet_count": 0,
      "tri_count": 3672,
      "wall_seconds": 11.805336102843285
    },
    {
      "case": "bread half-cylinder",
      "edge_count": 1386,
      "final_mean_damage": 0.748373157042765,
      "frame_count": 120,
      "geometry": "half_cylinder",
      "iterations": 10,
      "mean_force_n": 358.6975203037262,
      "mean_step_ms": 49.87759658445914,
      "method": "X-FEM",
      "particle_count": 882,
      "peak_force_n": 655.1164321899414,
      "sim_fps": 20.049081521132873,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 16,
      "tet_count": 3720,
      "tri_count": 924,
      "wall_seconds": 5.9853115901350975
    },
    {
      "case": "vegetable half-cylinder",
      "edge_count": 1938,
      "final_mean_damage": 0.5927163698595758,
      "frame_count": 120,
      "geometry": "half_cylinder",
      "iterations": 10,
      "mean_force_n": 980.089922384421,
      "mean_step_ms": 50.2823080557088,
      "method": "X-FEM",
      "particle_count": 1323,
      "peak_force_n": 1644.828971862793,
      "sim_fps": 19.887710780739805,
      "sim_seconds": 1.9999999999999978,
      "spring_count": 0,
      "substeps": 16,
      "tet_count": 5772,
      "tri_count": 1292,
      "wall_seconds": 6.033876966685057
    }
  ]
}