Skip to content

Conversation

Mx7f
Copy link
Contributor

@Mx7f Mx7f commented Jul 25, 2025

PhysicsNeMo Pull Request

This PR adds introduces a generalized global parameter system for the DoMINO external aerodynamics example, and adds support for SHIFT dataset. The changes enable the DoMINO model to work with CFD data from multiple solvers beyond OpenFOAM, specifically adding support for SHIFT datasets (which can have case-varying global parameters, different filename conventions and cell-centered surface data, example https://huggingface.co/datasets/luminary-shift/WING) while maintaining backward compatibility.

Description

Key Changes:

  1. Generalized Global Parameter System: Refactored hardcoded parameter handling to use a flexible dictionary-based approach with new utility functions:

    • extract_global_parameters() - Extract parameters from JSON files
    • create_global_parameters_reference_array() - Create reference parameter arrays
    • load_parameters_from_json() - Load parameters with fallback to reference values
  2. SHIFT Dataset Support: Added SHIFTPaths class and updated data processing pipeline to handle SHIFT dataset file structures (merged_surfaces.stl, merged_surfaces.vtp, merged_volumes.vtu, params.json), renaming OpenFoamDataset to VtkCfdDataset to better reflect its broader capability to handle VTK-format CFD data from multiple solvers

  3. Change to test.py data distribution: Before the change, when running on N gpus, we would miss the remainder of ||data_set||/N samples for evaluation.

The changes allow users to seamlessly work with CFD datasets from different solvers (OpenFOAM, SHIFT, etc.) using a unified interface, while providing more flexible parameter management for aerodynamic simulations.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.
  • The CHANGELOG.md is up to date with these changes.
  • An issue is linked to this pull request.

Dependencies

No new external dependencies are introduced. The changes utilize functionality already present in the codebase. Some unused imports were removed during development

…example.

Rename OpenFoamDataset to VtkCfdDataset

Signed-off-by: Michael Mara <[email protected]>
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