{
  "case": "geometric_nonlinear / Cook's membrane",
  "citation": "Cook, R.D. (1974); geometry per the widely used Cook 1974 tapered-panel benchmark",
  "reference_caveat": "The classical ~23.9 converged tip deflection figure applies to the LINEAR elastic 2D plane-stress version at unit load (E=1, nu=1/3, load=1); it is not a valid external ground truth for this geometric_nonlinear 3D-solid run at our load level (see module docstring). Validated via h-refinement mesh convergence instead, per the validation plan's documented fallback for this case.",
  "geometry": {
    "vertices": [
      [
        0,
        0
      ],
      [
        48.0,
        44.0
      ],
      [
        48.0,
        60.0
      ],
      [
        0,
        44.0
      ]
    ],
    "thickness_m": 1.0
  },
  "material": {
    "E_Pa": 1000000.0,
    "nu": 0.3
  },
  "load": {
    "traction_Pa": 500.0,
    "loaded_edge_area_m2": 16.0,
    "resultant_N": 8000.0
  },
  "tip_point_definition": "midpoint of the loaded (x=48) edge, y-component of displacement",
  "mesh_convergence": [
    {
      "size_factor": 1.5,
      "n_dofs": 247,
      "max_displacement_m": 0.24299533373605145,
      "max_von_mises_pa": 1878.747389891905,
      "tip_node_ref_xyz": [
        48.00000000000001,
        51.99999999998099,
        0.5000000000000002
      ],
      "tip_disp_xyz": [
        -0.08466312814274798,
        0.1887432166920733,
        -0.0015741817259142192
      ],
      "tip_dy": 0.1887432166920733,
      "elapsed_s": 3.6968791484832764
    },
    {
      "size_factor": 1.0,
      "n_dofs": 516,
      "max_displacement_m": 0.24553965888033774,
      "max_von_mises_pa": 1990.6108012635432,
      "tip_node_ref_xyz": [
        48.0,
        51.999999999981014,
        0.5
      ],
      "tip_disp_xyz": [
        -0.0849232885732052,
        0.18930564960919402,
        -0.000722116705762539
      ],
      "tip_dy": 0.18930564960919402,
      "elapsed_s": 4.788772106170654
    },
    {
      "size_factor": 0.7,
      "n_dofs": 1023,
      "max_displacement_m": 0.24703350746196875,
      "max_von_mises_pa": 2396.6826969273648,
      "tip_node_ref_xyz": [
        48.0,
        51.99999999998099,
        0.4999999999999999
      ],
      "tip_disp_xyz": [
        -0.08526500163306326,
        0.18988697995954537,
        -0.0008889580265186263
      ],
      "tip_dy": 0.18988697995954537,
      "elapsed_s": 6.915997505187988
    },
    {
      "size_factor": 0.5,
      "n_dofs": 1888,
      "max_displacement_m": 0.24851693597163813,
      "max_von_mises_pa": 2810.201412788005,
      "tip_node_ref_xyz": [
        48.00000000000001,
        51.99999999998102,
        0.5000000000000001
      ],
      "tip_disp_xyz": [
        -0.08540155403016798,
        0.19012176169024997,
        -0.002115507692482173
      ],
      "tip_dy": 0.19012176169024997,
      "elapsed_s": 11.092249631881714
    }
  ],
  "richardson_extrapolation": {
    "tip_dy_extrapolated": 0.19028082295307894
  },
  "self_convergence_pct": 0.12349019313586433,
  "pass": true,
  "pass_criterion": "relative change in tip_dy between the two finest meshes < 5% (mesh-convergence trend; no independent reference at this load level, see reference_caveat)"
}