Skip to content

Burgers

Viscous Burgers equation developing a steep internal layer:

ut+uux=0.01π2ux2,(t,x)[0,1]×[1,1],

with u(0,x)=sin(πx) and homogeneous Dirichlet boundaries. A viscous shock forms at x=0 and sharpens over time.

Results

relative L2 error 4.0e-05recipe baseline — architecture-insensitive100k steps, single GPU

The baseline recipe resolves the shock to a relative L2 error of 4.0e-05, with the residual error confined to the thin viscous layer. Burgers turns out to be a saturated benchmark for modern PINN training: in a parameter-matched comparison, a plain MLP, a modified MLP, and PirateNet all land within 1% of each other, and pseudo-time stepping changes nothing — with SOAP and grad-norm balancing in place, every reasonable configuration reaches the same answer. Treat it as a correctness check rather than a discriminating benchmark.

Burgers prediction vs reference

Reference, PINN prediction, and absolute error; the error is confined to the shock.

Burgers convergence

Training losses and relative L2 error of the showcase run.

Run

bash
cd examples/burgers
python3 main.py --config=configs/baseline.py
ConfigDescription
configs/baseline.pyPirateNet + causal weighting
configs/pseudo_time.pyAdaptive pseudo-time stepping
configs/fixed_pseudo_time.pyConstant pseudo-time weights

Released under the Apache 2.0 License.