Gray–Scott
Reaction–diffusion pattern formation (self-replicating spots and labyrinths):
The patterns grow from a localized seed on top of an unstable homogeneous equilibrium — exactly the setting where PINNs are prone to spurious steady solutions.
Results
This is the suite's most dramatic rescue. Trained naively over the whole time range, the network converges to the spurious homogeneous state and never grows the pattern — a relative L2 error of 0.90 despite a small training loss. Splitting the horizon into four time windows and enabling adaptive pseudo-time stepping recovers the full pattern-formation dynamics at 7.0e-03 over the stitched trajectory — a ~130× improvement, with each window trained from a fresh initialization (transfer_learning=False). Pseudo-time alone (no windows) already recovers to 0.03, confirming the spurious-equilibrium diagnosis; the windowed curriculum then removes the remaining long-horizon error.

Run
cd examples/gray_scott
python3 main.py --config=configs/pseudo_time.py \
--config.time_range="(0.0, 1.0)" \
--config.training.num_time_windows=4 \
--config.training.transfer_learning=False| Config | Description |
|---|---|
configs/baseline.py | PirateNet + causal weighting |
configs/pseudo_time.py | Adaptive pseudo-time stepping (showcase, with 4 windows) |
configs/fixed_pseudo_time.py | Constant pseudo-time weights |
Notes
- A key benchmark for pseudo-time stepping: the unstable homogeneous equilibrium is a perfect residual minimizer that plain training happily finds.
- Supports a fixed residual batch (
--config.training.random_sampling=False) for controlled pseudo-time experiments.