Foundation Models
This page documents the Equinox foundation-model wrappers exposed by foundax.
These wrappers are the large-model side of the repository. Each namespace provides a small public API over a vendored JAX implementation under repos/, while keeping the package-level import surface consistent.
Summary
For the full architectures matrix (including core models and KAN variants), see Architectures Overview.
| Namespace | Variants | Backbone | Reference | Weights license |
|---|---|---|---|---|
fx.poseidon |
T, B, L | ScOT (Swin-style hierarchical operator transformer) | Herde et al. 2024 — arXiv:2405.19101 | CC-BY-NC-4.0 |
fx.morph |
Ti, S, M, L | ViT3D regression | Rautela et al. 2025 — arXiv:2509.21670 | MIT |
fx.mpp |
Ti, S, B, L | AViT (axial vision transformer) | McCabe et al., NeurIPS 2024 — openreview/DKSI3bULiZ | MIT |
fx.walrus |
base | Isotropic encoder–processor–decoder (1.29B params) | McCabe et al. 2025 — arXiv:2511.15684 | MIT |
fx.bcat |
base | Block-causal transformer | Liu et al. 2025 — arXiv:2501.18972 | MIT |
fx.pdeformer2 |
small, base, fast | Graphormer encoder + INR decoder | Ye et al. 2025 — arXiv:2507.15409 | Apache-2.0 |
fx.dpot |
Ti, S, M, L, H | DPOTNet (AFNO-style mixing) | Hao et al., ICML 2024 — arXiv:2403.03542 | Apache-2.0 |
fx.prose |
fd_1to1, fd_2to1, ode_2to1, pde_2to1 | Transformer sequence-to-sequence | Liu et al. 2023 — arXiv:2309.16816; follow-up Sun et al. 2024 — arXiv:2404.12355 | MIT |
Weights remain subject to their upstream licenses — see THIRD_PARTY_LICENSES.
API pattern
The preferred entry points are the namespace modules:
import foundax as fx
poseidon = fx.poseidon.T()
morph = fx.morph.S()
mpp = fx.mpp.B(n_states=12)
walrus = fx.walrus.base()
The package also exposes top-level aliases such as fx.poseidonT() or fx.prose_fd_1to1(). Those are convenience shortcuts, but the namespace style is what this documentation uses.
Poseidon
Namespace: fx.poseidon
Available variants:
TBL
Architecture summary:
- Poseidon wraps ScOT, a Swin-style hierarchical operator transformer
- the encoder-decoder structure uses multiscale windowed attention and skip connections
- the implementation is designed for PDE operator learning on image-like grids
What to use it for:
- 2D grid-based PDE surrogates
- large operator models where multiscale transformer processing is preferable to a smaller FNO or UNet baseline
Repository mapping:
- Public wrapper:
foundax/poseidon.py - Vendored implementation:
repos/jax_poseidon
References:
- Paper: https://arxiv.org/abs/2405.19101
- Original repository: https://github.com/camlab-ethz/poseidon
MORPH
Namespace: fx.morph
Available variants:
TiSML
Architecture summary:
- MORPH uses a ViT3D-style regression architecture over PDE data
- the model is intended for arbitrary modality and multi-physics settings
- the wrapper constructs the Equinox
ViT3DRegressionpath from the vendored package
What to use it for:
- volumetric or time-aware PDE data
- settings where a large transformer over patchified 3D structure is a better fit than 2D operator models
Repository mapping:
- Public wrapper:
foundax/morph.py - Vendored implementation:
repos/jax_morph
References:
- Paper: https://arxiv.org/abs/2509.21670
- Original repository: https://github.com/lanl/MORPH
MPP
Namespace: fx.mpp
Available variants:
TiSBL
Architecture summary:
- MPP wraps AViT, an axial vision transformer used for multiple-physics pretraining
- the model mixes temporal and spatial attention blocks over structured simulation data
- it is built for multi-physics surrogate learning rather than a single PDE family
What to use it for:
- structured spatio-temporal simulation data
- experiments that need a large transformer-based surrogate model with pretraining-oriented design
Repository mapping:
- Public wrapper:
foundax/mpp.py - Vendored implementation:
repos/jax_mpp
References:
- Paper: https://openreview.net/forum?id=DKSI3bULiZ
- Original repository: https://github.com/PolymathicAI/multiple_physics_pretraining
Walrus
Namespace: fx.walrus
Available variants:
base
Architecture summary:
- Walrus uses an isotropic encoder-processor-decoder layout with large space-time attention blocks
- the wrapped model is designed for large-scale PDE or atmosphere-style state evolution tasks
- the implementation includes structured handling of variable dimensionality and boundary conditions
What to use it for:
- large spatio-temporal surrogate models
- experiments where the model scale and processor depth are more important than using a smaller baseline
Repository mapping:
- Public wrapper:
foundax/walrus.py - Vendored implementation:
repos/jax_walrus
References:
- Paper: McCabe et al. 2025 — arXiv:2511.15684
- Original Walrus repository: https://github.com/nubskr/walrus
BCAT
Namespace: fx.bcat
Available variants:
base
Architecture summary:
- BCAT is a block-causal transformer for autoregressive spatio-temporal PDE prediction
- the model uses patched inputs, causal structure in time, and transformer blocks designed for rollout-style forecasting
What to use it for:
- temporal forecasting on regular grids
- fluid or PDE sequence modeling where causal rollout is central
Repository mapping:
- Public wrapper:
foundax/bcat.py - Vendored implementation:
repos/jax_bcat
References:
- Paper: https://arxiv.org/abs/2501.18972
PDEformer-2
Namespace: fx.pdeformer2
Available variants:
smallbasefast
Architecture summary:
- PDEformer-2 combines a Graphormer encoder with an implicit neural representation decoder driven by a hypernetwork
- the model represents PDE problems as graph-structured inputs and predicts solution values at query coordinates
- this is the most graph-centric model family in the repository
What to use it for:
- PDE problems described through graph or DAG structure
- query-based solution evaluation rather than only dense image-to-image prediction
Repository mapping:
- Public wrapper:
foundax/pdeformer2.py - Vendored implementation:
repos/jax_pdeformer2
References:
- Paper: Ye et al. 2025 — arXiv:2507.15409
- Original repository: https://github.com/functoreality/pdeformer-2
- Note: the vendored
repos/jax_pdeformer2/README.mdcitesarXiv:2502.14844, which is an unrelated paper — the correct ID is the one above.
DPOT
Namespace: fx.dpot
Available variants:
TiSMLH
Architecture summary:
- DPOT wraps DPOTNet, a transformer-style operator model with AFNO or Fourier-style mixing
- the model is built for autoregressive PDE pretraining and large-scale surrogate modeling on regular grids
What to use it for:
- large regular-grid PDE sequence modeling
- experiments where AFNO-style token mixing is a better fit than a pure CNN or standard transformer baseline
Repository mapping:
- Public wrapper:
foundax/dpot.py - Vendored implementation:
repos/jax_dpot
References:
- Paper: https://arxiv.org/abs/2403.03542
- Original repository: https://github.com/hzk17/DPOT
PROSE
Namespace: fx.prose
Available variants:
fd_1to1fd_2to1ode_2to1pde_2to1
Architecture summary:
- PROSE is a transformer-based sequence model family for finite-difference, ODE, and PDE tasks
- unlike the other wrappers, this family spans multiple task formulations rather than just scaled variants of one architecture
- the Equinox implementations in the vendored package cover both pure data-to-data and text/data fusion settings
What to use it for:
- sequence-to-sequence operator learning
- problems with symbolic or text-conditioned inputs
- ODE and PDE tasks that are more naturally expressed as token or sequence prediction than as a single image-to-image mapping
Repository mapping:
- Public wrapper:
foundax/prose.py - Vendored implementation:
repos/jax_prose
References:
- Original paper: Liu et al. 2023 — arXiv:2309.16816 (matches the
fd_1to1/fd_2to1/ode_2to1/pde_2to1variant naming) - Follow-up: Sun et al. 2024 — arXiv:2404.12355
- Vendored JAX repository:
repos/jax_prose
Notes On Package Surface
The top-level foundax.nn module also exposes convenience aliases for these wrappers, for example:
poseidonT,poseidonB,poseidonLmorph_Ti,morph_S,morph_M,morph_Lmpp_Ti,mpp_S,mpp_B,mpp_Lpdeformer2_small,pdeformer2_base,pdeformer2_fastdpot_Ti,dpot_S,dpot_M,dpot_L,dpot_Hprose_fd_1to1,prose_fd_2to1,prose_ode_2to1,prose_pde_2to1
Those aliases simply forward to the namespace modules documented above.