From 1D Benchmarks to Complex 3D Geometries: Can Agents Reliably Specify Problems for Automated PDE Simulation?
Organizations: Tata Research Development and Design Center, Pune, India 411057
Abstract
Turning an engineering request into a simulation requires consistent geometry, physics, boundary conditions, and numerical settings. Recent agent-assisted systems automate simulation setup, but successful execution alone does not establish whether the specification preserves the intended problem or correctly handles missing information. We study whether agents can reliably construct complete executable JSON specifications for automated geometry creation, meshing, PDE solving, and result export. Our workflow combines model extraction with deterministic scientific and capability checks, explicit clarification, and validated local patches that preserve unrelated accepted fields. We evaluate specification correctness, execution completion, and numerical verification separately. On 120 template-related requests, the full workflow achieves 98.3% correct first-turn specification and decision outcomes, compared with 92.5% for schema-assisted single shot and 82.5% for model-only: gains of 5.8 and 15.8 percentage points, respectively. It makes no false-ready decisions among the 42 requests requiring clarification or rejection. Component ablations identify contributions from scientific checks and conditional repair. Separate downstream studies cover 1D, 2D, and 3D steady and unsteady, linear and nonlinear problems, including flow and elasticity with complex three-dimensional wing geometries. A 30-case gallery demonstrates automated execution from retained JSON specifications, while 9 of 12 selected live user-to-results tests achieve joint specification, execution, export, and numerical-reference success (75.0%). These results support traceable, engineer-reviewed simulation assistance within the tested scope, while fresh-response regressions identify consistency as a priority for further improvement.
Figures & tables
| JSON fields | Contents |
|---|---|
| geometry, mesh | Domain parameters, mesh backend, and resolution. |
| equation | Equation family, coefficients, sources, and nonlinear law. |
| boundary_conditions, initial_condition | Boundary selectors, condition types and values, and initial fields. |
| finite_element, time | Element family and degree; steady/transient regime, time step, final time, and integration scheme. |
| solver, output | Linear/nonlinear solver settings, tolerances, and requested exports. |
| ID | Experiment | Evaluation | Requests |
|---|---|---|---|
| A1 | Specification comparison | Compare model-only, schema-assisted single shot, and the full workflow | 120 |
| A2 | Component ablation | Remove one component at a time; input-changing controls use a fixed 40-request subset | 120 |
| A3 | Clarification completion | Apply fixed authorized replies and check whether a correct complete specification is reached | 30 |
| ID | Experiment | Verification setup | Solves |
| V1 | 2D elasticity | Four mesh levels; displacement and energy checks | 4 |
| V3 | 2D steady flow | Three mesh levels and one pressure patch test | 4 |
| V4 | 2D unsteady heat | Five step sizes for each BE/CN scheme; one equilibrium control | 11 |
| V6 | 2D annular heat | BE/CN refinement and spatial-isolation check | 8 |
| V7 | 2D rectangular heat | BE/CN refinement and spatial-isolation check | 8 |
| V2 | 3D elasticity | Four mesh levels; displacement and energy checks | 4 |
| ID | Experiment group | Scope | Cases |
| G1 | Rod and polyline diffusion | 1D; steady/unsteady; linear | 3 |
| G2 | Linear scalar equations | 2D; steady; linear | 6 |
| G3 | Nonlinear diffusion | 2D; steady; nonlinear | 2 |
| G4 | Heat and reaction-diffusion | 2D; unsteady; linear/nonlinear | 4 |
| G7 | Airfoil and cylinder flow | 2D; steady; nonlinear | 2 |
| G9 | Cantilever and perforated plate | 2D; steady; linear elasticity | 2 |
| System | Correct first-turn outcomes | Correct complete specifications | False-ready decisions |
|---|---|---|---|
| Model-only | 99/120 (82.5%) | 70/78 (89.7%) | 6/42 |
| Schema-assisted single shot | 111/120 (92.5%) | 75/78 (96.2%) | 1/42 |
| Full workflow | 118/120 (98.3%) | 76/78 (97.4%) | 0/42 |
| Condition | Correct / evaluated | Component exercised |
|---|---|---|
| 120-request comparisons; reference: 118/120 (98.3%) | ||
| Full workflow | 118/120 (98.3%) | — |
| Without model repair | 115/120 (95.8%) | 5/120 (4.2%) |
| Without scientific grounding | 117/120 (97.5%) | 117/120 (97.5%) |
| Without semantic/capability reconciliation | 114/120 (95.0%) | 12/120 (10.0%) |
| Without readiness gate | 117/120 (97.5%) | 4/120 (3.3%) |
Appendix figures & tables22 assets
Supplementary material from the paper’s appendix.
Appendix
| Field | Contents and requirements |
|---|---|
| “schema_version” | Identifies the problem contract; version 2.0 is used. |
| “title” | Descriptive label; not scientific evidence. |
| “original_query” | Original request, retained unchanged. Later user replies are stored separately. |
| “geometry” | Geometry type, dimension, and required parameters, such as extents, radii, or wing dimensions. |
| “mesh” | Mesh backend, resolution, and cell settings, consistent with the geometry and dimension. |
| “finite_element” | Element family and degree. Lagrange degrees one and two are supported, subject to solver requirements. |
| Item | Setting |
|---|---|
| Model snapshot | gpt-5.4-mini-2026-03-17 |
| Reasoning effort | “none” |
| Maximum output | 6,400 tokens per model call |
| Provider storage | Disabled |
| Assisted extraction | Strict JSON-schema output; the schema is also supplied in the instructions |
| Model-only baseline | JSON-object output with the generic problem schema supplied as text; separate prompt and model response |
| Member | Meaning and requirement |
|---|---|
| “contract_version” | Must identify “phase2-context-patch-1.0”. |
| “base_revision” | Must match the current context revision. |
| “source_turn” | Identifies the authorizing user turn or repair event. |
| “operations” | Up to 32 explicit “add”, “replace”, or “remove” operations. An empty proposal is recorded as declined. |
| “path” | A permitted, non-root JSON Pointer. Duplicate or overlapping paths are rejected. |
| “value_json” | JSON-encoded value for “add” and “replace”; null for “remove”. |
| ID | Problem and domain | Mesh and time sequence | Solves |
| V1 | 2D elasticity; unit square; plane stress | P1 triangles; | 4 |
| V3 | 2D steady flow; unit square with a circular hole | P2/P1 velocity/pressure; ; pressure patch at | 4 |
| V4 | 2D unsteady heat; unit-radius disk | P1; ; five step sizes per scheme and one equilibrium control | 11 |
| V6 | 2D annular heat; radii and | P1; ; three BE and five CN step sizes | 8 |
| V7 | 2D rectangular heat; unit square | P1 triangles; cells; three BE and five CN step sizes | 8 |
| V2 | 3D elasticity; unit cube | P1 tetrahedra; | 4 |
| Item | Setting |
|---|---|
| Software | Python 3.12.3; DOLFINx 0.11.0.post0; UFL 2026.1.0; Gmsh 4.12.1; PETSc 3.19.6; NumPy 1.26.4 |
| Linear solver | PETSc preonly with LU; relative tolerance , absolute tolerance ; maximum 10,000 iterations |
| Nonlinear solver | Newton with backtracking; relative tolerance , absolute tolerance ; maximum 50 iterations; nested linear settings specify GMRES with ILU |
| Tighter-tolerance controls | Relative tolerance and absolute tolerance in the linear, nonlinear, and nested linear settings |
| Error integration | Quadrature degree 12 for V1–V5; degree 8 for V6–V7 and cantilever quantities |
| Execution checks | Finite solution coefficients, converged solver steps, and no invalid cells |
| ID | Field | order and error | order and error | Outcome |
|---|---|---|---|---|
| V1 | 2D displacement | 2.000 | 1.000 | Pass |
| V2 | 3D displacement | 2.000 | 1.000 | Pass |
| V3 | 2D velocity | 2.976 | 2.004 | Pass |
| ID | Study | BE order | CN order | Spatial ratio | Outcome |
|---|---|---|---|---|---|
| V4 | Affine heat | 0.991 | 2.000 | Control passed | Pass |
| V5 | Affine reaction–diffusion | 1.005 | 2.000 | Control passed | Pass |
| V6 | Annular heat | 1.011 | 1.941 | Fail | |
| V7 | Rectangular heat | 1.008 | 1.961 | Pass |
| ID | Comparison | Native-field difference | Reported-quantity difference | Limit |
|---|---|---|---|---|
| V8 | 4 MPI processes | |||
| 8 MPI processes | ||||
| 16 MPI processes | ||||
| 32 MPI processes | ||||
| V9 | 2D flow, tighter tolerances | |||
| 3D reaction–diffusion, tighter tolerances |
| Study | Repeated setup | Solves | Result | Outcome |
| V1 | 2D elasticity; | 3 | Orders: 2.000 / 1.000 | Pass |
| V3 | 2D flow; three mesh levels and pressure patch | 4 | Orders: 2.917 / 1.938; pressure patch passed | Pass |
| V4 | 2D heat; three steps per scheme and equilibrium control | 7 | Orders: 0.975 / 2.003; control passed | Pass |
| V2 | 3D elasticity; | 3 | Orders: 2.000 / 1.000 | Pass |
| V5 | 3D reaction–diffusion; three steps per scheme and equilibrium control | 7 | Orders: 1.012 / 2.000; control passed | Pass |
| V9 | Flow and reaction–diffusion with tighter tolerances | 2 | Field differences: and | Pass |
| ID | Requested problem | Outcome |
| E1 | 1D Poisson, interval ( ) | Verified |
| E2 | 1D Poisson, interval ( ) | Verified |
| E3 | 1D Poisson, interval ( ) | Blocked |
| E4 | 2D Poisson, rectangle | Verified |
| E5 | 2D Poisson, annulus | Verified |
| E6 | 2D unsteady heat, rectangle | Blocked |
| Study | Model-only | SS | Full workflow |
|---|---|---|---|
| Development | — | 38/60 (63.3%) | 46/60 (76.7%) |
| Initial holdout | — | 22/40 (55.0%) | 20/40 (50.0%) |
| Confirmation 1 | — | 40/40 (100.0%) | 26/40 (65.0%) |
| Confirmation 2 | — | 37/40 (92.5%) | 38/40 (95.0%) |
| Confirmation 3 | — | 38/40 (95.0%) | 37/40 (92.5%) |
| Confirmation 4 | 32/40 (80.0%) | 37/40 (92.5%) | 39/40 (97.5%) |
| Request group | M | S | F |
|---|---|---|---|
| Task | |||
| Extraction | 42/48 (87.5%) | 47/48 (97.9%) | 47/48 (97.9%) |
| Complete specification | 28/30 (93.3%) | 28/30 (93.3%) | 29/30 (96.7%) |
| Clarification | 17/30 (56.7%) | 30/30 (100.0%) | 30/30 (100.0%) |
| Rejection/conflict | 12/12 (100.0%) | 6/12 (50.0%) | 12/12 (100.0%) |
| Wording | |||
| Condition | Confirmation 4 (v1.7) | Main study (v1.8) |
|---|---|---|
| Full-cohort comparisons | ||
| Full-workflow reference | 39/40 (97.5%) | 118/120 (98.3%) |
| Without repair | 39/40 (97.5%) | 115/120 (95.8%) |
| Without scientific grounding | 39/40 (97.5%) | 117/120 (97.5%) |
| Without semantic/capability checks | 37/40 (92.5%) | 114/120 (95.0%) |
| Without readiness gate | 38/40 (95.0%) | 117/120 (97.5%) |
| Study | Correct / evaluated | Percentage |
|---|---|---|
| Confirmation 4 (v1.7) | 10/10 | 100.0% |
| Main study: A3 (v1.8) | 28/30 | 93.3% |
| Earlier-cohort rerun (v1.8) | 32/50 | 64.0% |
| Main-study subset (v1.9) | 14/18 | 77.8% |
| Test or system | Earlier v1.8 | Updated v1.9 |
|---|---|---|
| A6: saved-final-JSON replay, full workflow | ||
| Main-benchmark contexts | 118/120 (98.3%) | 119/120 (99.2%) |
| Broader-input contexts | 86/130 (66.2%) | 111/130 (85.4%) |
| A7: fresh responses, 150 matched requests | ||
| Model-only | 118/150 (78.7%) | 127/150 (84.7%) |
| Schema-assisted single shot | 112/150 (74.7%) | 89/150 (59.3%) |
LLM Agent Reliability
Large language model (LLM) agent reliability concerns dependable, safe, and verifiable behavior across tools, multi-step tasks, and changing environments.
See all 868 papers