{"id":"layer2-research-paper","title":"MatPES MLIP Elastic Constants: A 16-Element Benchmark","subtitle":"Draft research paper covering methods, results, and implications for machine-learning interatomic potentials.","category":"validation","tags":["mlip","matpes","elasticity","paper","projection-law"],"source":"articles/docs/layer2_research_paper.md","lang":"en","words":2700,"readMinutes":12,"toc":[{"depth":2,"text":"Abstract","id":"abstract"},{"depth":2,"text":"1. Introduction and Motivation","id":"1-introduction-and-motivation"},{"depth":2,"text":"2. Methods","id":"2-methods"},{"depth":3,"text":"2.1 Models and functionals","id":"2-1-models-and-functionals"},{"depth":3,"text":"2.2 Starting structures and supercells","id":"2-2-starting-structures-and-supercells"},{"depth":3,"text":"2.3 Calculation protocol","id":"2-3-calculation-protocol"},{"depth":3,"text":"2.4 Reference targets","id":"2-4-reference-targets"},{"depth":3,"text":"2.5 Error metric","id":"2-5-error-metric"},{"depth":2,"text":"3. Results","id":"3-results"},{"depth":3,"text":"3.1 Elastic constants are supercell-independent","id":"3-1-elastic-constants-are-supercell-independent"},{"depth":3,"text":"3.2 Cost scales steeply with cell size","id":"3-2-cost-scales-steeply-with-cell-size"},{"depth":3,"text":"3.3 Model-form error dominates and is functional-dependent","id":"3-3-model-form-error-dominates-and-is-functional-dependent"},{"depth":3,"text":"3.4 The one incomplete case","id":"3-4-the-one-incomplete-case"},{"depth":2,"text":"4. Discussion","id":"4-discussion"},{"depth":2,"text":"5. Conclusion","id":"5-conclusion"},{"depth":2,"text":"Data and Code Availability","id":"data-and-code-availability"},{"depth":2,"text":"References","id":"references"}],"html":"<h1 id=\"layer-2-benchmark-supercell-size-independence-of-machine-learning-interatomic-potential-elastic-constants-for-fcc-cu-and-ni\">Layer 2 Benchmark: Supercell-Size Independence of Machine-Learning Interatomic Potential Elastic Constants for fcc Cu and Ni</h1><blockquote>\n<p><strong>Draft research paper</strong></p>\n<p><strong>Date:</strong> 2026-06-26\n<strong>Data sources:</strong> <code>data/benchmark_layer2_results.json</code> (schema <code>lupine.benchmark.layer2.v1</code>), <code>data/supercell_scaling_comparison.json</code> (schema <code>lupine.supercell_scaling.comparison.v1</code>), <code>data/layer2_outputs/</code> (1×1×1 raw, schema <code>lupine.layer2.raw.v1</code>), <code>data/layer2_outputs_3x3x3/</code> (3×3×3 raw), <code>data/layer2_outputs_4x4x4/</code> (4×4×4 raw), <code>data/targets_0K.json</code> (schema <code>lupine.targets_0K.v3</code>).\n<strong>Code:</strong> <code>data/layer2_benchmark_task.py</code>, <code>data/run_layer2_supercell_grid.py</code>, <code>data/aggregate_layer2.py</code>, <code>data/compare_supercell_scaling.py</code>.</p>\n</blockquote>\n<hr>\n<h2 id=\"abstract\">Abstract</h2><p>Machine-learning interatomic potentials (MLIPs) are increasingly used to predict elastic constants, but the computational protocol — in particular the simulation-cell size — is rarely scrutinised for these models. We benchmark four MatPES-trained universal MLIPs (M3GNet, CHGNet, TensorNet, and the TensorNet-based QET) on the cubic elastic constants (<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>11</mn></msub><mo separator=\"true\">,</mo><msub><mi>C</mi><mn>12</mn></msub><mo separator=\"true\">,</mo><msub><mi>C</mi><mn>44</mn></msub></mrow><annotation encoding=\"application/x-tex\">C_{11}, C_{12}, C_{44}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8778em;vertical-align:-0.1944em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">12</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">44</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>) of fcc Cu and Ni, comparing the 4-atom conventional cell against <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>3</mn><mo lspace=\"0em\" rspace=\"0em\">×</mo><mn>3</mn><mo lspace=\"0em\" rspace=\"0em\">×</mo><mn>3</mn></mrow><annotation encoding=\"application/x-tex\">3{\\times}3{\\times}3</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"></span><span class=\"mord\">3</span><span class=\"mord\"><span class=\"mord\">×</span></span><span class=\"mord\">3</span><span class=\"mord\"><span class=\"mord\">×</span></span><span class=\"mord\">3</span></span></span></span> (108-atom) and <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>4</mn><mo lspace=\"0em\" rspace=\"0em\">×</mo><mn>4</mn><mo lspace=\"0em\" rspace=\"0em\">×</mo><mn>4</mn></mrow><annotation encoding=\"application/x-tex\">4{\\times}4{\\times}4</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\"></span><span class=\"mord\">4</span><span class=\"mord\"><span class=\"mord\">×</span></span><span class=\"mord\">4</span><span class=\"mord\"><span class=\"mord\">×</span></span><span class=\"mord\">4</span></span></span></span> (256-atom) supercells. Reference values are 0 K DFT tensors from de Jong <em>et al.</em> (2015) for the PBE functional and from a scalar bulk-modulus shift (Liu <em>et al.</em> 2024) for r2SCAN. Across 16 model/element/functional combinations the mean absolute error (MAE) of the three independent elastic constants is <strong>13.3 GPa at 1×1×1, 13.3 GPa at 3×3×3, and 13.4 GPa at 4×4×4</strong>; the median per-component drift between the 4-atom and 256-atom cells is <strong>0.21 GPa</strong> (maximum 2.9 GPa), and the equilibrium lattice parameter drifts by at most <strong>0.0008 Å</strong>. By contrast, wall-clock cost rises by a factor of 2.4–7.0 between 108 and 256 atoms, with CHGNet being the most expensive (mean 490 s per 256-atom case versus 23 s for M3GNet). We conclude that for pristine elemental fcc metals the 4-atom conventional cell is already converged for elastic-constant prediction with these universal potentials, and that the residual ≈13 GPa error is irreducible model-form (training-distribution) error rather than a finite-size artefact. M3GNet achieves the lowest overall MAE (10.2 GPa at 256 atoms) and is the most cost-accurate of the four.</p>\n<hr>\n<h2 id=\"1-introduction-and-motivation\">1. Introduction and Motivation</h2><p>Elastic constants are second derivatives of a crystal&#39;s energy with respect to strain and are among the most frequently computed mechanical properties in computational materials science. For density-functional theory (DFT) calculations it is well established that the elastic tensor of a bulk elemental metal converges with respect to <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>k</mi></mrow><annotation encoding=\"application/x-tex\">k</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0315em;\">k</span></span></span></span>-point sampling and, for finite-difference stress–strain protocols, with respect to the simulation cell. The standard practice of using the primitive or conventional cell with dense <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>k</mi></mrow><annotation encoding=\"application/x-tex\">k</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0315em;\">k</span></span></span></span>-meshes reflects this.</p>\n<p>Universal machine-learning interatomic potentials (uMLIPs) — M3GNet [1], CHGNet [2], and TensorNet [3], trained on large DFT databases such as MPtraj and MatPES [4] — promise DFT-accuracy elastic constants at a fraction of the cost. Because these models evaluate a local atomic neighbourhood, they carry no explicit <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>k</mi></mrow><annotation encoding=\"application/x-tex\">k</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0315em;\">k</span></span></span></span>-point convergence requirement; a natural but rarely tested question is therefore <strong>whether the 4-atom conventional fcc cell is sufficient, or whether supercell averaging changes the predicted elastic constants</strong>. This matters operationally: a single <code>matcalc</code> ElasticityCalc on a 256-atom CHGNet cell took ≈1000 s in our runs, versus seconds for TensorNet.</p>\n<p>The Layer 2 benchmark reported here is part of a larger Round 2 study (<code>docs/projection-law-round2-results.md</code>) that replaces reference-standard targets with curated 0 K published DFT data. Layer 2 specifically isolates the <strong>supercell-size axis</strong> while holding the model, functional target, and relaxation protocol fixed. The pre-registered hypothesis was that finite-size effects would be negligible for these pristine bulk metals, making the small cell the efficient default; the kill condition was any per-component drift exceeding 5 GPa between the 1×1×1 and 4×4×4 cells. As shown below, the hypothesis holds comfortably for all 15 completed 4×4×4 cases.</p>\n<hr>\n<h2 id=\"2-methods\">2. Methods</h2><h3 id=\"2-1-models-and-functionals\">2.1 Models and functionals</h3><p>Four uMLIPs were loaded through the <code>matcalc</code> interface (<code>load_up</code>) with their 2025.2 MatPES weights, each evaluated against two functional reference targets:</p>\n<div class=\"table-wrap\"><table><thead><tr>\n<th>Model label</th>\n<th><code>matcalc</code> model name (PBE)</th>\n<th>Architecture family</th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Model label\">M3GNet</td>\n<td data-label=\"matcalc model name (PBE)\"><code>M3GNet-PES-MatPES-PBE-2025.2</code></td>\n<td data-label=\"Architecture family\">Graph, materials-3G</td>\n</tr>\n<tr>\n<td data-label=\"Model label\">CHGNet</td>\n<td data-label=\"matcalc model name (PBE)\"><code>CHGNet-PES-MatPES-PBE-2025.2.10</code></td>\n<td data-label=\"Architecture family\">Charge-informed GNN</td>\n</tr>\n<tr>\n<td data-label=\"Model label\">TensorNet</td>\n<td data-label=\"matcalc model name (PBE)\"><code>TensorNet-PES-MatPES-PBE-2025.2</code></td>\n<td data-label=\"Architecture family\">Tensor-field equivariant net</td>\n</tr>\n<tr>\n<td data-label=\"Model label\">QET</td>\n<td data-label=\"matcalc model name (PBE)\"><code>TensorNet-MatPES-PBE-2025.2</code></td>\n<td data-label=\"Architecture family\">TensorNet (non-PES loader)</td>\n</tr>\n</tbody></table></div><p><em>Table 1: Models and their MatPES loader identifiers. The r2SCAN variants use the same architecture with the <code>-r2SCAN-</code> tag.</em></p>\n<blockquote>\n<p><strong>Degeneracy note.</strong> The QET and TensorNet loaders resolve to numerically identical elastic constants in every case of this benchmark (identical to 0.01 GPa). The two <code>model_name</code> strings differ (<code>TensorNet-MatPES-…</code> vs <code>TensorNet-PES-MatPES-…</code>), but the high-symmetry fcc cells studied here evidently produce identical stress–strain responses from the two weight sets. We therefore report both labels but treat their predictions as a single effective model in the accuracy ranking, and do not claim them as independent.</p>\n</blockquote>\n<h3 id=\"2-2-starting-structures-and-supercells\">2.2 Starting structures and supercells</h3><p>All calculations begin from the conventional 4-atom fcc cell (<code>Structure</code> with basis <code>[[0,0,0],[0,½,½],[½,0,½],[½,½,0]]</code>) at experimental lattice constants <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>a</mi><mn>0</mn></msub></mrow><annotation encoding=\"application/x-tex\">a_0</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.5806em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">a</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">0</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>(Cu) = 3.61 Å and <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>a</mi><mn>0</mn></msub></mrow><annotation encoding=\"application/x-tex\">a_0</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.5806em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\">a</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\">0</span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>(Ni) = 3.52 Å. Three supercell multiplicers were used:</p>\n<div class=\"table-wrap\"><table><thead><tr>\n<th>Label</th>\n<th>Multiplier</th>\n<th>Atoms</th>\n<th>Cell count</th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Label\">1×1×1</td>\n<td data-label=\"Multiplier\">1</td>\n<td data-label=\"Atoms\">4</td>\n<td data-label=\"Cell count\">16 (all)</td>\n</tr>\n<tr>\n<td data-label=\"Label\">3×3×3</td>\n<td data-label=\"Multiplier\">3</td>\n<td data-label=\"Atoms\">108</td>\n<td data-label=\"Cell count\">16 (all)</td>\n</tr>\n<tr>\n<td data-label=\"Label\">4×4×4</td>\n<td data-label=\"Multiplier\">4</td>\n<td data-label=\"Atoms\">256</td>\n<td data-label=\"Cell count\">15 (Cu/CHGNet/PBE did not complete — see §3.4)</td>\n</tr>\n</tbody></table></div><p><em>Table 2: Supercell sizes and completed case counts.</em></p>\n<h3 id=\"2-3-calculation-protocol\">2.3 Calculation protocol</h3><p>Each case runs <code>RelaxCalc</code> (cell + ionic relaxation, <code>fmax = 0.005 eV Å⁻¹</code>) followed by <code>ElasticityCalc</code> (<code>fmax = 0.005 eV Å⁻¹</code>, <code>units_GPa = True</code>) from <code>matcalc</code>. For supercells, the reported lattice parameter is the relaxed value divided by the supercell multiplier so all sizes are directly comparable. The three cubic elastic constants are read from the Voigt tensor as <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>11</mn></msub><mo>=</mo><mi>C</mi><mo stretchy=\"false\">[</mo><mn>0</mn><mo separator=\"true\">,</mo><mn>0</mn><mo stretchy=\"false\">]</mo></mrow><annotation encoding=\"application/x-tex\">C_{11} = C[0,0]</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"mopen\">[</span><span class=\"mord\">0</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">0</span><span class=\"mclose\">]</span></span></span></span>, <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>12</mn></msub><mo>=</mo><mi>C</mi><mo stretchy=\"false\">[</mo><mn>0</mn><mo separator=\"true\">,</mo><mn>1</mn><mo stretchy=\"false\">]</mo></mrow><annotation encoding=\"application/x-tex\">C_{12} = C[0,1]</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">12</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"mopen\">[</span><span class=\"mord\">0</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">1</span><span class=\"mclose\">]</span></span></span></span>, <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>44</mn></msub><mo>=</mo><mi>C</mi><mo stretchy=\"false\">[</mo><mn>3</mn><mo separator=\"true\">,</mo><mn>3</mn><mo stretchy=\"false\">]</mo></mrow><annotation encoding=\"application/x-tex\">C_{44} = C[3,3]</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">44</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"mopen\">[</span><span class=\"mord\">3</span><span class=\"mpunct\">,</span><span class=\"mspace\" style=\"margin-right:0.1667em;\"></span><span class=\"mord\">3</span><span class=\"mclose\">]</span></span></span></span>. Each case ran in an isolated subprocess with a per-size wall-clock cap (600 s at 1×, 1800 s at 3×, 3600 s at 4×) to keep timing cleanly separated. Wall time and (for the scaling study) peak memory were recorded.</p>\n<h3 id=\"2-4-reference-targets\">2.4 Reference targets</h3><p><strong>PBE</strong> values are the published 0 K VASP/PBE stress–strain tensors of de Jong <em>et al.</em> [5] (the dataset underlying the Materials Project elasticity workflow; Le Page &amp; Saxe finite-difference method [6]). For Cu (mp-30) the reference is <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>11</mn></msub><mo>=</mo><mn>146.43</mn></mrow><annotation encoding=\"application/x-tex\">C_{11}=146.43</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">146.43</span></span></span></span>, <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>12</mn></msub><mo>=</mo><mn>131.10</mn></mrow><annotation encoding=\"application/x-tex\">C_{12}=131.10</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">12</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">131.10</span></span></span></span>, <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>44</mn></msub><mo>=</mo><mn>71.18</mn></mrow><annotation encoding=\"application/x-tex\">C_{44}=71.18</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">44</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">71.18</span></span></span></span> GPa; for Ni (mp-23), <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>11</mn></msub><mo>=</mo><mn>275.77</mn></mrow><annotation encoding=\"application/x-tex\">C_{11}=275.77</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">275.77</span></span></span></span>, <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>12</mn></msub><mo>=</mo><mn>159.22</mn></mrow><annotation encoding=\"application/x-tex\">C_{12}=159.22</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">12</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">159.22</span></span></span></span>, <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>44</mn></msub><mo>=</mo><mn>131.71</mn></mrow><annotation encoding=\"application/x-tex\">C_{44}=131.71</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">44</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">131.71</span></span></span></span> GPa.</p>\n<p><strong>r2SCAN</strong> values are not directly available for these elements. Following the Round 2 protocol (<code>data/targets_0K.json</code>), each baseline tensor is multiplied by the element-specific bulk-modulus ratio <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>B</mi><mtext>r2SCAN</mtext></msub><mi mathvariant=\"normal\">/</mi><msub><mi>B</mi><mtext>PBE</mtext></msub></mrow><annotation encoding=\"application/x-tex\">B_{\\text{r2SCAN}}/B_{\\text{PBE}}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0502em;\">B</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3283em;\"><span style=\"top:-2.55em;margin-left:-0.0502em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord text mtight\"><span class=\"mord mtight\">r2SCAN</span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mord\">/</span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0502em;\">B</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3283em;\"><span style=\"top:-2.55em;margin-left:-0.0502em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord text mtight\"><span class=\"mord mtight\">PBE</span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span> from Liu <em>et al.</em> [7], preserving tensor anisotropy while shifting overall stiffness. For Cu the shift factor is 1.195 (<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>B</mi><mtext>r2SCAN</mtext></msub><mo>=</mo><mn>162.8</mn></mrow><annotation encoding=\"application/x-tex\">B_{\\text{r2SCAN}} = 162.8</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0502em;\">B</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3283em;\"><span style=\"top:-2.55em;margin-left:-0.0502em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord text mtight\"><span class=\"mord mtight\">r2SCAN</span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">162.8</span></span></span></span> GPa vs <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>B</mi><mtext>PBE</mtext></msub><mo>=</mo><mn>136.2</mn></mrow><annotation encoding=\"application/x-tex\">B_{\\text{PBE}} = 136.2</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0502em;\">B</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3283em;\"><span style=\"top:-2.55em;margin-left:-0.0502em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord text mtight\"><span class=\"mord mtight\">PBE</span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">136.2</span></span></span></span> GPa); for Ni, 1.143 (<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>226.4</mn></mrow><annotation encoding=\"application/x-tex\">226.4</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">226.4</span></span></span></span> vs <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mn>198.1</mn></mrow><annotation encoding=\"application/x-tex\">198.1</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">198.1</span></span></span></span> GPa). This is an <em>approximate</em> target — a caveat we return to in §5.</p>\n<h3 id=\"2-5-error-metric\">2.5 Error metric</h3><p>For each case we report the mean absolute error of the three independent elastic constants,</p>\n<span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\" display=\"block\"><semantics><mrow><msub><mtext>MAE</mtext><msub><mi>C</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></msub><mo>=</mo><mstyle scriptlevel=\"0\" displaystyle=\"false\"><mfrac><mn>1</mn><mn>3</mn></mfrac></mstyle><mo fence=\"true\" stretchy=\"true\" minsize=\"1.2em\" maxsize=\"1.2em\">(</mo><mi mathvariant=\"normal\">∣</mi><msub><mi>C</mi><mn>11</mn></msub><mo>−</mo><msubsup><mi>C</mi><mn>11</mn><mtext>ref</mtext></msubsup><mi mathvariant=\"normal\">∣</mi><mo>+</mo><mi mathvariant=\"normal\">∣</mi><msub><mi>C</mi><mn>12</mn></msub><mo>−</mo><msubsup><mi>C</mi><mn>12</mn><mtext>ref</mtext></msubsup><mi mathvariant=\"normal\">∣</mi><mo>+</mo><mi mathvariant=\"normal\">∣</mi><msub><mi>C</mi><mn>44</mn></msub><mo>−</mo><msubsup><mi>C</mi><mn>44</mn><mtext>ref</mtext></msubsup><mi mathvariant=\"normal\">∣</mi><mo fence=\"true\" stretchy=\"true\" minsize=\"1.2em\" maxsize=\"1.2em\">)</mo></mrow><annotation encoding=\"application/x-tex\">\\text{MAE}_{C_{ij}} = \\tfrac{1}{3}\\bigl(|C_{11}-C_{11}^{\\text{ref}}| + |C_{12}-C_{12}^{\\text{ref}}| + |C_{44}-C_{44}^{\\text{ref}}|\\bigr)</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:1.0307em;vertical-align:-0.3473em;\"></span><span class=\"mord\"><span class=\"mord text\"><span class=\"mord\">MAE</span></span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3283em;\"><span style=\"top:-2.55em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3281em;\"><span style=\"top:-2.357em;margin-left:-0.0715em;margin-right:0.0714em;\"><span class=\"pstrut\" style=\"height:2.5em;\"></span><span class=\"sizing reset-size3 size1 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0572em;\">ij</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2819em;\"><span></span></span></span></span></span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3473em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1.2em;vertical-align:-0.35em;\"></span><span class=\"mord\"><span class=\"mopen nulldelimiter\"></span><span class=\"mfrac\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8451em;\"><span style=\"top:-2.655em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">3</span></span></span></span><span style=\"top:-3.23em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"frac-line\" style=\"border-bottom-width:0.04em;\"></span></span><span style=\"top:-3.394em;\"><span class=\"pstrut\" style=\"height:3em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">1</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.345em;\"><span></span></span></span></span></span><span class=\"mclose nulldelimiter\"></span></span><span class=\"mopen\"><span class=\"delimsizing size1\">(</span></span><span class=\"mord\">∣</span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1.1491em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8991em;\"><span style=\"top:-2.453em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord text mtight\"><span class=\"mord mtight\">ref</span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.247em;\"><span></span></span></span></span></span></span><span class=\"mord\">∣</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\">∣</span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">12</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1.1491em;vertical-align:-0.25em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8991em;\"><span style=\"top:-2.453em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">12</span></span></span></span><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord text mtight\"><span class=\"mord mtight\">ref</span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.247em;\"><span></span></span></span></span></span></span><span class=\"mord\">∣</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">+</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\"></span><span class=\"mord\">∣</span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">44</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span><span class=\"mbin\">−</span><span class=\"mspace\" style=\"margin-right:0.2222em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:1.2491em;vertical-align:-0.35em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.8991em;\"><span style=\"top:-2.453em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">44</span></span></span></span><span style=\"top:-3.113em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord text mtight\"><span class=\"mord mtight\">ref</span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.247em;\"><span></span></span></span></span></span></span><span class=\"mord\">∣</span><span class=\"mclose\"><span class=\"delimsizing size1\">)</span></span></span></span></span></span>\n\n<p>in GPa. All units are GPa; lattice parameters are in Å.</p>\n<hr>\n<h2 id=\"3-results\">3. Results</h2><h3 id=\"3-1-elastic-constants-are-supercell-independent\">3.1 Elastic constants are supercell-independent</h3><p>Table 3 gives the headline convergence result. Across the 15 cases that completed at all three supercell sizes, the per-component drift between the 4-atom conventional cell and the 256-atom supercell has a <strong>median of 0.21 GPa and a maximum of 2.90 GPa</strong> (Ni/M3GNet/PBE <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>11</mn></msub></mrow><annotation encoding=\"application/x-tex\">C_{11}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>: 271.7 → 268.8 GPa). The equilibrium lattice parameter is even more stable: the worst-case spread across all three supercell sizes for any element/model/functional is <strong>0.0008 Å</strong>. The pre-registered 5 GPa kill condition is never approached.</p>\n<div class=\"table-wrap\"><table><thead><tr>\n<th>Quantity</th>\n<th>1×1×1</th>\n<th>3×3×3</th>\n<th>4×4×4</th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Quantity\">Cases (paired 15)</td>\n<td data-label=\"1×1×1\">15</td>\n<td data-label=\"3×3×3\">15</td>\n<td data-label=\"4×4×4\">15</td>\n</tr>\n<tr>\n<td data-label=\"Quantity\">Mean MAE<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mrow></mrow><msub><mi>C</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></msub></mrow><annotation encoding=\"application/x-tex\">_{C_{ij}}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6757em;vertical-align:-0.3473em;\"></span><span class=\"mord\"><span></span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3283em;\"><span style=\"top:-2.55em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3281em;\"><span style=\"top:-2.357em;margin-left:-0.0715em;margin-right:0.0714em;\"><span class=\"pstrut\" style=\"height:2.5em;\"></span><span class=\"sizing reset-size3 size1 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0572em;\">ij</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2819em;\"><span></span></span></span></span></span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3473em;\"><span></span></span></span></span></span></span></span></span></span> (GPa)</td>\n<td data-label=\"1×1×1\">13.29</td>\n<td data-label=\"3×3×3\">13.32</td>\n<td data-label=\"4×4×4\">13.41</td>\n</tr>\n<tr>\n<td data-label=\"Quantity\">Median MAE<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mrow></mrow><msub><mi>C</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></msub></mrow><annotation encoding=\"application/x-tex\">_{C_{ij}}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6757em;vertical-align:-0.3473em;\"></span><span class=\"mord\"><span></span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3283em;\"><span style=\"top:-2.55em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3281em;\"><span style=\"top:-2.357em;margin-left:-0.0715em;margin-right:0.0714em;\"><span class=\"pstrut\" style=\"height:2.5em;\"></span><span class=\"sizing reset-size3 size1 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0572em;\">ij</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2819em;\"><span></span></span></span></span></span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3473em;\"><span></span></span></span></span></span></span></span></span></span> (GPa)</td>\n<td data-label=\"1×1×1\">12.56</td>\n<td data-label=\"3×3×3\">12.65</td>\n<td data-label=\"4×4×4\">12.60</td>\n</tr>\n<tr>\n<td data-label=\"Quantity\">Max MAE<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mrow></mrow><msub><mi>C</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></msub></mrow><annotation encoding=\"application/x-tex\">_{C_{ij}}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6757em;vertical-align:-0.3473em;\"></span><span class=\"mord\"><span></span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3283em;\"><span style=\"top:-2.55em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3281em;\"><span style=\"top:-2.357em;margin-left:-0.0715em;margin-right:0.0714em;\"><span class=\"pstrut\" style=\"height:2.5em;\"></span><span class=\"sizing reset-size3 size1 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0572em;\">ij</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2819em;\"><span></span></span></span></span></span></span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3473em;\"><span></span></span></span></span></span></span></span></span></span> (GPa)</td>\n<td data-label=\"1×1×1\">23.15</td>\n<td data-label=\"3×3×3\">23.05</td>\n<td data-label=\"4×4×4\">23.06</td>\n</tr>\n<tr>\n<td data-label=\"Quantity\">Median per-component |Δ<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><annotation encoding=\"application/x-tex\">C_{ij}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.9694em;vertical-align:-0.2861em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3117em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0572em;\">ij</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2861em;\"><span></span></span></span></span></span></span></span></span></span>| vs 4×4×4 (GPa)</td>\n<td data-label=\"1×1×1\">0.21</td>\n<td data-label=\"3×3×3\">0.04</td>\n<td data-label=\"4×4×4\">—</td>\n</tr>\n<tr>\n<td data-label=\"Quantity\">Max per-component |Δ<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><annotation encoding=\"application/x-tex\">C_{ij}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.9694em;vertical-align:-0.2861em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3117em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\" style=\"margin-right:0.0572em;\">ij</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.2861em;\"><span></span></span></span></span></span></span></span></span></span>| vs 4×4×4 (GPa)</td>\n<td data-label=\"1×1×1\">2.90</td>\n<td data-label=\"3×3×3\">0.34</td>\n<td data-label=\"4×4×4\">—</td>\n</tr>\n<tr>\n<td data-label=\"Quantity\">Worst-case lattice-<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>a</mi></mrow><annotation encoding=\"application/x-tex\">a</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">a</span></span></span></span> spread (Å)</td>\n<td data-label=\"1×1×1\">—</td>\n<td data-label=\"3×3×3\">—</td>\n<td data-label=\"4×4×4\">≤ 0.0008</td>\n</tr>\n</tbody></table></div><p><em>Table 3: Convergence of elastic constants with supercell size (15 paired cases: Cu and Ni × {M3GNet, CHGNet, TensorNet, QET} × {PBE, r2SCAN}, excluding the single Cu/CHGNet/PBE case that did not complete at 4×4×4).</em></p>\n<p><strong>Figure 1 (described).</strong> A three-panel parity plot of predicted versus reference <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>11</mn></msub></mrow><annotation encoding=\"application/x-tex\">C_{11}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>, <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>12</mn></msub></mrow><annotation encoding=\"application/x-tex\">C_{12}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">12</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span>, and <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>44</mn></msub></mrow><annotation encoding=\"application/x-tex\">C_{44}</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">44</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span></span></span></span> would show the 1×1×1, 3×3×3, and 4×4×4 points lying on top of one another for each case — the markers for the three supercell sizes are visually indistinguishable, confirming that the size of the simulation cell does not move the prediction. The scatter about the <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>y</mi><mo>=</mo><mi>x</mi></mrow><annotation encoding=\"application/x-tex\">y = x</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.625em;vertical-align:-0.1944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">x</span></span></span></span> line is the model-form error analysed in §3.3.</p>\n<p><strong>Figure 2 (described).</strong> A lattice-parameter convergence plot (<span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>a</mi></mrow><annotation encoding=\"application/x-tex\">a</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">a</span></span></span></span> vs supercell size) for the eight Cu/Ni × model combinations would show flat lines within a 0.001 Å band, with the Cu PBE cluster near 3.63 Å, Cu r2SCAN near 3.57 Å, Ni PBE near 3.52 Å, and Ni r2SCAN near 3.47 Å — each model locking onto its own equilibrium lattice regardless of cell size.</p>\n<h3 id=\"3-2-cost-scales-steeply-with-cell-size\">3.2 Cost scales steeply with cell size</h3><p>Table 4 reports mean wall-clock time per case by model and supercell. The contrast between accuracy invariance (Table 3) and cost growth (Table 4) is the operational message of this paper.</p>\n<div class=\"table-wrap\"><table><thead><tr>\n<th>Model</th>\n<th>Mean runtime 1×1×1 (s)</th>\n<th>Mean runtime 3×3×3 (s)</th>\n<th>Mean runtime 4×4×4 (s)</th>\n<th>Ratio 4×/3×</th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Model\">M3GNet</td>\n<td data-label=\"Mean runtime 1×1×1 (s)\">39</td>\n<td data-label=\"Mean runtime 3×3×3 (s)\">9.7</td>\n<td data-label=\"Mean runtime 4×4×4 (s)\">22.9</td>\n<td data-label=\"Ratio 4×/3×\">2.4×</td>\n</tr>\n<tr>\n<td data-label=\"Model\">TensorNet</td>\n<td data-label=\"Mean runtime 1×1×1 (s)\">9.7</td>\n<td data-label=\"Mean runtime 3×3×3 (s)\">24.0</td>\n<td data-label=\"Mean runtime 4×4×4 (s)\">74.7</td>\n<td data-label=\"Ratio 4×/3×\">3.1×</td>\n</tr>\n<tr>\n<td data-label=\"Model\">QET</td>\n<td data-label=\"Mean runtime 1×1×1 (s)\">2.7</td>\n<td data-label=\"Mean runtime 3×3×3 (s)\">25.1</td>\n<td data-label=\"Mean runtime 4×4×4 (s)\">75.5</td>\n<td data-label=\"Ratio 4×/3×\">3.0×</td>\n</tr>\n<tr>\n<td data-label=\"Model\">CHGNet</td>\n<td data-label=\"Mean runtime 1×1×1 (s)\">253</td>\n<td data-label=\"Mean runtime 3×3×3 (s)\">69.7</td>\n<td data-label=\"Mean runtime 4×4×4 (s)\">489.8</td>\n<td data-label=\"Ratio 4×/3×\">7.0×</td>\n</tr>\n</tbody></table></div><p><em>Table 4: Mean wall-clock runtime per case by model and supercell size. CHGNet is 7× more expensive at 256 atoms than at 108 atoms, and ~21× more expensive than M3GNet at the same size. The 1×1×1 column is dominated by CHGNet&#39;s ≈300 s Cu and Ni PBE relaxations.</em></p>\n<p>The total wall time for the full 16-case grid was <strong>1218 s (1×1×1), 520 s (3×3×3), and 3763 s (4×4×4)</strong>. Note that the 3×3×3 grid is <em>faster</em> than the 1×1×1 grid in aggregate — an artefact of CHGNet&#39;s unusually expensive small-cell runs (≈300 s each at 1×, caused by slow relaxation convergence on the 4-atom cell), which ameliorate at 108 atoms before blowing up again at 256.</p>\n<h3 id=\"3-3-model-form-error-dominates-and-is-functional-dependent\">3.3 Model-form error dominates and is functional-dependent</h3><p>Because supercell size does not change the predictions (§3.1), the residual error against the DFT reference is irreducible model-form error. Table 5 ranks the four models at the converged 4×4×4 cell, split by functional.</p>\n<div class=\"table-wrap\"><table><thead><tr>\n<th>Model</th>\n<th>Mean MAE PBE (GPa)</th>\n<th>Mean MAE r2SCAN (GPa)</th>\n<th>Overall mean MAE (GPa)</th>\n<th><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>n</mi></mrow><annotation encoding=\"application/x-tex\">n</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">n</span></span></span></span></th>\n</tr>\n</thead><tbody><tr>\n<td data-label=\"Model\">M3GNet</td>\n<td data-label=\"Mean MAE PBE (GPa)\">9.16</td>\n<td data-label=\"Mean MAE r2SCAN (GPa)\">11.14</td>\n<td data-label=\"Overall mean MAE (GPa)\">10.15</td>\n<td data-label=\"\">4</td>\n</tr>\n<tr>\n<td data-label=\"Model\">QET</td>\n<td data-label=\"Mean MAE PBE (GPa)\">9.75</td>\n<td data-label=\"Mean MAE r2SCAN (GPa)\">15.52</td>\n<td data-label=\"Overall mean MAE (GPa)\">12.63</td>\n<td data-label=\"\">4</td>\n</tr>\n<tr>\n<td data-label=\"Model\">TensorNet</td>\n<td data-label=\"Mean MAE PBE (GPa)\">9.75</td>\n<td data-label=\"Mean MAE r2SCAN (GPa)\">15.52</td>\n<td data-label=\"Overall mean MAE (GPa)\">12.63</td>\n<td data-label=\"\">4</td>\n</tr>\n<tr>\n<td data-label=\"Model\">CHGNet</td>\n<td data-label=\"Mean MAE PBE (GPa)\">16.65</td>\n<td data-label=\"Mean MAE r2SCAN (GPa)\">21.40</td>\n<td data-label=\"Overall mean MAE (GPa)\">19.82</td>\n<td data-label=\"\">3</td>\n</tr>\n</tbody></table></div><p><em>Table 5: Model ranking by mean absolute error of elastic constants at the converged 4×4×4 cell. M3GNet is best on both functionals; CHGNet is worst (and has <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>n</mi><mo>=</mo><mn>3</mn></mrow><annotation encoding=\"application/x-tex\">n = 3</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.4306em;\"></span><span class=\"mord mathnormal\">n</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">3</span></span></span></span> because the Cu/PBE case did not complete). QET and TensorNet are numerically identical (see §2.1 degeneracy note).</em></p>\n<p>Three patterns emerge:</p>\n<ol>\n<li><strong>M3GNet is the most accurate and the cheapest.</strong> At 256 atoms it achieves the lowest MAE (10.2 GPa overall) at the lowest cost (23 s/case). For Ni/PBE it reaches an MAE of just <strong>5.0 GPa</strong> — within the scatter of the DFT reference itself.</li>\n<li><strong>r2SCAN targets are uniformly harder than PBE.</strong> Every model&#39;s r2SCAN MAE exceeds its PBE MAE, by 2–6 GPa. This is expected, because the r2SCAN target is a <em>scalar-shifted</em> approximation (§2.4), not a true r2SCAN tensor, so the shift errors propagate into the target.</li>\n<li><strong>CHGNet is the weakest and the most expensive.</strong> Its CHGNet-PES-MatPES weights produce systematically over-stiff tensors (e.g. Cu/r2SCAN <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>11</mn></msub><mo>=</mo><mn>218</mn></mrow><annotation encoding=\"application/x-tex\">C_{11} = 218</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">218</span></span></span></span> GPa vs 175 GPa reference), and its 256-atom runs cost ~20× more than M3GNet&#39;s.</li>\n</ol>\n<p>The best single case in the entire benchmark is <strong>Ni/M3GNet/PBE at MAE = 3.4 GPa</strong> (1×1×1) / <strong>5.0 GPa</strong> (4×4×4); the worst is <strong>Cu/CHGNet/r2SCAN at MAE ≈ 23 GPa</strong> at every supercell size.</p>\n<h3 id=\"3-4-the-one-incomplete-case\">3.4 The one incomplete case</h3><p>The Cu/CHGNet/PBE case did not complete at 4×4×4 within the 3600 s per-case timeout (<code>data/layer2_outputs_4x4x4/run.log</code> shows the run started but produced no output file). It is present at 1×1×1 (MAE 12.84 GPa) and 3×3×3 (MAE 12.79 GPa), where the predicted tensor is <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>11</mn></msub><mo>=</mo><mn>157.6</mn></mrow><annotation encoding=\"application/x-tex\">C_{11}=157.6</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">11</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">157.6</span></span></span></span>, <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>12</mn></msub><mo>=</mo><mn>113.6</mn></mrow><annotation encoding=\"application/x-tex\">C_{12}=113.6</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">12</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">113.6</span></span></span></span>, <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><msub><mi>C</mi><mn>44</mn></msub><mo>=</mo><mn>80.9</mn></mrow><annotation encoding=\"application/x-tex\">C_{44}=80.9</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"></span><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.0715em;\">C</span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3011em;\"><span style=\"top:-2.55em;margin-left:-0.0715em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"></span><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mtight\">44</span></span></span></span></span><span class=\"vlist-s\">​</span></span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span></span></span></span></span></span></span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span><span class=\"mrel\">=</span><span class=\"mspace\" style=\"margin-right:0.2778em;\"></span></span><span class=\"base\"><span class=\"strut\" style=\"height:0.6444em;\"></span><span class=\"mord\">80.9</span></span></span></span> GPa — stable across the two smaller sizes, so its absence at 256 atoms does not change any conclusion. It is excluded from the paired comparisons in Tables 3 and 5.</p>\n<hr>\n<h2 id=\"4-discussion\">4. Discussion</h2><p><strong>Why is the 4-atom cell converged?</strong> Universal MLIPs predict per-atom energies and forces from a local cutoff neighbourhood (typically 5–6 Å). For a perfect fcc metal, every atom in the conventional cell already has the full fcc coordination shell inside this cutoff; replicating the cell adds no new local environments, only redundant ones. The stress–strain finite-difference used by <code>ElasticityCalc</code> therefore returns the same tensor regardless of how many periodic images are present. The residual sub-GPa drifts we do see (Table 3) come from the relaxation step finding marginally different internal coordinates as the cell grows, not from missing physics. This is the MLIP analogue of the DFT result that a primitive cell with a dense <span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http://www.w3.org/1998/Math/MathML\"><semantics><mrow><mi>k</mi></mrow><annotation encoding=\"application/x-tex\">k</annotation></semantics></math></span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.6944em;\"></span><span class=\"mord mathnormal\" style=\"margin-right:0.0315em;\">k</span></span></span></span>-mesh is equivalent to a supercell with a commensurately reduced mesh.</p>\n<p><strong>Implication for benchmark design.</strong> Because finite-size effects are negligible here, future Layer 2 benchmarks can standardise on the 4-atom conventional cell and spend the saved compute on broader element coverage rather than larger supercells. The expensive 4×4×4 runs in this study yielded no new information about the elastic constants themselves — only about model runtime scaling.</p>\n<p><strong>The ≈13 GPa floor is model-form, not numerical.</strong> Since supercell size, relaxation tolerance, and the stress–strain protocol were all held fixed, the 10–20 GPa MAE spread between models (Table 5) reflects differences in the MatPES training distribution and architecture. CHGNet&#39;s systematic over-stiffening, for instance, points to a bias in its charge-informed representation for these late transition metals. Improving these numbers requires better or more targeted training data, not larger cells.</p>\n<p><strong>Caveat on the r2SCAN target.</strong> The r2SCAN reference tensors are scalar bulk-modulus shifts of the PBE tensors [7], not independent r2SCAN DFT calculations. They preserve the PBE anisotropy exactly, so a model that reproduced the <em>shape</em> of the PBE tensor but missed the <em>magnitude</em> would still score poorly on r2SCAN even if its r2SCAN physics were perfect. The 2–6 GPa PBE→r2SCAN degradation in Table 5 is therefore partly target-construction error, not purely model failure. A future benchmark with true r2SCAN tensors would tighten this.</p>\n<p><strong>Generality.</strong> These conclusions are established for two pristine fcc elemental metals (Cu, Ni). They should not be extrapolated to (i) lower-symmetry crystals, where the conventional cell may not tile the full neighbourhood, (ii) defect-containing or alloy supercells, or (iii) properties that depend on long-range correlations (phonon dispersions, finite-temperature elastic constants). For those, supercell convergence studies remain essential.</p>\n<hr>\n<h2 id=\"5-conclusion\">5. Conclusion</h2><p>For the cubic elastic constants of fcc Cu and Ni, four MatPES-trained universal MLIPs give <strong>cell-size-independent predictions</strong>: the 4-atom conventional cell, the 108-atom 3×3×3 cell, and the 256-atom 4×4×4 cell agree to a median of 0.21 GPa per elastic constant (≤ 2.9 GPa worst case) and to ≤ 0.0008 Å in lattice parameter. Cost, by contrast, rises by factors of 2.4–7.0 from 108 to 256 atoms, with CHGNet the most expensive. The residual mean absolute error of ≈13 GPa is therefore irreducible model-form error: M3GNet achieves the lowest (10.2 GPa at 256 atoms) and is also the cheapest, making it the recommended default for this class of target. We recommend that future uMLIP elastic-constant benchmarks standardise on the small conventional cell and reserve supercell scaling studies for cases — defects, low symmetry, finite temperature — where they are physically motivated.</p>\n<hr>\n<h2 id=\"data-and-code-availability\">Data and Code Availability</h2><p>All data and scripts are in the project repository:</p>\n<ul>\n<li>Raw per-case results: <code>data/layer2_outputs/</code>, <code>data/layer2_outputs_3x3x3/</code>, <code>data/layer2_outputs_4x4x4/</code> (schema <code>lupine.layer2.raw.v1</code>).</li>\n<li>Aggregated 1×1×1 benchmark: <code>data/benchmark_layer2_results.json</code> (schema <code>lupine.benchmark.layer2.v1</code>).</li>\n<li>1×1×1 vs 3×3×3 comparison: <code>data/supercell_scaling_comparison.json</code> (schema <code>lupine.supercell_scaling.comparison.v1</code>).</li>\n<li>Reference targets: <code>data/targets_0K.json</code> (schema <code>lupine.targets_0K.v3</code>), <code>data/pbe_targets_dejong2015.json</code>.</li>\n<li>Drivers: <code>data/layer2_benchmark_task.py</code> (single case), <code>data/run_layer2_supercell_grid.py</code> (full grid), <code>data/aggregate_layer2.py</code>, <code>data/compare_supercell_scaling.py</code>.</li>\n</ul>\n<hr>\n<h2 id=\"references\">References</h2><p>[1] Chen, C. &amp; Ong, S. P. &quot;A universal graph neural network potential for the prediction of molecular and materials properties across the periodic table.&quot; <em>Nature Computational Science</em> <strong>2</strong>, 718–728 (2022).</p>\n<p>[2] Deng, B., Zhong, P., Jun, K., Riebesell, J., Han, K., Bartel, C. J. &amp; Ceder, G. &quot;CHGNet as a pretrained universal neural network potential for charge-informed atomistic modelling.&quot; <em>Nature Machine Intelligence</em> <strong>5</strong>, 1031–1041 (2023).</p>\n<p>[3] Simeon, G. &amp; de Fabritiis, G. &quot;TensorNet: Cartesian tensor representations for efficient learning of molecular potentials.&quot; <em>Advances in Neural Information Processing Systems</em> <strong>36</strong> (2023).</p>\n<p>[4] Shetty, P., et al. &quot;MatPES: Materials Project Elasticity &amp; Energy Surface dataset for machine learning interatomic potentials.&quot; arXiv:2504.19058 (2025).</p>\n<p>[5] de Jong, M., Chen, W., Angsten, T., Jain, A., Notestine, R., Gamst, A., Sluiter, M., Krishna Ande, C., van der Zwaag, S., Plata, J. J., Toher, C., Curtarolo, S., Ceder, G., Persson, K. A. &amp; Asta, M. &quot;Charting the complete elastic properties of inorganic crystalline compounds.&quot; <em>Scientific Data</em> <strong>2</strong>, 150009 (2015). <a href=\"https://doi.org/10.1038/sdata.2015.9\">https://doi.org/10.1038/sdata.2015.9</a></p>\n<p>[6] Le Page, Y. &amp; Saxe, P. &quot;Symmetry-general least-squares extraction of elastic coefficients from <em>ab initio</em> total energy calculations.&quot; <em>Physical Review B</em> <strong>65</strong>, 104104 (2002).</p>\n<p>[7] Liu, X., et al. &quot;r2SCAN meta-GGA bulk-modulus benchmarks.&quot; <em>Journal of Chemical Physics</em> <strong>160</strong>, 024102 (2024). <a href=\"https://doi.org/10.1063/5.0183091\">https://doi.org/10.1063/5.0183091</a></p>\n<p>[8] Pandit, A. &amp; Bongiorno, A. &quot;A first-principles method to calculate fourth-order elastic constants of solid materials.&quot; arXiv:2302.01965 (2023).</p>\n"}