Using Virtual Wind Tunnel for ultraFluidX

Use Virtual Wind Tunnel for ultraFluidX to perform an external aerodynamic analysis of a vehicle.

Before you begin, review the following points:
  • Install the most recent version of ultraFluidX. If you are running Virtual Wind Tunnel on a Windows system, you'll need to have a Linux installation of ultraFluidX available for running the solver. If you are running Virtual Wind Tunnel on a Linux system with a supported GPU, no further configuration steps are necessary. The ultraFluidX solver is included in the installation package. If you wish to run a different version of the solver than the one that is shipped with the Virtual Wind Tunnel package, the installation directory of the alternate solver installation can be set under File > Preferences > ultraFluidX.
  • The geometry of the vehicle is described by a surface mesh which can be in a variety of formats (see Supported File Formats for more information). Unlike many other CFD solvers, the ultraFluidX package does not require a water tight surface mesh. This greatly reduces the pre-processing burden when simulating complex geometries.
  • The surface mesh of the vehicle is expected to be in meters [m]. If it is not, use the scale option to scale it to meters.
  • It is assumed that the wind tunnel has its inflow surface at the minimum x-coordinate of the wind tunnel and the flow is going in the positive x-direction. The y-direction is perpendicular to the flow direction and parallel to the wind tunnel ground. The z-direction is perpendicular to the ground of the wind tunnel.

Invoke Virtual Wind Tunnel for ultraFluidX

  1. From the Start menu, select Virtual Wind Tunnel for ultraFluidX.
    On Linux systems, Virtual Wind Tunnel is launched by executing the VirtualWindTunnel_ultraFluidX script that is located in the top level installation directory of the software.
    Virtual Wind Tunnel for ultraFluidX opens, and an empty session is available to start working with.
  2. Invoke the Model Browser and Property Editor from the View menu.
    Both open on the left side of the modeling window.

Import the Surface Mesh Model

There are two files that need to be imported for this tutorial. The first is a surface mesh model in standard Nastran format. The second is an STL file used to model moving reference frames. The files used in this tutorial can be accessed from the Demo Browser.

  1. From the menu bar, click View > Demo Browser.
    The Demo Browser opens.
  2. From the Demo Browser, expand the VWT folder and drag-and-drop the roadster.nas into the modeling window.
    The model is imported into Virtual Wind Tunnel for ultraFluidX and no data conversion (for example scaling or translation) is performed. The model is positioned in the same position as it was during export from the pre-processor.
  3. In the Import Options dialog, verify m is selected and click Close.
    Note: For more information, see Define the Unit System.
  4. From the Demo Browser, VWT folder, drag-and-drop the mrfRegions.stl file into the modeling window.
    The MRF regions are added to the model.
    The Model Browser on the left side of the workspace now shows the model structure with two assemblies and the corresponding part names.


    Figure 1.
  5. Repeat step 3.

Define Wind Tunnel Dimensions

  1. From the ultraFluidX ribbon, Setup group, click the Edit Tunnel tool.


    Figure 2.
    A tunnel is generated around the model.
  2. In the Property Editor, set the Inflow speed to 30.0 m/s.
    Tip: You can also double-click on the large arrow at the bottom of the wind tunnel to set the wind speed.
  3. In the section labeled Boundary Layer Suction, enable the Active checkbox, verify Inflow is selected for Location reference, and set Distance to 10.0 m.
    Any portion of the wind tunnel falling upstream of the boundary layer suction location will be treated as a slip wall. Boundary layer development will not begin until the flow passes the location that is defined in the text box.
  4. Using either the Property Editor or the microdialogs in the modeling window, modify the dimensions of the wind tunnel.
    1. Enter a value of 50.0 m for the length.
    2. Enter a value of 25.0 m for the width.
    3. Enter a value of 16.0 m for the height.


    Figure 3.
  5. Press Esc or right-click in empty space to exit the tool.

Identify Parts

Use the Identify Parts tool to define types of parts like wheels, heat exchangers or body panels, which require specific modeling techniques for the CFD run.

During import, all parts are identified as body by default. This applies a zero-velocity wall boundary condition for the CFD analysis. Besides the default identification, parts can be tagged as a heat exchanger or a wheel.

Specify the Heat Exchangers

  1. In order to better view the heat exchangers, first isolate the relevant parts.
    1. In the Model Browser, click to activate the Search and Filter toolbar.
    2. In the text field, enter rad.
    3. Select all the filtered parts.
    4. Right-click and select Isolate from the context menu or press I.
    Only the parts needed for specifying the heat exchangers are displayed.
    Figure 4.
  2. From the ultraFluidX ribbon, Setup group, click the Identify Parts tool.


    Figure 5.
  3. From the secondary tool set, click the Heat Exchanger tool.


    Figure 6.
  4. Specify the inflow component for the first heat exchanger.
    1. From the secondary tool set, click the In arrow.
    2. Select rad_1_in in the modeling window.


      Figure 7.
  5. Specify the outflow component for the first heat exchanger.
    1. From the secondary tool set, click the Out arrow.
    2. Hold a middle mouse click and rotate the model to view the back side of the heat exchanger.
    3. Select rad_1_out in the modeling window.


      Figure 8.
    As soon as the inlet and outlet of the heat exchanger is defined, Virtual Wind Tunnel automatically identifies rad_1_frame as the connecting wall between those two surface regions.
  6. Create a second heat exchanger by clicking in the Heat Exchangers dialog.
  7. Specify the inflow component for the second heat exchanger.
    1. From the Identify Heat Exchanger tool, click the In arrow.
    2. Hold a middle mouse click and rotate the model to return to the front side view of the heat exchanger.
    3. Select rad_2_in in the modeling window.


      Figure 9.
  8. Specify the outflow component for the second heat exchanger.
    1. From the Identify Heat Exchanger tool, click the Out arrow.
    2. Return to the back side view of the heat exchanger.
    3. Select rad_2_out in the modeling window.


      Figure 10.
    Virtual Wind Tunnel automatically identifies rad_2_frame as the connecting wall between those two surface regions.
  9. Press Esc or right-click in empty space to exit the tool.
  10. Delete rad from the Search and Filter text box.
  11. Right-click in the modeling window and select Show All Parts from the context menu or press A to return to the full model view.
Tip: If needed, the resistance coefficients of heat exchangers can be set using the Property Editor.

Specify the Wheels

When modeling a wheel, a wall boundary condition is prescribed and a rotational velocity is applied.

You need to select the parts forming the wheel, for example tire and rim. All other parameters like center of rotation, axis of rotation, and the angular velocity (in RPM) are computed automatically. If multiple parts are selected, Virtual Wind Tunnel will group the parts into one or more wheels. For example, if you select the brake disc, the rim and the tire of the left front wheel, all three parts will be identified as wheel_1. If you also select the rim and the tire of the left rear wheel, those parts will be grouped into wheel_2.

  1. In order to view all the parts that make up the wheels, you will need to hide the MRF regions.
    1. In the Model Browser, select all the MRF parts in Assembly_2.
    2. Right-click and select Hide from the context menu or press H to hide the selected MRF geometry.
  2. From the ultraFluidX ribbon, Setup group, click the Identify Parts tool.


    Figure 11.
  3. From the secondary tool set, click the Create Wheel tool.


    Figure 12.
  4. Select the tire, rim, hub, and brake disk of the front-left wheel.


    Figure 13.
    Note: You may need to rotate and zoom the model to get a better view of the wheel hub.
  5. Repeat step 4 for the front-right wheel.
  6. For the back wheels, select just the rim and tire.


    Figure 14.
  7. Click on the parts now identified as wheels in the Model Browser.
  8. In the Property Editor, ensure that Auto Calculate is enabled for Wheel Rpm and that the Angular velocity is approximately 933 rpm.
  9. Press Esc or right-click in empty space to exit the tool once all the wheels have been identified.

Specify the MRF Regions

MRF regions define a volume in which the governing equations are solved in a rotating reference frame. This transformation of the equations can lead to higher accuracy for rotating bodies due the addition of centrifugal and Coriolis forces.

  1. Right-click on Assembly_2 in the Model Browser and select Show from the context menu.
    The MRF geometry that was hidden in the previous step is now visible.
  2. From the ultraFluidX ribbon, Setup group, click the Identify Parts tool.


    Figure 15.
  3. From the secondary tool set, click MRF tool.


    Figure 16.
    A guide bar appears below the tool.
  4. Click the tire on the front-left wheel.
    The entire wheel group is selected. To double-check, you can hide MRF-left_front and observe the parts you selected as the wheel in the previous step.
  5. On the guide bar, click MRF.
  6. Select the grey disk on the front-left wheel as the MRF region.
    The region is highlighted blue.


    Figure 17.
  7. Click on the guide bar to confirm your selection.
  8. Click Wheel on the guide bar then select the tire on the front-right wheel.
  9. Click MRF then select the tire's associated MRF region.
  10. Repeat the above process for the rear wheels.


    Figure 18.

    The angular velocity and center of rotation of the rotating frames are extracted from the wheel definitions.

Tip: Click on the guide bar to clear a selection.

Optional: Specify the Fan

  1. From the VWT folder of the Demo Browser, drag-and-drop the fan_osm.stl file into the modeling window.
    Tip: You can open the Demo Browser by selecting View > Demo Browser from the menu bar.
    The fan opens in the modeling window.
  2. In the Import Options dialog, verify m is selected and click Close.
  3. Hide the parts of the roadster model.
    Tip: To show and hide a part, you can select the part and press H.
  4. From the ultraFluidX ribbon, Setup group, click the Identify Parts tool.


    Figure 19.
  5. From the secondary tool set, click the Create Fans tool.


    Figure 20.
    The Fan dialog opens.
  6. For the Selector, select the fan in the modeling window.
  7. For Fan Model, select OverSet.
  8. In the Fan dialog, select Solid Revolution and select the fan_volume part in the modeling window.


    Figure 21.
  9. Adjust the refinement level.
  10. Enable the Interface Refinement checkbox, to refine the interface of the Overset volume.
  11. Adjust the Refinement Level of the interface refinement.
    The Element Size will be adjusted automatically.
  12. Complete one of the following:
    • Select to confirm your selections and continue specifying fans.
    • Select to confirm your selections and exit the dialog and tool.
    • Select to clear your selections and start over.
    • Select to exit the tool without confirming your selections.
  13. Show the roadster model parts that were hidden in step 3.

Review Identified Parts

  1. From the ultraFluidX ribbon, Setup group, Identify Parts tool group, click the Parts tool.


    Figure 22.
  2. In the Parts dialog, check that you identified the correct parts as wheels and heat exchangers.


    Figure 23.
  3. Optional: Click to export the part definitions as an .xml template file for use with later simulations.
Tip: View the Group column by right-clicking on a column name, selecting Group from the options dialog and clicking OK.

Define the Mesh Controls

Use the Mesh Controls tool to define regions with a user-defined volume element size.

Important: All other mesh controls in the model are defined relative to the far field size, and must be a power of 2 of the far field size. For example, if you define a far field mesh size of 1 m, the available refinement sizes will be 0.5, 0.25, 0.125, etc.

Set the Far Field Element Size

  1. From the ultraFluidX ribbon, Setup tools, click the Mesh Controls tool.


    Figure 24.
  2. From the secondary tool set, click the Far Field tool.


    Figure 25.
  3. Verify the element size value is set to 0.2 m.

Generate Box Refinement Zones Around the Body

  1. From the ultraFluidX ribbon, Setup group, click the Mesh Controls tool.


    Figure 26.
  2. From the secondary tool set, click the body of the Box tool.


    Figure 27.
  3. Select any location on the model body.
    A new refinement zone is generated around the body.
  4. Enter a value of 3 for Level and press Enter.
    The element size is changed to 0.0250 m.


    Figure 28.
  5. In the Property Editor, edit the dimensions of the refinement zone so that the length is 5.0 m, the width is 2.0 m, the height is 2.0 m, and X Min extent is -1.0 m.


    Figure 29.
  6. In the microdialog, click .
    A second box refinement zone is generated.
  7. Enter a value of 2 for Level and press Enter.
    The element size is changed to 0.0500 m.
  8. In the Property Editor, edit the dimensions of the refinement zone so that the length is 7.0 m, the width is 3.0 m, the height is 2.5 m, and the X Min extent is -1.0 m.
  9. Click once more.
    A third box refinement zone is generated.
  10. Enter a value of 1 for Level and press Enter.
    The element size is changed to 0.100 m.
  11. In the Property Editor, edit the dimensions of the refinement zone so that the length is 9.0 m, the width is 4.0 m, the height is 3.0 m, and the X Min extent is -1.0 m.


    Figure 30.

Generate Box Refinement Zones Around Parts

  1. From the ultraFluidX ribbon, Setup group, click the Mesh Controls tool.


    Figure 31.
  2. From the secondary tool set, click wheel of the Box tool.


    Figure 32.
  3. Select the left mirror housing in the modeling window.
    A box refinement zone is generated around the part.
  4. In the microdialog, enter a value of 5 for Level.
    The element size is changed to 0.00625 m.
  5. Modify the refinement zone's dimensions.
    1. In the microdialog, click .
    2. Enter a value of 0.50 m for length.
    3. Enter a value of 0.20 m for width.
    4. Enter a value of 0.15 m for height.


    Figure 33.
  6. Generate a box refinement zone around the opposite mirror housing using the same dimensions for level, length, width, and height.

Generate a Body-Fitted Refinement Zone

As opposed to the Box tool, which creates a box-shaped refinement zone, the mesh refinement patterns of the Offset tool follow the contour of the body itself. This creates refinement around the body where it is needed most, eliminating unnecessary refinement that may result from a box-shaped zone.
  1. From the ultraFluidX ribbon, Setup group, click the Mesh Controls tool.


    Figure 34.
  2. From the secondary tool set, click the body of the Offset tool.


    Figure 35.
  3. Select a point on the model body.
  4. In the microdialog, use the drop-down menu to change the method from Distance to Layers.
  5. Enter a value of 4 for Level.
    The element size is changed to 0.0125 m.
  6. Set the number of layers to 8.


    Figure 36.
Tip: You can also change the distance or number of layers by interactively dragging the slider in the modeling window.

Generate Part-Fitted Refinement Zones

As opposed to creating a body-fitted refinement zone on the entire body, it is also possible to create a body-fitted refinement zone around a single part, or a collection of parts. This creates refinement around parts where it is needed most, eliminating unnecessary regions.
  1. From the ultraFluidX ribbon, Setup group, click the Mesh Controls tool.


    Figure 37.
  2. From the secondary tool set, click the wheel of the Offset tool.


    Figure 38.
  3. Hold Ctrl and left-click on all four sets of tires and rims in the modeling window.
  4. In the microdialog, use the drop-down menu to change the method from Distance to Layers.
  5. Enter a value of 5 for Level.
    The element size is changed to 0.00625 m.
  6. Set the number of layers to 5.


    Figure 39.
  7. Click .
    A second part-fitted refinement zone is created around the four wheels.
  8. Enter a value of 4 for Level.
    The element size is changed to 0.0125 m.
  9. Set the number of layers to 10.


    Figure 40.
  10. Press Esc or right-click in empty space to exit the tool.
Tip: You can also change the distance or number of layers by interactively dragging the slider in the modeling window.

Review Mesh Controls

  1. From the ultraFluidX ribbon, Setup group, Mesh Controls tool group, click the Zones tool.
    Figure 41.
  2. Double-check the refinement zones and make sure they match what's displayed in Figure 42.


    Figure 42.
  3. Optional: Click to export the mesh control definitions as an .xml template file for use with later simulations.
  4. Click Close to exit the dialog.

Define the Belt System

  1. From the ultraFluidX ribbon, Setup group, click the Belt System tool.


    Figure 43.
    By default, five patches are created on the wind tunnel ground for modeling the belt system.


    Figure 44.
  2. Accept the default parameters for the belts.
Tip: The properties belts can be modified in the Property Editor
.

Define the Output Frequency

  1. From the ultraFluidX ribbon, Output group, click the General Output tool.


    Figure 45.
    The ultraFluidX Output Controls dialog opens.
  2. In the ultraFluidX Output Controls dialog, enter 100 for the output frequency.

Submit Job

  1. From the ultraFluidX ribbon, Run group, click the Run VWT tool.


    Figure 46.
  2. In the Write to ultraFluidX dialog, enter a name for the run.
  3. Click Results to view more options.
  4. Accept all other default parameters.


    Figure 47.
  5. Click Run.
    If you are running Virtual Wind Tunnel on a Linux system with a supported GPU, no further configuration steps are necessary. If you are running Virtual Wind Tunnel on a Windows system, you'll need to have a Linux installation of ultraFluidX available for running the solver. To run the solver from Windows:
    1. Click Export.
    2. Copy the .stl and .xml files that are created in the run directory over to Linux.
    3. Launch the solver by executing the ufxRun script, located in the installation directory at <installation_directory>/altair/scripts.
      Use the "ufxRun -h" option to view the help page.

Plot Aero Coefficients

  1. From the ultraFluidX ribbon, Run group, click the Plot Aero Coefficients tool.


    Figure 48.
  2. Browse to the path you defined as the default run directory and select uFX_coefficients_Inst.txt .
    A graph of the instantaneous lift, drag, and side force coefficients is displayed.


    Figure 49.
  3. Browse to the default directory once more and select uFX_coefficients_Avg.txt.
    A graph of the time averaged lift, drag, and side force coefficients is displayed.


    Figure 50.
  4. Middle-mouse scroll to zoom in on points of interest in the plot.
    Note: Other plots, including coefficients for each part individually are also available in the output directory.
Tip: Right-click on the legends, axes, or individual plots to edit the display properties.