Problem
All trials run at the same fidelity. In engineering DOE it's common to run a cheap surrogate (coarse mesh, simplified physics) first, then evaluate only promising designs with an expensive high-fidelity model.
Proposed
- Allow
Phase to accept different Simulator instances (currently the Study-level world is used for all phases)
- A phase-level
world override: Phase(name=..., grid=..., world=cheap_sim)
- Or a
fidelity parameter that gets passed to the simulator's generate() via config
Design notes
This is a breaking change to Phase — needs careful API design. Consider whether the fidelity should be a phase property or a factor.
Problem
All trials run at the same fidelity. In engineering DOE it's common to run a cheap surrogate (coarse mesh, simplified physics) first, then evaluate only promising designs with an expensive high-fidelity model.
Proposed
Phaseto accept differentSimulatorinstances (currently theStudy-levelworldis used for all phases)worldoverride:Phase(name=..., grid=..., world=cheap_sim)fidelityparameter that gets passed to the simulator'sgenerate()via configDesign notes
This is a breaking change to
Phase— needs careful API design. Consider whether the fidelity should be a phase property or a factor.