Multi-Domain Simulation#

This example imports two solver outputs into the same USD stage: a volumetric pressure field represented as a point cloud around a wing, and bending stress on the wing surface. Both datasets share a common time range. Scrubbing the timeline animates both in sync, showing the pressure field in the flow volume alongside the structural stress response on the wing itself.

The two datasets use different formats (CGNS and EnSight). Kit-CAE imports both without conversion and without requiring that they come from the same solver or file format.

Combined view of CFD pressure field and structural wing in a single scene

Note

This example requires sample data. If you have not already downloaded it, see Examples for the download link.

Dataset#

The data is derived from unsteady URANS CFD results on the BSCW (Benchmark Supercritical Wing) at M = 0.74, Re = 4.49 × 106, computed under prescribed pitch/plunge motion.

File

Format

Field

Description

bscw_cfd.cgns

CGNS

Cp

Pressure coefficient at 4,991 volume nodes (point cloud around the wing)

bscw_struct.case

EnSight Gold

BendingStress

Bending stress on the wing surface (derived from the original surface pressure)

  • Time: 101 time steps

Source attribution and license details are included with the downloaded data.

Import the Data#

Kit-CAE reads directly from each solver’s native format. In this example you import an EnSight Gold file (structural) and a CGNS file (CFD) into the same USD stage without converting either one.

Note

This walkthrough assumes you have already built Kit-CAE. If not, see Get Started for setup instructions.

  1. Launch Kit-CAE.

    On Linux:

    ./repo.sh launch -n omni.cae.kit
    

    On Windows:

    repo.bat launch -n omni.cae.kit
    

Import the Structural Data#

  1. Click File > Import and navigate to:

    {path to}/kit_cae_user_guide_data/examples/03_multi-domain

  2. Select bscw_struct.case. Check Import to Stage and click Import.

    The /World/bscw_struct prim appears in the Stage panel.

    Import dialog with bscw_struct.case selected Stage panel showing the imported bscw_struct prim

Import the CFD Data#

  1. Click File > Import again and select bscw_cfd.cgns from the same folder.

  2. Check Import to Stage and click Import.

    The /World/bscw_cfd prim appears in the Stage panel alongside the structural data.

    Import dialog with bscw_cfd.cgns selected and TimeValue source Stage panel showing both imported datasets

Note

Nothing appears in the viewport yet. Both datasets are loaded into the stage, but you have not created any visual representations.

Visualize Wing Movement#

Start by creating a surface representation of the wing from the structural dataset.

  1. In the Stage panel, expand bscw_struct to /World/bscw_struct/bscw_struct_case/wing_surface.

  2. Right-click wing_surface and select Create > CAE Operations > Faces.

    A new prim (/World/CAE/Faces_wing_surface) appears in the Stage panel and a gray wing mesh appears in the viewport.

  3. Press the Play button on the left sidebar (or press Space) to animate the simulation. You can also drag the timeline to scrub through individual frames.

    Viewport showing the gray wing mesh in a deformed state

Note

The first time you play or scrub through a transient dataset, each frame must be cached before it will play back smoothly in the viewport. Scrubbing the full timeline is the most efficient way to build this cache. Subsequent playback will be smooth.

Tip

Press F with an object selected to focus the camera on it.

Visualize Volume Results#

Next, create a volume representation of the CFD pressure field around the wing.

  1. Hide the wing surface by clicking the eye icon next to /World/CAE/Faces_wing_surface in the Stage panel.

    Stage panel with Faces_wing_surface visibility toggled off
  2. Expand the CFD dataset to /World/bscw_cfd/bscw_cfd_cgns/Base/Zone/GridCoordinates. Right-click GridCoordinates and select Create > CAE Operations > Volume.

  3. When prompted to choose a volume type, select nanovdb.

    Nothing appears in the viewport yet because no field has been assigned.

    Context menu showing Create, CAE Operations, Volume Volume type dialog with nanovdb selected
  4. Select /World/CAE/Volume_GridCoordinates in the Stage panel. In the Property panel, scroll to the Source [Gaussian Splatting] section and set Radius Factor to 8.0.

  5. Still in the Property panel, scroll to Colors [Field Selection] and click Add Target. In the popup, navigate to /World/bscw_cfd/bscw_cfd_cgns/Base/Zone/SolutionVertex0001/Cp and click Select.

    Property panel showing Radius Factor set to 8.0 Add Target button in the Colors field selection Selecting Cp from the SolutionVertex variables

    The viewport now shows the pressure coefficient field as a volume around the wing.

    Viewport showing the CFD volume pressure field around the wing

Bring the Domains Together#

The pressure applied by the flow field induces a stress response on the wing. In this section you combine both visualizations and color the wing by bending stress to see the structural response alongside the aerodynamic loading.

  1. Restore visibility of the wing by clicking the eye icon next to /World/CAE/Faces_wing_surface in the Stage panel.

  2. With /World/CAE/Faces_wing_surface selected, scroll to Colors [Field Selection] in the Property panel and click Add Target. In the popup, navigate to /World/bscw_struct/bscw_struct_case/wing_surface/Variables/BendingStress and click Select.

    Add Target button in the Colors field selection for Faces Selecting BendingStress from the Variables list
  3. Scrub the timeline or press Play to see the bending stress on the wing and the pressure volume change together.

    Combined view of CFD pressure volume and wing colored by bending stress
  4. By default the color range on the wing updates at each frame. To lock it, navigate to /World/CAE/Faces_wing_surface > Materials > ScalarColor > Shader in the Stage panel. Right-click the domain fields, select Locks, then select Lock. Scrub or play the timeline again to confirm the range stays fixed.

    Property panel showing domain fields with Lock selected