Skip to content

Multi-fidelity support: cheap surrogate then expensive model #78

@jc-macdonald

Description

@jc-macdonald

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-mediumShould fixfeatureNew feature or enhancementrunnerrunner.py modulestudystudy.py module

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions