Learnable Splines for Unstructured Neural Operators
Organizations: Centre for Artificial Intelligence, University College London · Computing + Mathematical Sciences, Caltech · LIX, École Polytechnique, CNRS, Institut Polytechnique de Paris · Hartree Centre, Science and Technology Facilities Council ·
Abstract
Neural operators approximate solution operators of partial differential equations at a fraction of the cost of numerical solvers. Efficient grid-based architectures such as the Fourier neural operator (FNO) assume uniform rectangular grids, whereas engineering simulations use large, irregular, and locally refined meshes. We introduce L-SplineFNO, a memory-efficient neural operator that couples an FNO backbone with a sparse, learnable tensor-product B-spline transfer between unstructured meshes and a latent Cartesian grid. A local normalised scatter avoids the geometry-dependent solve of analytic spline transformation while preserving compact support, partition of unity, and spline smoothness by construction. The neural operator, conditioned on global design and operating parameters, learns the mapping of geometry to the field solution. Across six three-dimensional engineering benchmarks, L-SplineFNO achieves strong predictive accuracy while requiring substantially less memory and compute than baseline operators, scaling to 26.6 million nodes in training and 46 million in inference on a single A100 GPU. It also supports zero-shot super-resolution and efficient closed-form spatial derivatives. Uniquely, the analytic spline decoder yields rigorous prediction bounds over continuous space and uncertain parameters, via Bernstein convex hulls and Taylor models, demonstrated on a 29.2-million-node MAST-U tokamak model.
Figures & tables
| Model | Heat Sink | Bracket | Aircraft | Building Fire | Heated Duct | HIVE Monoblock |
| Baselines | ||||||
| Transolver | ||||||
| 00:41 | 01:48 | 01:26 | 01:17 | 01:15 | 02:28 | |
| UPT | ||||||
| 00:33 | 01:30 | 00:58 | 01:00 | 0:50 | 01:25 | |
| (12) |
Appendix figures & tables39 assets
Supplementary material from the paper’s appendix.
Appendix
| Symbol | Meaning |
|---|---|
| Problem and data | |
| , | Spatial domain and its dimension ( throughout). |
| Generic continuous point; written in the enclosure formulas. | |
| Conditioning vector of design, load, material and operating parameters. | |
| , | Solution space ( Equation 1 ); optional per-node input field, absent in every benchmark ( ). |
| Governing PDE operator. | |
| Symbol | Main meaning | Other meaning (context) |
| mesh node | dataset sample (training objective, Appendix D ); scalar coefficient (enclosures) | |
| query point | correction index in ; displacement component (enclosures) | |
| Bernstein multi-index (enclosures) | ||
| query point | collocation index ( Section B.2 ) | |
| spline degree | static pressure (aircraft) | |
| model width | spline coefficient (enclosures) |
| Depth | Partitions | Median width (mm) | Max width (mm) | Time (s) |
| 0 | 1 | 8.70 | 148.12 | 5.71 |
| 1 | 2 | 7.65 | 142.32 | 10.64 |
| 2 | 4 | 6.62 | 130.71 | 20.34 |
| 3 | 8 | 4.24 | 93.26 | 39.61 |
| 4 | 16 | 3.89 | 79.88 | 81.99 |
| 6 | 64 | 2.71 | 57.98 | 322.43 |
| Interval implementation | Time (s) | Median width (mm) | Max width (mm) |
| Original formulation, FP32 | 74.63 | 2.43694 | 6.34944 |
| Verified norms/extrema, FP32 | 106.68 | 2.43694 | 6.34944 |
| Verified norms/extrema, FP64 | 133.83 | 2.43694 | 6.34944 |
| Validated binary64 | 356.40 | 2.47411 | 6.45884 |
| Box factor | half-width | half-width (K) | Median width (mm) | Max width (mm) |
| 2.5 | 0.47310 | 1.02662 | ||
| 5 | 2.43694 | 6.34944 | ||
| 10 | 20.55161 | 51.67701 |
| Interval implementation | Constant setup/check (s) | Warmup (s) |
| Original formulation, FP32 | 2.64 | 88.75 |
| Verified norms/extrema, FP32 | 336.39 | 108.64 |
| Verified norms/extrema, FP64 | 0.46 | 134.67 |
| Validated binary64 | 0.41 | 522.53 |
| Dataset | Physics / target | Cases train/test | Native nodes | Used nodes | Mesh structure | |
| Heat sink | Conduction / | ( ) | – | Sample-dependent | ||
| Bracket | Elasto-plasticity / | ( ) | – | Sample-dependent | ||
| Aircraft | Compressible flow / | ( ) | Shared correspondence | |||
| Building fire | Fire LES (time-avg.) / | ( ) | Sample-dependent, three-storey | |||
| Heated duct | Conjugate heat transfer / | ( ) | Shared, three-region | |||
| HIVE | Induction heating / | ( ) | Shared |
| Parameter | Symbol | Levels | Meaning |
| Sink width | mm | extent; fins span it fully | |
| Fin height | mm | extent above the baseplate | |
| Thickness | mm | fins and baseplate; spans | |
| Fin count | plates stacked along the 26 mm base |
| Channel | min | max | mean | std | per-condition mean (%) | ||
| 18.24 | 1.315 | 0.867 | 2.33 | 16.0 | 35.95 | ||
| 7.670 | 5.665 | 1.957 | 3.20 | 5.25 | |||
| 3.500 | 0.245 | 0.522 | 4.30 | 67.77 | |||
| 4.070 | 0.063 | 0.714 | 5.00 | 61.33 | |||
| 46.46 | 1.650 | 2.131 | 8.17 | 107.8 | 46.73 | ||
| joint | 46.46 | 1.788 | 2.471 | 2.08 | 14.3 | 23.30 |
| Parameter | Symbol | Range | Discretisation | Group | Visible in the mesh |
| Burner centre, | m | m | fire | yes, exactly | |
| Burner centre, | m | m | fire | yes, exactly | |
| Ventilation rate | m 3 s -1 | continuous | ventilation | no | |
| Left vent centre, | m | m | ventilation | no | |
| Left vent centre, | m | m | ventilation | no | |
| Right vent centre, | m | m | ventilation | no |
| Cell dimensions [m] | Cells | Volume [m 3 ] | Where |
| (15.8%) | (2.5%) | refinement box around the burner | |
| (14.8%) | (9.4%) | – m excluding refinement box | |
| (69.5%) | (88.1%) | everywhere else |
| Channel | min | max | mean | std |
| [K] | ||||
| [kg m -3 ] | ||||
| [kg m -3 ] |
| Parameter | Symbol | Physical range | Transform | Shape |
| Heater power density | – W m -3 | no | ||
| Inlet velocity | – m s -1 | yes | ||
| Inlet temperature | – K | no | ||
| Heater conductivity | – W m -1 K -1 | yes | ||
| Metal conductivity | – W m -1 K -1 | yes |
| Parameter | Group | Prior | Realised range | Role |
| nusselt_scale | HTC | in Equation 50 | ||
| nusselt_re_power | HTC | in Equation 50 | ||
| nusselt_pr_power | HTC | in Equation 50 | ||
| coil_target_offset_x | geometry | m | coil position | |
| coil_target_offset_y | geometry | m | coil position | |
| coil_target_offset_z | geometry | m | coil standoff |
| Parameter | Symbol | Unit | Realised range | Mean | Role |
| Thermal expansion coefficient | K -1 | – | eigenstrain scale | ||
| Wall temperature | K | – | thermal boundary condition |
| Model | Encoder | Processor | Decoder | Attention Cost |
| Transolver | feature slicing | softmax MHSA | deslicing | |
| GNOT | trunk/branch MLPs | linear cross + self-attn. | MLP | |
| UPT | Perceiver pooling | softmax MHSA | Perceiver query | |
| MSPT | patch pooling | chunked MHSA + supernodes | MLP | |
| NUNO | K-D tree + scatter | FNO on subdomain grid | trig. interpolation | — |
| GINO | radius-graph GNO | FNO on latent grid | radius-graph GNO | — |
| Model | Cond. Method | # Parameters | Train Time (hrs:mins) | Rel. % ( ) | Rel. % ( ) | ( ) | |
| Transolver | None | 2,433,413 | 0:41 | 0.0589 | 0.0460 | 1.2804 | 0.9989 |
| Transolver | Concatenation | 2,434,437 | 0:41 | 0.0458 | 0.0341 | 1.3449 | 0.9993 |
| Transolver | Cross-attention | 2,464,422 | 0:44 | 0.0438 | 0.0330 | 1.3281 | 0.9994 |
| Transolver | FiLM | 2,450,503 | 0:41 | 0.0385 | 0.0280 | 1.3742 | 0.9995 |
| UPT | None | 2,252,097 | 0:33 | 0.0907 | 0.0741 | 1.2230 | 0.9972 |
| UPT | Concatenation | 2,252,993 | 0:32 | 0.0423 | 0.0308 | 1.3749 | 0.9994 |
| Model | Cond. Method | # Parameters | Train Time (hrs:mins) | Rel. % ( ) | Rel. % ( ) | ( ) | |
| Transolver | None | 2,433,413 | 1:47 | 23.6733 | 22.9590 | 1.0311 | 0.6963 |
| Transolver | Concatenation | 2,434,437 | 1:47 | 0.9006 | 0.6526 | 1.3799 | 0.9994 |
| Transolver | Cross-attention | 2,464,422 | 1:57 | 0.8573 | 0.6495 | 1.3198 | 0.9995 |
| Transolver | FiLM | 2,450,503 | 1:49 | 0.5698 | 0.4059 | 1.4039 | 0.9998 |
| UPT | None | 2,252,097 | 1:28 | 27.0258 | 25.6378 | 1.0541 | 0.6351 |
| UPT | Concatenation | 2,252,993 | 1:28 | 1.9136 | 1.3180 | 1.4519 | 0.9975 |
| Model | Cond. Method | # Parameters | Train Time (hrs:mins) | Rel. % ( ) | Rel. % ( ) | ( ) | |
| Transolver | None | 2,434,441 | 1:26 | 64.9073 | 54.6929 | 1.1868 | 0.3622 |
| Transolver | Concatenation | 2,435,209 | 1:27 | 7.6032 | 5.7802 | 1.3154 | 0.9514 |
| Transolver | Cross-attention | 2,464,874 | 1:36 | 14.8217 | 11.5540 | 1.2828 | 0.8201 |
| Transolver | FiLM | 2,451,467 | 1:26 | 9.2876 | 6.9728 | 1.3320 | 0.9273 |
| UPT | None | 2,252,997 | 0:57 | 62.9624 | 52.7489 | 1.1936 | 0.3524 |
| UPT | Concatenation | 2,253,669 | 0:56 | 14.9982 | 11.6138 | 1.2914 | 0.8207 |
| Model | Cond. Method | # Parameters | Train Time (hrs:mins) | Rel. % ( ) | Rel. % ( ) | ( ) | |
| Transolver | None | 2,433,927 | 1:11 | 14.6908 | 11.7212 | 1.2534 | 0.4330 |
| Transolver | Concatenation | 2,435,719 | 1:11 | 7.7780 | 5.6677 | 1.3723 | 0.9355 |
| Transolver | Cross-attention | 2,467,432 | 1:17 | 8.4583 | 6.2634 | 1.3504 | 0.9195 |
| Transolver | FiLM | 2,451,209 | 1:12 | 7.4685 | 5.5415 | 1.3477 | 0.9378 |
| UPT | None | 2,252,547 | 0:54 | 16.7382 | 13.1177 | 1.2760 | 0.4039 |
| UPT | Concatenation | 2,254,115 | 0:54 | 8.6675 | 6.2352 | 1.3901 | 0.9217 |
| Model | Cond. Method | # Parameters | Train Time (hrs:mins) | Rel. % ( ) | Rel. % ( ) | ( ) | |
| Transolver | None | 2,433,413 | 1:14 | 18.8793 | 18.2311 | 1.0356 | 0.0207 |
| Transolver | Concatenation | 2,434,693 | 1:13 | 0.7063 | 0.5926 | 1.1918 | 0.9982 |
| Transolver | Cross-attention | 2,465,126 | 1:22 | 0.9252 | 0.8388 | 1.1029 | 0.9954 |
| Transolver | FiLM | 2,450,567 | 1:14 | 0.4481 | 0.3704 | 1.2097 | 0.9993 |
| UPT | None | 2,252,097 | 0:48 | 18.8869 | 18.2296 | 1.0361 | 0.0181 |
| UPT | Concatenation | 2,253,217 | 0:48 | 1.1621 | 0.9795 | 1.1864 | 0.9959 |
| Model | Cond. Method | # Parameters | Train Time (hrs:mins) | Rel. % ( ) | Rel. % ( ) | ( ) | |
| Transolver | None | 2,119,957 | 2:23 | 6.3799 | 5.5841 | 1.1425 | 0.2876 |
| Transolver | Concatenation | 2,121,397 | 2:24 | 0.5016 | 0.4167 | 1.2038 | 0.9953 |
| Transolver | Cross-attention | 2,219,766 | 2:42 | 0.3052 | 0.2462 | 1.2396 | 0.9983 |
| Transolver | FiLM | 2,178,903 | 2:26 | 0.2884 | 0.2463 | 1.1708 | 0.9984 |
| UPT | None | 2,382,641 | 1:15 | 6.3255 | 5.5387 | 1.1420 | 0.2766 |
| UPT | Concatenation | 2,384,033 | 1:16 | 0.9408 | 0.8203 | 1.1470 | 0.9844 |
| Experiment | Nodes | Rel. (%) | |
| Heat Sink | 31,313 | 0.0239 | 0.9996 |
| Bracket | 14,703–15,210 | 3.5142 | 0.9958 |
| Aircraft | 331,971 | 8.3237 | 0.9899 |
| Case | Scatter Scales | # Parameters | Train Time (hrs:mins) | Rel. % ( ) | Rel. % ( ) | ( ) | |
| Heat-sink | 1 | 2,395,775 | 0:43 | 0.02842 0.00331 | 0.02201 0.00269 | 1.291 | 0.99968 |
| 1–2 | 2,396,969 | 0:51 | 0.03012 0.00311 | 0.02303 0.00257 | 1.309 | 0.99966 | |
| 1–2–4 | 2,397,563 | 0:59 | 0.03036 0.00327 | 0.02310 0.00243 | 1.314 | 0.99965 | |
| Bracket | 1 | 2,387,731 | 0:54 | 1.9825 0.0207 | 1.1096 0.0283 | 1.787 | 0.99832 |
| 1–2 | 2,388,344 | 1:16 | 1.9734 0.0284 | 1.0996 0.0316 | 1.795 | 0.99833 | |
| 1–2–4 | 2,388,651 | 1:37 | 2.0134 0.0328 | 1.1319 0.0225 | 1.779 | 0.99826 |
| Case | Spline Degree | # Parameters | Train Time (hrs:mins) | Rel. % ( ) | Rel. % ( ) | ( ) | |
| Heat-sink | 3 | 2,395,775 | 0:42 | 0.02867 0.00184 | 0.02215 0.00157 | 1.295 | 0.99968 |
| 5 | 2,395,769 | 1:10 | 0.03425 0.00750 | 0.02627 0.00551 | 1.302 | 0.99957 | |
| 7 | 2,395,778 | 2:00 | 0.02852 (+0.4%) | 0.02198 | 1.298 | 0.99973 | |
| 9 | 2,395,769 | 3:24 | 0.02903 (+2.2%) | 0.02265 | 1.282 | 0.99972 | |
| Bracket | 3 | 2,387,731 | 0:54 | 1.9702 0.0315 | 1.0861 0.0352 | 1.815 | 0.99833 |
| 5 | 2,387,725 | 1:40 | 1.9806 0.0328 | 1.1317 0.0272 | 1.750 | 0.99830 |
| Autograd VJP | Decoder autograd | Analytic spline | ||||||
| (coord. sensitivity) | (pointwise , latent fixed) | |||||||
| Geometry | ms | MiB | ms | MiB | ms | MiB | ||
| Heat sink | 16 384 | 13.3 | 235.8 | 4.7 | 125.8 | 2.5 | 39.9 | |
| Bracket | 8 192 | 13.7 | 86.3 | 4.1 | 49.8 | 2.2 | 20.5 | |
| Aircraft | 131 072 | 58.9 | 423.1 | 14.2 | 248.4 | 3.9 | 83.4 | |
| FDS | 98 496 | 31.7 | 362.6 | 10.2 | 237.4 | 3.7 | 84.3 | |
PDE Operator Learning
Partial differential equation (PDE) operator learning builds models that map inputs such as coefficients and initial conditions to solution fields.
See all 228 papers