Skip to content

Follow EngiBench naming every volume target volfrac - #80

Open
mkeeler43 wants to merge 1 commit into
feat/metrics-suitefrom
feat/volfrac-names
Open

mkeeler43 wants to merge 1 commit into
feat/metrics-suitefrom
feat/volfrac-names

Conversation

@mkeeler43

Copy link
Copy Markdown
Contributor

Stacked on #79. Merge #79 first, and this PR then retargets to main. It depends on EngiBench IDEALLab/EngiBench#280 and IDEALLab/EngiBench#281.

Why

EngiBench now names every volume target volfrac. Thermoelastic2D was volume_fraction_target and HeatConduction2D was volume. Both problems moved to new dataset repos holding the same rows under the new column name. The committed specs for these two problems named the old condition and the old dataset, so EngiOpt refused to resolve them.

What changes

  • New specs. thermoelastic2d/v3 and heatconduction2d/v3. Each is its v2 with only the version, the volume condition, the dataset, the digest and the notes changed. Every metric, tolerance, seed and sample count is the same. They were frozen on Euler against the EngiBench commit that has both renames, and the freeze script failed on any other field changing. The digest changes because it covers condition names as well as values.
  • Old specs deleted. v1 and v2 of these two problems no longer resolve under the new EngiBench. Git history keeps them.
  • Default spec. With no version given, EngiOpt loads the newest spec committed for the problem, sorted numerically. Before, the library defaulted to v2 and the CLI to v1, so neither would have picked up v3.
  • CI pin. CI installs the EngiBench head of #281, which contains both renames, and asserts both new dataset ids. Once the EngiBench PRs merge, the pin should move to the merge commit on EngiBench main.
  • Fixtures and docs. Test fixtures and the contributor guide use volfrac.

Published checkpoints

340 heat conduction and 3 thermoelastic2d packages on HF record the old names in metadata.json, in condition_keys. That list maps dataset columns to the network's inputs, so EngiOpt refuses these packages until it's updated. A script renames that one field in place, with one commit per model repo. It runs right after this PR merges, so no working setup sees a mismatch.

Checks

Pre-commit passes. The offline spec, metrics, schema, checkpoint and evaluation tests pass: 107 passed, 6 deselected. The deselected tests need the network and run in CI.

🤖 Generated with Claude Code

EngiBench #280 and #281 rename the volume target to volfrac in thermoelastic2d
and heatconduction2d and move both to new dataset repos holding the same rows.
The committed specs named the old condition and dataset, so they no longer
resolved.

- Freeze thermoelastic2d/v3 and heatconduction2d/v3. Each is its v2 with the
  version, volume condition, dataset, digest and notes changed. Every metric,
  tolerance and seed is the same.
- Delete the old versions of those two specs. Git history keeps them.
- With no version given, load the newest spec committed for the problem,
  sorted numerically. This replaces a hardcoded v2 here and v1 in the CLI.
- Pin CI to the EngiBench commit that has both renames, and assert both new
  dataset ids.
- Rename the old condition names in test fixtures and the contributor guide.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant