Skip to content

PIBERT

Registry ID: pibert
Categories: surrogate, physics-informed, specialized CFD
Architecture: bidirectional transformer with hybrid Fourier-wavelet embeddings, physics-biased attention, masked-physics prediction, and equation-consistency pretraining.

Method architecture

flowchart LR
    X["Field history, coordinates<br/>and operating parameters"] --> E["Fourier-wavelet<br/>multiscale embedding"]
    E --> B["Bidirectional transformer<br/>context encoder"]
    B --> A["Physics-biased<br/>attention"]
    A --> M["Masked-physics and<br/>equation-consistency objectives"]
    M --> Y["Reconstructed or forecast<br/>CFD fields"]

    classDef input fill:#ffffff,stroke:#167d9a,stroke-width:1.5px,color:#17324d;
    classDef core fill:#e9f8fb,stroke:#167d9a,stroke-width:1.5px,color:#17324d;
    classDef physics fill:#fff4e8,stroke:#c97932,stroke-width:1.5px,color:#5a3518;
    classDef output fill:#eef8f0,stroke:#34855c,stroke-width:1.5px,color:#173f2b;
    class X input;
    class E,B,A core;
    class M physics;
    class Y output;

The diagram summarizes the scientific method. Exact block definitions, loss terms, and preprocessing must follow the pinned PIBERT implementation and experiment configuration.

flowchart LR
    D["Dataset provider"] --> AD["Canonical adapter"]
    AD --> S["CFDSample / CFDBatch"]
    S --> C["Dataset-conditioned configuration<br/>dimension · channels · coordinates · history"]
    R["TaskSpec + evidence-aware<br/>recommendation"] --> C
    C --> H["ModelHub.load('pibert')"]
    H --> P["PIBERT builder<br/>and ModelBuildPlan"]
    P --> T["CFDTrainer.fit<br/>checkpoints"]
    T --> Q["Prediction / rollout"]
    Q --> V["MetricSuite + CFD diagnostics"]
    V --> F["FigureLab + experiment manifests"]

    classDef data fill:#ffffff,stroke:#506784,stroke-width:1.3px,color:#17263a;
    classDef config fill:#e8f6fb,stroke:#1580a0,stroke-width:1.3px,color:#17324d;
    classDef train fill:#eef8f0,stroke:#34855c,stroke-width:1.3px,color:#173f2b;
    classDef verify fill:#fff4e8,stroke:#c97932,stroke-width:1.3px,color:#5a3518;
    class D,AD,S,R data;
    class C,H,P config;
    class T,Q train;
    class V,F verify;
from navier_cfd import load_model

model, plan = load_model(
    "pibert",
    dataset="realpdebench",
    sample=sample,
    return_plan=True,
)

Suitable tasks

Multiscale CFD surrogates, flow reconstruction, and sim-to-real forecasting.

Demonstrated settings

1D–3D; structured grids; steady and autoregressive regimes; incompressible flow and fluid–structure interaction.

Strengths

Global/local spectral representation, physics-biased attention, and self-supervised pretraining.

Cautions

Full 3D training is memory intensive. Benchmark claims should be reproduced with pinned data and code revisions.

Usage

navier models info pibert
navier recommend --problem cylinder_wake --task surrogate --dimension 2 --temporal autoregressive

Reference

Chakraborty, Pan & Chen, PIBERT: A Physics-Informed Bi-directional Hybrid Spectral Transformer for Multiscale CFD Surrogate Modeling, 2026. Official implementation: https://github.com/Samsomyajit/pibert