Ventus User Manual


Thunderhead Engineering makes no warranty, expressed or implied, to users of Ventus, and accepts no responsibility for its use. Users of Ventus assume sole responsibility under Federal law for determining the appropriateness of its use in any particular application, for any conclusions drawn from the results of its use, and for any actions taken or not taken as a result of analyses performed using these tools.

Users are warned that Ventus is intended for use only by those competent in the fields of fluid dynamics, thermodynamics, combustion, and heat transfer, and is intended only to supplement the informed judgment of the qualified user.

The software package is a computer model that may or may not have predictive capability when applied to a specific set of factual circumstances. Lack of accurate predictions by the model could lead to erroneous conclusions with regard to fire safety. All results should be evaluated by an informed user.

All other product or company names that are mentioned in this publication are tradenames, trademarks, or registered trademarks of their respective owners.

Throughout this document, the mention of computer hardware or commercial software does not constitute endorsement by Thunderhead Engineering, nor does it indicate that the products are necessarily those best suited for the intended purpose.


We would like to thank Steven Emmerich, William Stuart Dols, Brian Polidoro, and Andrew Persily in the Indoor Air Quality and Ventilation Group at the National Institute of Standards and Technology. They are the primary authors of CONTAM and associated programs, without which Ventus would not exist. They have been gracious in their responses to our many questions.

We would also like to gratefully acknowledge engineers at Performance Based Fire Protection Engineering, Coffman Engineers, Inc., and Jensen Hughes for their guidance and feedback on early versions of Ventus.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the external contributors.

1. Getting Started

1.1. Introduction

Ventus is a graphical user interface for CONTAM version CONTAM is closely integrated into Ventus, and is developed at the National Institute of Standards and Technology (NIST).

Below is an overview of CONTAM from the NIST website:

CONTAM is a multizone indoor air quality and ventilation analysis computer program developed to help you determine:

  • airflows: infiltration, exfiltration, and room-to-room airflows in building systems driven by mechanical means, wind pressures acting on the exterior of the building, and buoyancy effects induced by the indoor and outdoor air temperature difference.
  • contaminant concentrations: the dispersal of airborne contaminants transported by these airflows; transformed by a variety of processes including chemical and radio-chemical transformation, adsorption and desorption to building materials, filtration, and deposition to building surfaces, etc.; and generated by a variety of source mechanisms, and/or
  • personal exposure: the prediction of exposure of occupants to airborne contaminants.

CONTAM can be useful in a variety of applications. Its ability to calculate building airflow rates and relative pressures between zones of the building is useful for assessing the adequacy of ventilation rates in a building, for determining the variation in ventilation rates over time, for determining the distribution of ventilation air within a building, and for estimating the impact of envelope air-tightening efforts on infiltration rates and associated energy implications. CONTAM can has been dynamically coupled with energy analysis programs including EnergyPlus and TRNSYS. The program has been used extensively for the design and analysis of smoke management systems. The prediction of contaminant concentrations can be used to determine the indoor air quality performance of buildings before they are constructed and occupied, to investigate the impacts of various design decisions related to ventilation systems and building material selection, to evaluate indoor air quality control technologies, and to assess the indoor air quality performance of existing buildings. Predicted contaminant concentrations can also be used to estimate personal exposure based on occupancy patterns within a building model.

Over time, more of the capabilities in the CONTAM simulator will be exposed through the Ventus interface.

The Ventus interface provides immediate input feedback and ensures the correct format for the CONTAM input file.

Feature Highlights
  • Import CAD or build on top of imported floor plans to quickly and accurately model your building in fully rendered 3D.
  • High-level 2D and 3D geometry drawing tools.
  • Flexible unit system that supports working in either SI or English units.
  • Simple tooling to create flow paths which represent leakage relationships between zones.
  • Single-click to create air handling system points for supply and return.
  • Manage varying conditions including outdoor temperature and wind direction all within one model.
  • Tabulate aggregated results data to examine pressure differences between stairwells and their entry hallways by reviewing your results in an easily digestible format.
  • Integrated 3D visualization and post-processing.

In summary, Ventus helps you quickly and reliably build complex pressurization and ventilation models.

1.2. System Requirements

1.2.1. Minimum System requirements

Table 1. Minimum System Requirements
Operating System:Windows 10Windows 10
Processor:Core i5 3570 (4 core)Athlon x4 970 (4 core)
Graphics Card:Integrated HD GraphicsIntegrated HD Graphics

1.3. Download and Install

You can download the current version, sign up for a free trial, and purchase the software from the Ventus Support Page. This page also provides instructions for installation and activation. Troubleshooting info can be found on the Ventus Knowledge Base. There is no functional difference between the trial version of Ventus and the full version, the only limitation is the trial license duration.

When installing Ventus, the installer will either upgrade an existing version or install Ventus if it doesn’t exist yet.

Administrator privileges are required to install Ventus. This is necessary because the installer adds processes to the operating system for license management and CONTAM simulation. The Ventus installer will also add Windows Defender exclusions for the bundled CONTAM executables in order to avoid performance issues related to Windows Security.

Ventus will regularly check for and notify the user of available updates to the software when configured to do so. By default, Ventus will check for updates on startup and display the relevant information in the Check For Updates dialog when one is available.

vnts ui dialog check for updates
Figure 1. The Check For Updates dialog.

Users can also access this dialog by navigating to Help  Check For Updates.

The dialog can be disabled on startup by unchecking Check for newer version on startup. Users can skip the current update by clicking the Skip Update button, preventing update notifications until a new version is released beyond the latest version.

1.4. Some Modeling Suggestions

Take the time to work through the examples.
See the Ventus Fundamentals course where we provide a series of modules that guide you through increasingly complex modeling concepts. It is worth your time to work through these examples.
Remember to "start small"
When developing a new model, don’t just rush in and make the final model. Use small models to make sure you understand the details and test that things are working as expected.

1.5. Additional CONTAM Documentation

In preparing this manual, we have liberally used descriptions from the CONTAM User’s Guide (Dols and Polidoro 2020). Links to the CONTAM Users Guide and the CONTAM Technical Reference, are included in Ventus on the Help menu. You can also download documentation, executables, and verification and validation examples from the CONTAM webpage.

1.6. Contact Us

Thunderhead Engineering
403 Poyntz Avenue, Suite B
Manhattan, KS 66502-6081

Sales Information:
Product Support:
Help Site & Forum
Phone: +1.785.770.8511

2. Ventus Interface

Ventus provides two primary panels for working on Ventus models, the Object Tree and the 2D/3D Workspace. If an object is added, removed, or selected in one panel, the other will simultaneously reflect the change. Each panel is briefly described below.

Object Tree
This lists all objects in the model in a hierarchical format. It can be used to quickly locate and modify objects by name.
2D/3D Workspace
This shows a visual representation in 2D or 3D projections of the current model. The model can be explored and modified using various tools. Views in 2D mode provide an additional snapping grid and an orthographic projection of the model.

2.1. Object Tree

The Object Tree helps you quickly find objects and data that are not always easily accessible from the Workspace.

The Object Tree is arranged in the following groups:

This group contains a list of imported that can be applied to faces contained in the imported geometry. In Ventus, a Material defines the visual appearance of a face. (Chapter 5)
This group contains user-defined camera positions. (Chapter 6)
Imported Geometry
This group stores items that were imported from an image or other supported CAD model format. These objects do not affect the simulation but are carried through to help with visual reference in the modeling effort and results analysis. (Chapter 4)
Flow Elements
This group contains the flow element types that have been created using the Edit Flow Elements dialog. (Chapter 9)
Flow Paths
This group contains user-defined flow paths that connect Zones in the model using the defined Flow Elements in the previous group. (Chapter 10)
Wind Profiles
This group contains user-defined data about the simulated Wind conditions acting on zone faces that are exposed to wind. (Chapter 11)
Air Handling Systems
This group stores all Air Handling Systems (AHS) zone points defined in the model to supply or extract gasses from the Zones. (Chapter 12)
This group defines the elevation Levels in the model, and each Level contains Zones. (Chapter 7)
vnts ui view nav group levels
Figure 2. Object Tree with the Levels group expanded.

The buttons directly above the Object Tree performs the following actions:

path ui icon auto expand Auto Expand Selection
When an object (or occupant) in the Workspace is selected, this action will expand the groups of the Object Tree as needed to show the selected object.
path ui icon collapse all Collapse All
Collapses all expanded groups in the Object Tree.
path ui icon expand all Expand All
Expands all groups in the Object Tree (including subgroups).

The Level selection box above the Object Tree (see the top of Figure 2) can be used to manage levels. Any time a Zone is created it is added to a level group matching the current selection in the Level box. Changing the selection in the Level box will cause the newly selected level to be shown and all other levels to be hidden. Also, the Z property for all drawing tools will automatically default to the height of the level currently selected in the Level box. The visibility of any object or group of objects can always be manually set using the right-click context menu. This technique is useful if you want to show two levels at the same time (e.g. when creating a stairwell shaft).

There are additional options available to manage level view and selection in the Level Creation panel (Figure 18), which is detailed in Section 7.1. This panel is available when nothing is selected and no tools are active.

The Show lower level option in the Active Level section, when selected, will always show the level immediately below the current active level. This is to help with drawing snap references and to check alignment of zones and components in the model. If unselected, the level immediately below the active level will be hidden.

If Show lower level is selected, then an additional option will be available to Limit selection to active level. This will limit selection to only items that belong to the current active level.

2.1.1. Groups

Groups can be used to hierarchically organize the model. Groups can only be seen in the Object Tree. Users can nest groups inside other groups, allowing the user to work with thousands of objects in an organized way. When the user performs an action on a group, that action will be propagated to all objects in the group. Creating Groups

To create a new group:

  1. Right-click the desired parent group in the Object Tree
  2. Select New Group or select New Group Node from the Model menu.
  3. A dialog will display allowing the user to select the parent group (which will automatically be selected if performed from the right-click menu) and a name for the new group.
  4. Click "OK" to create the new group.
vnts ui dialog group create
Figure 3. Create Group dialog Adding Objects to Groups

An object can be moved from one group to another at any time.

To change an object’s group:

  1. Drag the object to the desired group in the Object Tree or right-click the object and select Change Group.
  2. This will show a dialog that will allow the user to choose the new group. The options shown for the new group will only be valid groups for which the group can be changed.
  3. Select "OK" to change the group.
vnts ui dialog group change
Figure 4. The Change Group dialog

2.2. 2D/3D Workspace

The 2D/3D Workspace as shown in Figure 5 is the panel where much of the modeling work is performed in Ventus. The Workspace contains tools to draw Zone geometry, Flow Paths, AHS zone point locations and navigate the model. There are two camera projection modes. The main difference between the two modes is that the 3D mode allows the model to be viewed from any direction, whereas the 2D mode only allows viewing from one, orthographic direction. In addition, the 3D mode contains no snap grid, whereas the 2D mode does. The 3D mode is entered by selecting the perspective camera, path ui icon view 3d, and the 2D mode is entered by selecting one of the orthographic cameras, path ui icon view 2d top, path ui icon view 2d front, or path ui icon view 2d left.

Several buttons are located at the top of the Workspace, providing various camera modes, display options, and navigation modes. The panel under this is known as the Property Panel and is selection context-sensitive. If a drawing tool is selected, it will show properties that can used to help draw. If no drawing tool is selected, and an object or several objects are selected, this panel will show the properties relevant to the selection. The panel of buttons on the left shows move/copy and drawing tools. The small panel at the bottom displays messages relevant to the current tool.

vnts scrn views 2d 3d
Figure 5. Workspace in 2D mode

2.2.1. Navigating the Workspace in 3D mode

Several tools are provided for navigating through the model in the 3D mode including orbit, roam, pan, and zoom tools.

Ventus can be navigated while using the Selection/Manipulation tool, path ui icon select. To Orbit the camera while in 3D mode, use a right-click and drag combination. Similarly, use a middle-click and drag to Pan in perspective view. To Zoom in and out of the model, use the scroll wheel on the mouse.

A navigation tool for the 3D mode is the Orbit tool, path ui icon orbit.

  • By left-clicking and dragging, the model is rotated about its center point.
  • The scroll-wheel can be used to zoom in and out on a specific point.
  • Holding SHIFT on the keyboard and then clicking and dragging will pan the camera.
  • Holding ALT while dragging will zoom in and out.

Another navigation tool in the Workspace is the Roam tool, path ui icon roam. This tool allows the camera to move in and out of the model at will. It has a higher learning curve but is the most flexible viewing tool because it allows the camera to be placed anywhere in the model. This tool can work in three different modes. In the first two modes, the movement speed of the camera can be changed by holding CTRL and spinning the mouse wheel up or down. Spin it up to increase the speed and down to decrease the speed.

Mouse+Keyboard Mode
Click and drag the left mouse button to look around. The camera will remain stationary. Dragging the mouse up will make the camera look up, dragging it down will look down, and dragging it left and right makes it look left and right. Holding CTRL while dragging will make the camera move forward and backward in the XY plane, and holding ALT while dragging will make the camera move up and down along the Z axis.
This mode mimics the controls in video games. Click and drag to look around as in the previous mode. Press the W key to move forward along the viewing direction, S to move backward, A to move to the left, and D to move to the right. SPACE moves the camera up along the Z-axis, and C moves the camera down. Pressing these keys moves the camera at a fixed speed. Holding SHIFT while pressing the keys doubles the speed.
Mouse-only Mode

This mode smoothly animates the camera to any location using only the mouse. To do so, press and release the middle mouse button. The cursor will disappear, and the tool will enter Mouse-only Mode. In this mode, moving the mouse will look around as in the other modes except that the mouse button doesn’t have to be pressed. Pressing and dragging the left mouse button will move the camera in the XY plane. The further the mouse is moved from its button press, the faster the camera will move. This can simulate the effect of accelerating the camera. Doing the same with the middle mouse button will cause the camera to move forward/backward in the XY plane with changes along the Y mouse axis and turn left/right with changes along the X mouse axis. Pressing and dragging the right mouse button will move the camera along the Z axis in the same manner. To exit Roam Mode, press and release the middle mouse button again or press ESC on the keyboard.

The other navigation tools include a Pan/Drag tool, which moves the camera left and right and up and down, a zoom tool, which zooms in and out of the model while click-dragging, and a zoom box tool, which allows a box to be drawn that specifies the zoom extents.

2.2.2. Navigating the Workspace in 2D mode

Navigation in the 2D projection is simpler than in 3D. The Selection/Manipulation tool not only allows objects to be selected if single-clicked, but it allows the view to be panned by middle or right-clicking and dragging, and the view to be zoomed by using the scroll wheel. The drag and zoom tools are also separated into separate tools for convenience.

2.2.3. Resetting the View

At any time, the camera can be reset by pressing CTRL+R on the keyboard, or selecting Reset All tool, path ui icon view reset. This will cause the entire model to be visible in the current view. For all navigation tools but the Roam tool, reset will make the camera look down the negative Z axis at the model. For the roam tool, however, reset will make the camera look along the positive Y axis at the model.

The camera can also be reset to the current selection at any time by pressing CTRL+E. This will cause the camera to zoom in on the selected objects and the orbit tool to rotate about the center of their bounding sphere.

2.2.4. Filling the View

Very similar to resetting the camera, the view can be fit by pressing F on the keyboard or selecting the Fill View tool, path ui icon view fill. The difference between the Fill View and Reset All tools is that filling the screen does not change the view angle of the camera. Instead, the camera will recenter/rezoom to fit the screen.

2.3. Results

The Results Panel (Section 14.3) provides the ability to quickly observe and filter run results such as to perform an analysis of a specific shaft.

vnts ui results panel
Figure 6. The Results Panel

2.3.1. Showing and Hiding the Results Panel

To display the Results Panel select one of the Result tabs from the right hand side of screen. To hide the Results Panel, click the open results tab again.

3. Drawing in Ventus

Ventus provides some useful drawing features, including the following:

  • Snapping to grids and objects
  • Precise keyboard entry
  • 2D and 3D drawing, each having strengths over the other
  • Editing tools
  • Transforming tools

3.1. Drawing/Editing Tool Overview

Ventus provides several drawing and editing tools. These tools are located on the drawing toolbar at the left side of the Workspace as shown in Figure 7.

vnts ui toolbar draw edit
Figure 7. Drawing/Editing toolbar

The sections referenced below provide more detail on the specific tools available.

For each tool there are often two ways to create its object.

  • Draw the object graphically using the mouse and keyboard.
  • Interactively create the object by typing information such as coordinates, widths, etc., in the tool’s property panel.

The property panel will update the graphical preview immediately to reflect changes in the input. This allows fine-grained control in creating the object.

Drawing can be performed in both the 2D and 3D modes. The 3D mode allows the user to see the model from any angle, but most tools restrict drawing in the XY plane. The top view completely restricts drawing to the XY plane, but it also displays an optional snap grid. The snap grid size can be set under View  Edit snap grid spacing, and it can be turned off by deselecting View  Show Snap Grid.

3.1.1. Draw Tool Navigation

While using any of the drawing tools, the mouse can still be used to zoom or pan the camera as follows:

Use the scroll wheel on the mouse to zoom in or out.
Click+drag the middle mouse button to pan the camera.

3.1.2. Selecting a Tool

To begin drawing or editing with a tool, the user can single-click the tool from the toolbar. Once the tool has finished drawing/editing its object, the last-used navigation tool is automatically selected.

If the user would like to create several objects with the same tool in succession, the desired tool can be pinned by clicking the tool’s button twice.

The button will show a green dot when pinned (vnts ui icon wall pinned).

Every time the same tool button is clicked, the pinned state of that tool will be toggled, so clicking the button again after pinning will disable pinning (vnts ui icon wall unpinned).

At any time, the current drawing/editing tool can be cancelled by pressing ESC on the keyboard. This will also cancel pinning and will revert to the last-used navigation tool.

3.1.3. Tool Modes

Most drawing/editing tools require at least two points to be specified to complete its action, such as drawing the points for a polygonal room or defining a flow path between walls.

These tools can operate in two modes:

Multi-click mode
This mode allows the user to specify each desired point by single-clicking the left mouse button for each point. This mode also facilitates precise keyboard entry.
Click-drag mode
This mode only allows the user to specify two points. When the left mouse button is pressed, the first point is committed. Then the mouse is dragged to the next location while still holding the left mouse button. The button is then released to specify the second point.

3.2. 2D Versus 3D Modes

There are some key differences between drawing in the 2D and 3D modes. The 2D mode is useful when drawing should be restricted to one pre-defined plane. It is also useful for lining up objects along the X, Y, or Z axes. The 3D mode is useful when an object such as a flow path needs to be snapped to the face of an obstruction or if the user would like to build objects by stacking them on top of one another.

3.2.1. 2D Mode Drawing

When drawing in the 2D mode, the drawing will always take place in the drawing plane specified in the tool properties, and snapping is only performed in the local X and Y dimensions. The local Z value will remain true to the drawing plane. In addition, if a tool has some sort of height or depth property, the tool will also remain true to that value.

3.2.2. 3D Mode Drawing

The 3D mode uses snapping in all three dimensions, causing tool properties to be interpreted more loosely. The drawing plane and depth properties for a drawn object are context-sensitive in 3D mode. When using tools such as the flow path tool, the first clicked point determines the drawing plane. If, on this first click, another object is snapped to, the drawing plane is set at the Z location of that snap point. The tool properties' drawing plane is only used if nothing is snapped to on the first click.

3.2.3. Projected Drawing in 3D Mode

Once the drawing plane for a tool has been established by moving the cursor to a general position, a dotted line will appear and show how the snapped point was projected to another plane, in helping determine an accurate position. For instance, Figure 8 shows a new flow path being drawn to a side wall of the zone.

vnts scrn snap other plane
Figure 8. Snapping to another plane in the Workspace

3.3. Object Selection

Ventus relies heavily on the idea of selected objects. For almost all operations, the user first selects an object(s) and then changes the selected object(s). The Selection Tool (pyro ui icon select) is used to select objects.

  • A left mouse click on an object in any view will select it.
  • Holding Ctrl while clicking will toggle the item in the selection, adding previously unselected items and removing previously selected items.
  • Holding Alt while clicking an object in the Workspace will select the entire group that the object belongs to.
  • In the Object Tree, a range of objects can be selected by clicking the first object, then holding Shift while clicking the last object.
  • In the Workspace, multiple objects can be selected with the Selection Tool and a click-drag motion to define a selection box.

Once objects have been selected, the user can modify the object using the menus.

Selection can be made in any of the views using the Selection tool. Multiple objects can be selected using the Ctrl key or click and drag to define a box. In the Object Tree, the Shift key can be used to select a consecutive list of objects.

3.4. Double-Click to Edit

Double-clicking on an object opens the appropriate dialog for editing the object properties, when such a dialog exists.

3.5. Context Menus

A right-click on a selection displays a context menu. This menu includes the most common options for working with the object. The user may also right-click on individual objects for immediate display of the context menu.

3.6. Editing Objects

Nearly all geometric objects can also be graphically edited in the Workspace with the Select/Manipulate Tool (pyro ui icon select).

Editing is performed through an object’s editing Handles. Handles appear on an object either as a blue dot as shown in Figure 9 or a face with a different color. The dots indicate a point that can be moved in either two or three dimensions. A discolored face indicates that a face can be moved or extruded along a line.

vnts scrn edit handles
Figure 9. Editing handles on an object

To graphically edit an object, perform the following:

  1. Select the Select/Manipulate Tool from the navigation toolbar.
  2. Select one object to edit If the object can be graphically edited, blue editing handles will appear.
  1. Hover the cursor over the desired handle. If the handle is a dot, it will turn yellow. If the handle is a face, the entire face will turn yellow.
  2. Move the handle using Click-drag Mode or Multi-click Mode to specify two points defining the movement vector.

3.7. Transforming Objects

Ventus provides a variety of tools to transform geometry objects. With the transform tools, users can move, rotate, and mirror objects.

3.7.1. Move Tool

This tool allows the user to move selected objects to a new location, or to create and move a copy of the selected objects.

To use this tool, perform the following:

  1. Select the desired objects to move from any of the views.
  2. Select the Move Tool (path ui icon translate) from the drawing toolbar.
  3. Use Click-drag Mode or Multi-click Mode to draw two points defining the movement vector.

3.7.2. Rotate Tool

This tool allows the user to rotate selected objects, or to create and rotate a copy of the selected objects.

To use this tool, perform the following:

  1. Select the desired objects to rotate from any of the views.
  2. Select the Rotate Tool (path ui icon rotate) from the drawing toolbar.
  3. Single-click to specify the rotation center.
  4. Single-click another point to define a reference vector from the first point to the second point. This reference vector is what the angle is based from.
  5. Single-click a third point to define the angle vector from the first point to the third point.

The selected objects will be rotated by the angle between the reference and angle vectors.

The following defines the axis about which objects are rotated for each view:

  • 3D Mode: Z axis
  • 2D Top View: Z axis
  • 2D Front View: -Y axis
  • 2D Left View: -X axis

3.7.3. Mirror Tool

The mirror tool allows selected objects to be mirrored across a plane, or to create a mirrored copy of the selected objects.

To use the mirror tool, perform the following:

  1. Select the desired objects to mirror from any view.
  2. Select the Mirror Tool (path ui icon mirror) from the drawing toolbar.
  3. Use Click-drag Mode or Multi-click Mode to define two points that create a plane about which the selected objects are mirrored.

3.8. Measuring Length/Distance

Ventus provides a Measure Tool (pyro ui icon measure) to measure distances in the model.

To measure a distance, perform the following:

  1. Select the Measure Tool.
  2. Either click several points to measure the total distance along a path or click-drag to measure a single distance between two points. As the cursor is moved, the current cursor location and total path length are displayed.

3.9. Snapping

Snapping is one way to precisely draw and edit objects. It is the process of finding some element in the scene, such as a vertex or edge close to the cursor, and snapping the cursor to that element like a magnet.

In Ventus, snapping can be performed against objects in the model and orthographic constraints. The 2D mode additionally provides a sketch grid and polar (angle) constraints. If a snap point is found, an indicator dot, shown in Figure 10, will appear at the snap point.

pyro ui icon mouse snap point dot
Figure 10. Snap point indicator dot

By default, snapping is enabled. It can be disabled by holding ALT on the keyboard while using a drawing/editing tool.

3.9.1. Sketch Grid Snapping (2D Mode Only)

Ventus provides a user-defined drawing grid, or sketch grid, in 2D mode. When a new model is created, the sketch grid is visible and can be snapped to in 2D mode. The default spacing for the divisions is 0.5 m, but can be changed by going to the View menu and clicking Edit Snap Grid. To disable grid snapping, on the View menu uncheck Show Snap Grid.

3.9.2. Object Snapping

All objects displayed in the model can be snapped to when using the drawing/editing tools. There are three basic categories of geometry that can be snapped to on objects: faces, edges, and vertices. Objects can have any combination of types. If there are multiple types close to the cursor, Ventus will give vertices precedence over edges and edges precedence over faces.

3.9.3. Constraint Snapping

Constraints are dynamic snapping lines that are only visible when the cursor is near them. They appear as infinite dotted lines that extend from the most recent relevant clicked point when using a multi-point tool.

Ventus contains two types of constraints:

These constraints allow the user to snap to a line parallel to the X, Y, or Z axis from the last relevant point. For instance, when using the Copy/Move Objects tool and after clicking the initial reference point, there will be three orthographic constraints extending from the reference point to aid in specifying an offset point or distance.
Polar (2D Mode Only)
These constraints are similar to orthographic constraints, but they are found at 15 degree increments from the current view’s local X axis.

3.9.4. Constraint Locking

If the cursor is currently snapping to a constraint, that constraint can be locked by holding SHIFT on the keyboard. While holding SHIFT, a second dotted line will extend from the cursor to the locked constraint (the first dotted line). This is useful for lining up objects along a constraint with other objects.

3.9.5. Snapping in Different Modes

Snapping behavior may change depending on which modeling tool is selected and whether a 2D or the 3D mode is active. If the 3D mode is active, the cursor will snap to a 3D coordinate, which may then be further restricted by the tool. Most tools will indicate the snapped position in the status bar at the bottom of the modeling panel.

3.9.6. Asynchronous Snapping

Snapping may be a slow operation in complex models. In these cases, asynchronous snapping is used to keep the cursor and application responsive while the snapping operation takes place in the background. During asynchronous snapping, a wait cursor will appear at the cursor crosshairs while the snapping completes. While this takes place, either keep the cursor still to allow the current snapping operation to complete or move the cursor to abort the operation and snap to a different location. Asynchronous snapping can be disabled by unchecking File→Preferences→Enable asynchronous snapping. Note that if it is disabled, the cursor may briefly hang and the application will become unresponsive while these long snapping calculations take place.

3.10. Undo/Redo

All geometric changes to the model can be undone and redone using the Undo (pyro ui icon undo) and Redo (pyro ui icon redo) buttons, as well as Ctrl+Z and Ctrl+Y, respectively.

3.11. Copy/Paste

Select an object to copy, then either use Ctrl+C or Edit→Copy to copy. Alternately, right-click on an object to display the context menu with Copy.

Either use Ctrl+V or Edit→Paste to paste a copy of the object. Alternately, right-click on an object to display the context menu with Paste.

3.11.1. Copy/Paste from Other Models

By running two instances of Ventus, you can copy objects from one model and paste them into a second model. If the copied objects are dependent on other objects, such as a flow path that is dependent on a flow element, and those dependencies do not already exist in the second model, these properties will be included as part of the paste payload.

3.12. View Options

Ventus provides a variety of view options for displaying both model geometry and imported geometry that can also aid with drawing. This includes options for rendering geometry, coloring zones, and setting the transparency of zones.

3.12.1. Object Visibility

Often it is desirable to turn off the display of selected objects, for example, to hide a roof of a building in order to visualize the interior. In any of the views, right-click on a selection to obtain the following options:

  • Hide - This turns off the display of the selected object(s).
  • Show - This turns on the display of the selected object(s).
  • Filter - This turns off the display of all objects except the selection(s).
  • Show All - Turns on the display of all objects.

3.12.2. Render Options

In the toolbar above the properties window in the Workspace, there is a drop-down as shown in Figure 11 and buttons as shown in Figure 12 that control how geometry is rendered.

vnts ui toolbar view drop down 2023 1
Figure 11. View drop-down
This renders geometry with only outlines.
This renders geometry without Materials.
Solid with Outlines
This renders geometry without Materials, but with outlines.
This renders geometry with Materials.
Realistic with Outlines
This renders geometry with Materials and outlines.
This is similar to the Realistic with Outlines option, except it makes all geometry semi-transparent.
vnts ui toolbar render options 2023 1
Figure 12. Render options

From left to right in Figure 12, the buttons are:

Show Zones
This toggles the visibility of all Zone geometry.
Show Imported Geometry
This toggles the visibility of all imported 3D geometry.
Show Flowpaths
This toggles the visibility of all flowpaths in the model.
Show Flowpath Area
This toggles the visibility of the projected/calculated area of certain flowpath types.
Show AHS Zone Points
This toggles the visibility of all Air Handling System zone points.
Show Results
Show simulation path data as 3D vectors in the Workspace.

3.13. Scenarios

In some parts of the Ventus user interface, individual single-value parameters can be entered as a list. In these cases, entering multiple values causes Ventus to run multiple scenarios as a batch. When running a multiple scenario model, Ventus will automatically calculate the Cartesian product of scenario parameter assignments, name the scenarios based on the parameter values, run individual simulations for scenario, and show all results in the Object Tree.

Examples where parameters can be entered as multiple scenario parameters are the Ambient Temperature and Wind Direction values in the Weather and Wind dialog, on the Weather tab.

3.14. Snapshots of Display

Images of the current display can be saved to a file by opening the File menu and clicking Snapshot. The user can specify the file name, image type (png, jpg, tif, bmp), and the resolution. A good choice for image type is Portable Network Graphics (png).

3.15. Preferences

Ventus preferences can be set by going to the File menu and choosing Preferences. Any changes to the preferences will be set for the current Ventus session and be remembered the next time Ventus is started.

3.15.1. General Preferences

Keyboard Shortcuts
The Keyboard Shortcuts dialog is launched from the Ventus preferences panel. These preferences bind combinations of modifier keys (ALT, CTRL, SHIFT, etc.) with other key presses to activate Ventus actions.
vnts ui dialog keyboard shortcuts
Figure 13. Keyboard Shortcuts Dialog

The dialog is split into sections similar to those used in the Ventus toolbar menus. There are additional tabs for shortcuts related to tool activation, object selection, and context sensitive actions.

To change the keybinding for an action, click the value in the Key Press column. This launches an editor window (Figure 14) with four options.

vnts ui dialog keyboard shortcut listener
Figure 14. Keyboard Shortcut Editor Dialog
Awaiting Input
Press a key to assign the desired keybinding and map it to the action.
Exit the editor window without making any changes.
Assign the action it’s default keybinding.
Remove the currently assigned keybinding from the action.

Some keyboard shortcuts are used by Java UI components. If a shortcut does not result in the expected behavior, it may be in direct conflict with a preexisting Java shortcut. It is best practice to avoid these conflicts (Default Swing key bindings).

Instructs Ventus to periodically create a backup of the current model that is deleted when the Ventus model is closed. This backup is useful in case Ventus crashes or the computer loses power. The backup file is stored in the same directory as your Ventus file. If your working Ventus file (testing.vnts for example) becomes corrupted, then you can find the file that starts with a tilde like ~testing.vnts. This file is sometimes preferred if you have a crash, as it will be the most up-to-date version of your work before your crash. If it cannot be opened or results in an immediate crash, there is another backup file described next that is the second-best option. The default setting enables this feature and saves every 10 minutes. In some cases, when working with large models, this can cause unexpected delays during the save and some users prefer to disable the feature and save manually.
Create Backup on Open
Controls whether Ventus makes a backup copy of the Ventus file after last successfully opening it. This backup remains on disk when the main Ventus file is closed, and so it can be used in case the main file somehow becomes corrupted. The backup file is stored in the same directory as your Ventus file. If your working Ventus file or the automatic backup file becomes corrupted, then you can find the autosave backup file that has a tilde in the file extension, like testing.~nts. Rename (recommended) or delete your current working file, then change the file extension on this backup file, changing the tilde in the extension (.~nts) to a v character to get .vnts. You can now open the new .vnts file as you normally would.

3.15.2. Rendering and Display Preferences

These preferences define advanced 2D and 3D display properties. They can be used to improve display performance on complex models, but they tend to create problems for some older graphics cards, including crashing. For this reason, they are turned off when running in safe mode.

GPU Information
Provides information about the graphics hardware being used to render the 3D and 2D graphics.
Hardware accelerated cursor
When checked, mouse crosshairs and object editing will remain smooth even on complex geometry that may be slow to pan or orbit. Ventus does this by rendering the scene into an image buffer and then rendering that buffer as a texture underneath the crosshairs or editing geometry whenever the mouse cursor moves.
Hardware accelerated vertex buffers
When checked, this can significantly improve rendering performance of complex geometry. Ventus does this by storing the geometry in vertex buffers on the graphics card. Ventus then makes very few OpenGL calls to render the geometry.
Scene Geometry
Controls how scene geometry is rendered.
Use Hardware Shaders
Uses OpenGL shaders to render the scene geometry if available. Typically, the use of shaders will improve the shading quality of objects and on some GPUs may significantly increase performance.
Use Compatibility Renderer
Uses the fixed-function OpenGL pipeline to render geometry. This is compatible with older GPUs.
Controls the antialiasing setting to smooth edges of objects. The values available depend on the GPU, but typically range from 0 to 16. A value of 0 will turn antialiasing off and will cause edges of objects to look jagged. Larger values increase visual quality, but may lower performance, depending on the GPU. A value of 4 usually provides a reasonable balance between quality and speed.
Anisotropic Filtering
Controls the texture quality when textured geometry is viewed at a large angle to the camera. Available values depend on the GPU and typically range from 1 to 16, where 1 turns off anisotropic filtering. Larger values improve the texture quality. Most GPUs see negligible performance impact setting this to a high value.

3.16. Configuration Files

Ventus stores data related to user preferences in a file called Ventus.props. By default, this file can be found in one of the following locations.


If at least one of these files exists, Ventus will use it to load the user preferences. If both files exist, Ventus will load user preferences from both files, giving preference to the file located in the APPDATA folder. This way the preference file located in the PROGRAMDATA folder can be shared among multiple machines, and the file located in the APPDATA folder on each machine overrides the shared settings.

The PROPS file is stored in a plaintext format, and can be viewed or edited with any conventional text editor. While it is not recommended to edit the file directly, some troubleshooting techniques may involve deleting the PROPS file so that a new one can be created from scratch by Ventus.

Configurations for hotkeys in Ventus is stored in a separate file named keybindings.json located in the APPDATA folder.

3.17. Units

Models can be created in either English or the International System of Units (SI, metric). To select a system of units, on the View menu, click Units, then click the desired unit. There are also toggle buttons to change units in the top toolbar of the UI. Ventus will automatically convert your previous input values into the unit system you select.

3.18. Color Schemes

To select a Default, Black Background, White Background, or Custom color scheme, on the View menu, click Color Scheme. The custom color scheme is defined in the Ventus.props file in the Ventus installation directory (For Windows 10+ look in %USERPROFILE%\AppData\Roaming\Ventus\Ventus.props while some older operating systems use C:\Program Files\Ventus).

  1. To define a custom color scheme:
  2. Close Ventus
  3. Edit the Ventus.props file
  4. Change the following default colors to the colors you wish:
  1. Save the edited Ventus.props file
  2. Restart Ventus

4. Working with Files

Several files are used when performing airflow analysis using Ventus. These include the Ventus model file, the CONTAM input file, and CONTAM output files. This section describes how to load and save files in the formats supported by Ventus.

4.1. Creating a New Ventus Model

When Ventus is started, it begins with an empty model. You can close the current model and create a new empty model by opening the File menu and clicking New. Ventus always has one (and only one) active model.

4.2. Saving a Ventus Model

The Ventus model file (referred to as VNTS, with the extension .vnts), is stored in a binary format that represents a Ventus model. The Ventus model contains all the information needed to write a CONTAM input file. This format is ideal for sharing your models with other Ventus users.

To save a new model:

  1. On the File menu, click Save.
  2. Enter the file name and click the Save button.

4.3. Open a Saved Ventus Model

To open a saved model:

  1. On the File menu, click Open.
  2. Select the Ventus file and click the Open button.

A list of recently opened files is also available. To open recent files, on the File menu, click Recent Files, then click the desired file.

Ventus has an auto-save feature which stores a copy of your current model every 10 minutes. This file is automatically deleted if Ventus exits normally, but if Ventus crashes, you can recover your work by opening the autosave file. It can be found either in the same directory as your most recent VNTS file, or in the Ventus installation directory if your model was unsaved.

4.4. Exporting CONTAM Models

Ventus can export the current model to the CONTAM PRJ input format.

To export an CONTAM PRJ input file:

  1. On the File menu, click Export, then click CONTAM PRJ File.
  2. Enter the file name and click Save.

The PRJ files exported by Ventus are compatible with the bundled version of CONTAM.

PRJ file export is associated with advanced workflows that typically involve manually editing the exported PRJ file. Example workflows include comparisons between Ventus and CONTAMW for validation, experimentation with features not supported by Ventus, scripted PRJ file modifications, and command-line invocation of alternate versions of CONTAMX for results comparison.

During the export process, Ventus may issue a prompt to maximize CONTAMW compatibility. Ventus uses flow element description lines to improve the readability of the PRJ input file. While this change has no impact on CONTAMX, the length of these annotated flow description lines can cause errors when used with CONTAMW. Answering Yes to this prompt will ensure that flow description lines are truncated to prevent potential errors when used with CONTAMW. Answering No will cause Ventus to export a PRJ file in the default format it would use to run a simulation.

When maintaining two versions of a model for validation purposes, this increased compatibility reduces but does not eliminate the number of manual steps needed to open the exported PRJ files in CONTAMW. This workflow would still require the 2D sketch pad geometry to be copied into the exported PRJ file manually.

4.5. Working with Images

Working with background images requires the user to draw zones over the background image (Figure 15). Because the drawn zone geometry will cover the background image, it may be preferable to make the zone geometry transparent. This can be accomplished by selecting the drawn zones and lowering the opacity in the property panel. Figure 16 shows a background image with rooms and doors drawn on top, with a lowered opacity for the drawn rooms.

vnts scrn cad background image
Figure 15. Imported background image
vnts scrn room traced background image
Figure 16. Rooms drawn over image

To draw zones on top of a background image, refer to Section 8.1.2.

4.6. Importing CAD Files

Ventus can import geometry from several CAD formats, including buildingSMART’s IFC format for Building Information Models (BIM), AutoCAD’s DXF (Drawing Exchange Format), DWG, FBX, DAE, OBJ, GLTF/GLB 2.0, and STL files. Each type of file provides a variety of geometry that can either be directly represented as obstructions or as drawing guides in the Ventus model.

Provides building information model (BIM) data in a fully 3d format. This format contains advanced data about the types of objects in the building, including slabs, stairs, and doors, though it is currently only used for geometry import in Ventus. It also contains information about whether objects are solid and is supported as an export format for many architectural CAD packages, including Revit. Unlike with the other import formats, however, textures are not currently supported.
A basic CAD format provided by Autodesk. This format supports robust geometry types, including 3d faces, lines, and text, but it does not support appearance information, such as textures, lighting parameters, etc.
Similar to DXF, but it also has basic support for appearances, including textures. It has only basic support for mapping textures onto objects, however, and few CAD applications can export DWG files. Some, such as Revit, exclude material and texture information, see Section 4.6.1.
Provides support for 3d faces only and has good support for basic appearance information and texture mapping. In addition, many 3D modeling applications have built-in support for exporting FBX files. This format has no information about whether objects are solid. In addition, this format does not natively support physically-based (PBR) appearances. glTF/GLB may be used as an alternative if higher visual fidelity is desired.
glTF/GLB 2.0
Like FBX, glTF/GLB provides support for 3d faces with good appearance support and texture mapping. Unlike FBX, glTF/GLB files natively support PBR materials for improved visual fidelity in Results, especially when combined with image-based lighting (IBL). This format has similar limitations to FBX in that objects are imported as collections of thin faces with no support for solids. In addition to basic glTF 2.0 features, Ventus’s glTF/GLB importer also supports the following glTF extensions:

CAD import appends the data to the current model. This facilitates the ability to import data from several CAD files into one Ventus model. This is useful when there is one blueprint per floor of a building or a 3D building has been split into several sections, each in a separate file.

To import one of these files, under the File menu, select Import and select the desired file.

  1. FBX Exporter: If an FBX file is being imported, the second prompt will ask what software was used to export the file. If a SimLab FBX plugin or Unreal Engine was used to create the FBX file, choose the appropriate option from the drop-down box; otherwise; choose Unknown. This selection controls the default settings in the subsequent prompts. In some cases, Ventus is able to detect whether the file was exported using a SimLab plugin and will select this option automatically.
  2. Units: The next prompt asks the user to select the base unit in which the CAD file was created. If the drawing was saved in a more recent file format, the prompt will default to the unit type stored in the file. The dialog box shows the model’s width, depth, and height based on the selected unit as a guide for selecting the unit.
  3. Import Settings: The next several prompts allow the user to control how some data is imported and to correct some data that may have been written incorrectly by the file’s CAD exporter.
    Normal Tolerance (DWG/DXF only)
    Controls the quality of curved objects. Decreasing this value produces higher quality objects at the expense of slower rendering speed. The default value of \(15^{\circ}\) provides a nice balance.
    NURB Gridlines (DWG/DXF only)
    Controls the quality of NURB surfaces. Increasing this value gives higher quality curves at the expense of slower rendering speed. The default value of \(5\) provides a good balance.
    Controls how objects are lit.
    Auto-correct inverted polygons
    Some CAD files contain information about the normal of a polygon that affects how the polygon is lit. In some cases, the normal may not match the orientation of the polygon, which can cause the polygon to appear too dark. Selecting this option will allow Ventus to try to detect these cases and correct the orientation of the polygon to be lit correctly. This option works well in most models and is generally safe to leave on.
    Crease Angle
    Some CAD files do not provide lighting data for objects to determine whether they should look smooth or faceted. In this case the crease angle is used to determine this information. If the angle between two adjacent faces is greater than this value, the faces will be look like they are two separate, faceted faces. Otherwise, the two faces will look like one smooth curved face. This option may also affect whether the edges of faces are displayed when the Show Object Outlines option is enabled.
    Specifies how CAD materials are imported. CAD materials control the imported objects' color and lighting.
    Merge identical materials
    Some CAD exporters (namely SimLab’s Revit FBX plugin) will create a unique material (appearance) per object in the file, which may lead to hundreds or thousands of materials that have duplicate properties. Selecting this option allows the materials with duplicate properties to be merged into one material, significantly reducing the number of materials in the model with no loss of quality.
    Ignore transparency color (FBX only)
    In FBX files, material transparency is determined from a transparency color and factor. Some CAD exporters (SimLab’s FBX plugins) export the color incorrectly. Selecting this option will allow Ventus to ignore the transparency color in the FBX file and only use the transparency factor, which allows transparency in these files to import correctly. This option should only be selected if it is known that the file came from a SimLab plugin or there are transparency problems without it selected (For example, objects that should be transparent are not or vice versa).
    DirectX normal maps (FBX and IFC only)
    Indicates whether the normal maps in the imported file use the DirectX convention, where +Y is down.
    Workflow (FBX and IFC only)
    Specifies the lighting workflow to be used for imported materials. The following values are available:
    As defined in file
    The materials are imported exactly as they were specified in the file. Currently, this means that the materials will be imported using the Specular (Basic) workflow, as this is the only workflow currently supported by IFC and FBX files. In some cases, however, such as when an FBX file is exported from Unreal Engine, the PBR parameters are packed into the basic specular texture property. In this case, the following two options can be used to reinterpret the basic specular workflow as a PBR workflow for correct lighting.
    Metallic (PBR)
    The materials should be imported as if they use the Metallic (PBR) workflow, even if they are specified in the import file using the Specular (Basic) workflow. When using this option, the PBR parameters can either be set to constant values or can be reinterpreted from other non-PBR color properties. For instance, when an FBX file is exported from other software, for each material it might create a single image containing the Metallic, Roughness, and Ambient Occlusion parameters, stored in the red, green, and blue color components, respectively. It then might set the specular texture in the FBX file to this combined image. When an exporter does this, there should be accompanying documentation with the FBX file that indicates how these PBR parameters are stored in the FBX file. When importing the FBX file in the above example, in the import dialog, the Metallic, Roughness, and Ambient Occlusion properties should all be set to From Specular, and the color components should be set to R, G, and B, respectively.
    Specular (PBR)
    Similar to the Metallic (PBR) option, this forces imported materials to use the Specular (PBR) workflow, where the PBR parameters can be reinterpreted from non-PBR properties.
    Object Grouping (IFC only)
    Specifies how objects will be grouped once imported into Ventus. The value can be one of the following:
    Spatial (default)
    The objects are grouped based on the spatial layout of the model. For instance, the top group is the building site, the next group is the building, the next are the floors, etc.
    By Type
    Objects are grouped by type. For instance, there will be a group for walls, furniture, slabs, etc.
  4. Import Options: This prompt allows the user to specify more options for import. Before this prompt is shown, Ventus will attempt to discern if the CAD file contains a 2D floor plan or a 3D model and will select default values for the options based on the detected type.
    Check to import lines in the file (default=checked only for floor plans)
    Check to import faces in the file (default=checked only for 3D models)
    Move geometry to origin (0,0,0)
    If checked, the imported geometry will be moved such that the minimum point of the bounding box surrounding the imported geometry will correspond with the model origin.
    Geometry Offset
    Will offset imported geometry on the X, Y, and Z planes by the specified values. If Move geometry to origin is checked, the geometry will be moved to the origin before being moved additionally by the Geometry Offset.
    Flatten so geometry lies in one plane
    If checked, all geometry will be scaled in the Z dimension by a very small scale (1e-9). This is useful for floor plans that have entities drawn in several planes. This option will flatten them all into one plane. (default=checked only for 2D floor plans).
    Add a blank rectangle to obscure lower floors
    If checked, a solid rectangle of the specified color will be added to the model. This is useful to obscure geometry located on lower floors. The imported rectangle will not become an obstruction and will be excluded from the simulation. (default=checked only for 2D floor plans).
  5. Choose Finish to import the file.

Once the file is imported, Ventus creates a hierarchy of groups and objects, such that there is one top group, named after the file. The next levels depend on the imported file type. For non-DWG/DXF files, the structure will mimic the node structure in the source file. For DWG/FXF files, the next level contains a group for every layer containing geometry. Under each layer group there are one or more objects representing the entities in the file. The following illustrates the hierarchy as it would appear in the Object Tree:

  • FileName
    • Layer1
      • Entity1
      • Entity2
      • …​
    • Layer2
      • Entity3
      • Entity4
      • …​
    • …​

If the DWG/DXF file contains a block insert and the block contains entities from multiple layers, the block insert is split into several Ventus objects, one for each layer of the block’s originating entities. If all the entities in the block are from the same layer, however, there will be one resulting Ventus object that will belong to the group corresponding to the block’s entities' layer rather than the block insert’s layer.

4.6.1. Importing Revit Files

While Ventus cannot directly import Autodesk Revit files (RVT), there are several ways to export the data from Revit into a file format that Ventus can read. Each method has advantages and disadvantages as discussed below.

Revit to IFC (direct)
The first method exports a building information model (BIM) in the industry foundation classes (IFC) format. This method is simple to use and preserves much of the building information present in the model. Unfortunately, this method loses all texture information, so models are not as visually interesting when displayed in Ventus. To perform the export in Revit 2019, perform the following:
  1. Open the desired RVT file within Revit.
  2. Under the File menu, click Export→IFC.
  3. Choose the desired IFC filename.
  4. Click Modify setup to choose different export settings, if desired.
  5. Click Export to save the file.
  6. Import the IFC file into Ventus.
Revit to DWG (direct)
This method exports a DWG directly from Revit, which can then be imported into Ventus. While simple to perform and only requires Revit, this method loses all information about materials, including textures, due to Revit’s limited DWG support. To perform the export in Revit Architecture 2014, perform the following:
  1. Open the desired RVT file within Revit Architecture.
  2. Click the Revit icon at the top left revit ui icon.
  3. Select Export→CAD Formats→DWG.
  4. In the DWG Export dialog, for Export, select <In session view/sheet set>.
  5. For Show in list, select Views in the Model.
  6. Click the Check None button, and then in the view table, select the checkbox for 3D View: 3D (Other views may be chosen, but the DWG will only contain entities visible in the selected views).
  7. Click the Next. button and choose a file name for the DWG file.
  8. Click OK to create the DWG.
  9. Import the DWG into Ventus.
Revit to FBX (direct)
This method exports an FBX file directly from Revit, which can then be imported into Ventus. As with exporting a DWG, this method is simple to perform and only requires Revit. Unfortunately, this method also loses all information about materials and textures because Revit encrypts the material data, making it unreadable by Ventus. To export using Revit Architecture 2014, perform the following:
  1. Open the desired RVT file within Revit Architecture.
  2. Click the Revit icon at the top left revit ui icon.
  3. Select Export→FBX.
  4. Choose a file name for the FBX file.
  5. Click OK to create the FBX.
  6. Import the FBX into Ventus.
Revit to FBX using third-party plugin
This method requires the use of a third party plugin, but it generally produces good results with materials, textures, and texture coordinates well-supported. In many cases, this is the most reliable method of reproducing the graphical representation of the original Revit file within Ventus. SimLab Soft is one company that provides commercial FBX export plugins for several CAD packages, including Revit and SketchUp, among others, and provides robust texture support. To export using a third-party plugin, perform the following:
  1. Download and install the appropriate plugin.
  2. Follow the plugin’s instructions to export an FBX file from Revit. If the plugin supports embedded media, select this option before exporting. This option allows textures to be embedded into the FBX file, making it much easier to transfer the FBX to another computer, as only file has to be transferred.
  3. If the FBX file is to be imported into Ventus on the same computer as the one that exported the file or the embedded media option was selected, continue to step 4; otherwise, some additional steps may be necessary to ensure the textures can be found when importing into Ventus:
    1. Determine the directory into which the FBX exporter saved the textures. Some exporters may place the textures in a subdirectory of the FBX file and give it the same name as the FBX file. Others may save the textures to a common program-specific location. The SimLab Revit exporter, for example, saves textures for a particular file to
      where # is a number specific to the exported file, such as 40.
    2. If the folder is not already a subdirectory of the FBX file, cut this folder and paste it in the same location as the FBX file. The pasted folder may be left as is or renamed to be the same as the FBX file, without the .fbx extension.
    3. Transfer the FBX file and the texture folder to the computer that will be importing the FBX file into Ventus.
  4. Import the FBX file into Ventus.
Revit to FBX to AutoCAD to DWG
This method requires both Revit and AutoCAD and does not perform a perfect conversion, but it retains some information about materials and texture coordinates. The steps described here use Revit Architecture 2014 and AutoCAD 2014.
  1. Open the desired RVT file within Revit Architecture.
  2. Click the Revit icon at the top left revit ui icon.
  3. Select Export→FBX.
  4. Specify the desired filename and click Save.
  5. Open AutoCAD.
  6. On the Insert tab in the ribbon, select Import.
  7. Select the FBX file created by Revit.
  8. The FBX Import Options dialog will appear. The following are recommended settings for the FBX import:
    1. Import section: Make sure Objects and Materials are checked. Lights and Cameras are unused in Ventus.
    2. Assign Objects to Layers: any option may be selected, but By Material is a useful option for Ventus.
    3. Unit Conversion: This section is somewhat misleading. While the Current Drawing Unit is correct, the FBX file unit tends to be incorrect. No matter what unit is displayed in the greyed-out text for FBX file units, the actual unit in the FBX file is always FOOT. The appropriate values need to be specified to make the proper unit conversion. For instance, if the current drawing unit is Millimeters, you can enter the value, 1 on the left and 304.8 on the right because there is 1 foot per 304.8 millimeters.
    4. Block: Uncheck Insert file as block.
  9. Click OK to finish the import. You may receive a warning about the clip plane of the camera.
  10. Save the file as a DWG.
  11. Import the DWG into Ventus.

5. Materials

Materials define advanced display properties that can be applied to faces contained in the imported geometry. They are only shown when the Realistic or Realistic with Outlines option is selected, see Section 3.12. Materials can be shared among faces; when a material is edited, all faces referencing that material are updated.

Materials are extracted from a particular set of import file type:

These files have a concept of materials. Each material that is referenced by an object in the file will be imported into Ventus.

To see materials that have been imported, on the Model menu, select Manage Material Database. The Material Dialog will appear as shown in Figure 17.

vnts ui dialog materials
Figure 17. Materials dialog

Ventus provides some default database materials. Most of these materials start with the prefix, psm_ as in PyroSim, a separate Thunderhead Engineering product. Other materials were either created manually by the user or were imported with a CAD file.

Materials can be added manually by clicking New under the material list. Materials can also be created from an initial texture image on disk by clicking Import. The image is copied into the database directory. Newly created materials are added to the database, and can be used across instances of Ventus.

Materials can be deleted by clicking Remove under the material list. If the material exists in the database, all its associated files in the database directory will also be permanently removed.

The following material properties can be edited from this dialog:

Texture Width and Height
Define the dimensions of the texture image in the model. For instance, if the image depicts a 4x4 array of bricks with no mortar, and each brick is 8"x3", the Width would be 32" and the height would be 12".
Defines the color of the object.
From Object Color
Uses the color and opacity settings from the objects using this material. Selecting this option allows multiple objects to use the same material and have the same advanced material effects but with different colors. For instance, multiple objects can have the same bumpiness and roughness, but have different colors using one material.
Sets the color of all objects using the material to a specific value.
Texture Image
Causes all objects using the material to display a texture image.
Opacity Value
Defines the opacity of the material.
Opacity Texture Image
Defines a texture which controls the opacity of the material.
Specifies whether to enable masking for the material. Masking is a feature that treats rendered pixels as either opaque or completely transparent. This can help improve the edges of foliage, text decals, and other opaque, decal-like materials. When enabled, pixels with opacity values >= 0.5 are drawn as opaque and those with opacity < .5 are not drawn. The following masking options are available:
Masking will be enabled automatically if the opacity texture or the alpha channel of the diffuse texture contains both opaque and completely transparent pixels. In most cases, this is a safe option to use.
Masking is enabled. This may need to be set if the edges of some objects have halos around them or appear fuzzy when using the Automatic option.
Masking is disabled. This may need to be set if a material that should be translucent appears opaque when using the Automatic option.

5.1. Advanced Material Properties

Additional material properties can be edited by pressing the Advanced Materials button. This will show the Advanced Materials Dialog for the currently selected material.

Most properties in this dialog can be specified as either a constant color/value or as a texture image. For those properties that represent a single value as opposed to a color, such as the Roughness value for PBR workflow, a dropdown next to the texture chooser can be used to pick which color component is the source of the values. This is useful when multiple properties are packed into a single image, but in different color components. For instance, say the PBR parameters, metallic, roughness, and ambient occlusion, are packed into the red, green, and blue color components of a single image. In this case, the same image can be chosen for the metallic, roughness, and ambient occlusion textures. The dropdowns next to each texture would be set to R, G, and B, respectively.

The following material properties can be edited from this dialog:

Defines the color used to modulate ambient lighting applied to the material. This will only be applied when Image Based Lighting is disabled. Selecting the From Diffuse/Albedo option for this channel causes the Diffuse channel value to modulate ambient lighting instead.
Defines the amount and color of light emitted by the material.
Whether to use normal mapping or bump mapping for the material.
The normal map used for the material.
Y-Down Normals
Invert the y-component of the provided normals. This should be enabled for normal maps designed for DirectX. Check any documentation that comes with the material to determine if this applies.
The bump map used for the material.
Bump Scale
The strength of the bump map effect.
The parallax displacement or height map to use.
Parallax Scale
The strength of the parallax mapping effect. This unit of this scale is purely visual, but it should be kept low to prevent rendering artifacts.
Invert Parallax
Inverts the displacement/height map. This should be enabled for height maps.
The material workflow to use. Provided options are Specular (Basic), Metallic (PBR), and Specular (PBR). Materials with a Specular map are designed for either the Specular (Basic) or Specular (PBR) workflow. Specular materials with a Roughness, Glossiness, or Ambient Occlusion map are meant for the Specular (PBR) workflow. Materials with a Metallic map are designed for the Metallic (PBR) workflow.

Depending on which workflow is selected, the following additional properties are provided:

Defines the specular reflectance of the material. This property is only available in the Specular (Basic) and Specular (PBR) workflows.
Defines whether or not the material is metallic. This property is only available in the Metallic (PBR) workflow.
Defines how shiny the material’s surface is. This property is only available in the Specular (Basic) workflow.
Determines whether to use roughness or glossiness to define the material’s microsurface. This option is only available in the Metallic (PBR) and Specular (PBR) workflows.
Defines how rough a material’s microsurface is. This is the exact inverse of Glossiness. This option is only available in the Metallic (PBR) and Specular (PBR) workflows.
Defines how glossy a material’s microsurface is. This is the exact inverse of Roughness. This option is only available in the Metallic (PBR) and Specular (PBR) workflows.
Ambient Occlusion
Provides additional shading information for the material. Note that this property is not related to the scene-wide Ambient Occlusion in Results. This property is only available in the Metallic (PBR) and Specular (PBR) workflows.
Invert Ambient Occlusion
Whether to invert the values read from the ambient occlusion texture (ao_inverted = 1.0 - ao_texture). This is useful when the ambient occlusion texture specifies the amount of occlusion (increasing values lead to more occlusion) rather than amount of visible light (lower values lead to more occlusion).


Ventus provides the capability to save and recall view state from the Workspace in an object called a View that will be shown in the Object Tree.

There can be multiple views in a model, but at any given time, there is always one active view. A new model will always start with one default view that has no view state associated with it. State can be added to the view as described in the section Section 6.2.

6.1. Managing Views

Views are managed in the Object Tree. From there, they can be created, deleted, grouped, rearranged, etc.

A view can be created in one of the following ways:

  • In the View menu, select New View.
  • In the Object Tree, right-click the Views group and select New View.
  • Right-click empty space in the Workspace and select New View.

This will add a new view to the model, saving the current camera viewpoint into the new view. The new view will become the active view.

To delete a view, select it in the Object Tree and in the Edit menu, select Delete. A view can only be deleted if it is not active.

To activate a view, perform one of the following:

  • Double-click the view or the view’s viewpoint in the Object Tree.
  • Right-click a view in the Object Tree and select Set Active.

Activating a view will restore all its saved state as described in the following sections.

View settings can be copied or moved between views. To copy settings select Copy, located in either the Object Tree or in the Edit menu. To paste the settings to another view, select the desired target view and in the Edit menu select Paste. To move settings from one view to another, in the Object Tree, drag the setting to the desired view.

6.2. Viewpoints

Each view can have one viewpoint associated with it. A viewpoint includes the 2D or 3D camera’s position, orientation, zoom, and camera type (3D versus 2D). When a viewpoint is saved, the current navigation tool is also saved with the view (Orbit, Roam, etc.). A viewpoint appears in the Object Tree as a child item of a view and is labelled Viewpoint.

A viewpoint is automatically saved to newly created views. A viewpoint can also be explicitly saved in one of the following ways:

  • In the View menu, select Save View. This will save the viewpoint to the active view.
  • Right-click empty space in the Workspace and select Save View. This will also save the viewpoint to the active view.
  • Right-click a View or Viewpoint in the Object Tree and select Save Viewpoint. This will save the viewpoint to the selected view.

The scene camera can be reset to a viewpoint in one of the following ways:

  • Double-click the currently active view. This will reset the viewpoint to that saved with the active view.
  • Double-click a viewpoint in the Object Tree. If the viewpoint is not already in the active view, that viewpoint’s view is activated.
  • Right-click a viewpoint in the Object Tree and select Reset to Selected Viewpoint.
  • Right-click empty space in the Workspace and select Reset to Viewpoint. This will reset to the viewpoint in the active view.
  • In the View menu select Reset to Viewpoint. This will also show the viewpoint stored in the active view.

A viewpoint can be removed from a view by selecting the item, Viewpoint, in the Object Tree and deleting it.

When a view with a viewpoint is activated, the following occurs:

  1. The saved camera properties are restored.
  2. The saved navigation tool is activated.

7. Levels

Levels are the primary method of organization in Ventus. At their most basic level, they are simply groups zones can be placed, but they also control the drawing plane for tools and filtering of imported geometry.

In every Ventus model, at least one level must exist, and at any given time, there is one active level. Whenever any zone object is drawn, it will either be placed in the active level or a subgroup of the active level.

By default, when a new model is started, there is one level at Z=0, and additional levels are either created automatically depending on where the geometry is drawn or manually created. In addition, new zones are automatically sorted into the appropriate level when drawn.

7.1. Automatically Creating Levels

When nothing is selected in the model and no tools are active, the Level Creation panel is shown, as in Figure 18. This panel controls the automatic creation of levels and automatic sorting of new objects into levels. It also provides some options for level view and selection.

vnts ui props level creation
Figure 18. Level Creation Panel
Level Creation/Sorting
Auto sort schematics components
If this is checked, model components are automatically sorted into the appropriate Level when created or modified; if this is unchecked, new model components are placed in the group specified under New Schematic Components and remain in this group until manually moved.
Automatically create levels
If this is checked, levels are automatically created as model components are created and modified.
Default Height
This specifies the height at which new levels are automatically created. If a model component is created or moved to a location that is at least this distance from the previous level, a new level will be created at a multiple of this distance from the previous level.
New Schematic Components
If Auto sort schematics components is unchecked, this drop-down specifies the group/level for new geometry.
Active Level
Show lower level
When selected, this will show the level immediately below the currently active level, to help with drawing snap references and to check alignment of zones and components in the model.
Limit selection to active level
This will limit selection to only items that belong to the current active level. This option is available when Show lower level is active.

The following scenario demonstrates how objects are organized when auto-sort and auto-level-creation are enabled (organization of the model is shown in Figure 19):

  1. A new model is created. The level height is left at the default of 3 m.
  2. "Zone00" is drawn at Z=0 m, and is auto-placed in "Level 0.0 m".
  3. "Zone01" is drawn at Z=1.5 m, and is auto-placed in "Level 0.0 m".
  4. "Zone02" is drawn at Z=-1.5 m. A new level, "Level -3.0 m" is auto-created, and "Zone02" is auto-placed in it.
  5. "Zone03" is drawn at Z=7.5 m.
  6. A new level, "Level 6.0 m" is auto-created, and "Zone03" is auto-placed in it.
vnts ui view nav auto level creation
Figure 19. Auto level creation and sorting

In this example, only zones were created. The levels were automatically created and the zones were automatically sorted into the appropriate ones.

7.1.1. Using Auto-sort with an Existing Model

Automatic levels can be created and components sorted into the levels by performing the following:

  1. Open the model.
  2. Clear the selection so that the Level Creation panel is visible (Figure 18).
  3. Ensure that the desired creation/sorting options are enabled and that the correct level height for the model is set.
  4. Select all the components that should be auto-sorted (if everything should be sorted, select the Levels top node).
  5. Right-click the selection, and from the shortcut menu, click Sort into Levels.
  6. The appropriate levels will be created and all selected items will be sorted into the appropriate levels.

7.2. Manually Creating Levels

Levels can also be created manually at any time.

  1. Click on the level drop-down box above the Object Tree, and select <Add New> as shown in Figure 20. A dialog will open asking for the level location.
  2. Enter the Z plane location or click on a snap point in the Workspace and click okay. This Z plane will be used to update the drawing tools' working Z location when this level is made active.

There are two other options in this dialog:

Set as active level
The level is set to be the active level in the model after being created.
Resort existing schematics components into new level
All existing components that belong in the new level will be moved to it.

By default, the name of the level is Level \(x\) where \(x\) is the working plane of the level.

vnts scrn props adding new level
Figure 20. Adding a new level

7.3. Changing the Active Level

To change the active level, click the level drop-down box as shown in Figure 20, and select the desired level. This will make that level active and all other levels non-active.

Whenever the active level is changed, the following additional changes take place in the model:

  • The level and all objects in the level group are set visible.
  • All other levels and sub-objects of other levels are set hidden.
  • The working plane of the room tool is set to the working plane of the active level.
  • A clipping filter is applied to imported geometry so that only geometry within the Z clipping planes of the active level is visible.

7.4. Showing All Levels

To show all levels click the level drop-down box as shown in Figure 20, and click <Show All>.

This will additionally show all sub-objects of the levels groups, and it will set the import filter to the union of all the levels' filters.

7.5. Level Properties

To edit a level’s properties, first select the desired level. The property panel as shown in Figure 21 will appear, showing the level’s name, its Working Z location, and the Z clipping planes (Z Min Filter and Z Max Filter) for imported 3D geometry.

It also shows some statistics of the level including the total area of the level (Area).

vnts ui props level
Figure 21. Level property panel
Working Z
Controls the plane on which new rooms and wall obstructions are drawn.
Z Min and Max Filters
Control the clipping planes of imported 3D geometry when the level is visible. Anything below Z Min and above Z Max is clipped.
Z Min Filter
Can be a Z plane location or can have the special value, CURR_LEVEL. If it is CURR_LEVEL, then the clipping plane is set to the working Z location if there are any levels below this level or \(-\infty\) if there are no levels below.
Z Max Filter
Can be a Z plane location or can have the special value, NEXT_LEVEL. If it is NEXT_LEVEL, then the Z plane is set to the working Z plane of the next higher level if one exists, or \(+\infty\) if there are no higher levels.

8. Geometry

Ventus provides tools to help the user rapidly create and organize model geometry. Geometry can either be created by using the drafting tools in the Workspace as discussed in Chapter 3.

There are just a couple of Room types that can be created in Ventus:

Volumes within the model, connected by flow paths to other Zones.
When drawn above a zone, a ceiling will dictate the height of the walls of the zone immediately below it.

The user can also organize the model by creating Levels and Groups. In addition, the user can assign background images to Levels to aid in drafting.

8.1. Zones

CONTAM calculations are performed between zones. A zone is a volume of air that is typically contained within the bounds of a room. Zones are the basic units between which airflow is calculated. Zones have properties that determine airflow, including air temperature and pressure, as well as flow paths (Chapter 10), which define the air leakage relationship between two adjacent zones.

vnts ui workspace 3d zones
Figure 22. 3D display of zones

8.1.1. Zone Properties

The following properties are available on the Zone Panel (Figure 23) for zones:

Ventus currently supports variable zone pressure, which is determined at run time and cannot be explicitly set.
The air temperature within the zone. A default value can be set in the Simulation Parameters dialog (Section 13.1).
vnts ui props zone
Figure 23. Zone Panel

8.1.2. Room Tools

Zones in Ventus are created using the Room Tools. The volume of a zone is determined by the floor area of the room and its ceiling height. The ceiling height of a zone can extend to either:

  1. The default room height.
  2. The floor of a zone that exists immediately above it in 3D space.
  3. A ceiling that exists immediately above it in 3D space.

Ventus provides two tools for adding new zone geometry:

Polygonal Room Tool
The Polygonal Room tool path ui icon room polygon allows for the creation of complex shapes with any number of vertices (Figure 24).

Left-click anywhere in the model to set the first point, and continue left-clicking to add more points to the polygon. When at least three points are defined, right-clicking will close the polygon and complete the shape.

Alternatively, X,Y coordinates can be entered from the keyboard with the Add Point and Close Polygon buttons from the property panel.

vnts scrn room polygon
Figure 24. Drawing a room with the polygon tool
Rectangular Room Tool
The Rectangular Room tool path ui icon room rectangular creates simple rectangular geometry by left-clicking two points in the model (Figure 25).

The rectangular area can also be created by entering coordinates for two points in the property panel and clicking Create.

vnts scrn room rectangle
Figure 25. Drawing a room with the rectangle tool

In addition to creating new areas, both of these tools can be used on existing geometry to create negative areas. Creating new geometry over existing areas removes any interfering portion from those areas. The newly created geometry can then be deleted, leaving the negative space behind.

8.1.3. The Ambient Zone

There also exists the concept of an ambient zone. The ambient zone is not bounded, but instead defines the properties of the outdoor air that surrounds bounded zones. The pressure and temperature of this ambient zone can be set in the Weather and Wind dialog.

8.2. Walls

Wall tools are available in Ventus to split existing rooms into more than one zone.

8.2.1. Thin Walls

Thin, internal walls or boundaries can be added to zones with the Thin Wall tool path ui icon wall thin.

To use this tool, click two points in the model as shown in Figure 26. Ventus will attempt to connect these two points with an internal boundary edge.

vnts scrn wall thin
Figure 26. Adding a thin wall to a room

8.2.2. Thick Walls

The wall tool path ui icon wall thick can also be used to add internal walls or boundaries to zones (Figure 27). It differs from the thin wall tool in that it operates by subtracting area from any room that lies in its specified Z plane. This subtraction will generally leave a gap in space in the zone the wall tool is separating. This gap will be determined by the thickness property of the wall tool which can be set by the user.

To make a thick wall:

  1. Click on the wall tool.
  2. Enter the desired wall width in the property panel.
  3. Click or click-drag the two points the wall is to pass through. Holding the shift key will switch between alignment left and right of the defining line.
vnts scrn wall thick draw
Figure 27. Drawing thick walls

8.2.3. Curved Walls

While Ventus’s tools do not explicitly produce curved walls, they can approximate them by drawing the wall using several straight wall segments.

9. Flow Elements

Flow Elements define the model used to calculate air flow and pressure change across Flow Paths (Chapter 10). Each flow path must specify a flow element and individual flow elements can be used by multiple flow paths. Ventus provides some predefined flow elements suitable for common building features as well options to create custom flow elements.

To create, modify, and delete flow path elements, you can use the Edit Flow Elements dialog. To open the Edit Flow Elements dialog, on the Model menu, click Edit Flow Elements. The dialog in Figure 28 shows the dialog being used to edit a flow path element.

vnts ui dialog edit flow elements
Figure 28. The Edit Flow Elements dialog

9.1. Powerlaw Models

CONTAM provides a number of powerlaw models for modeling mass flow for different types of common building features. Each flow path element will model one-way flow using one of these powerlaw models. The general mass flow powerlaw model is of the form:

\(F = C(\Delta P)^n\)

Where \(F\) is the Mass Flow Rate, \(C\) is the Flow Coefficient, \(\Delta P\) is the Pressure Difference across the flow path, and \(n\) is the Flow Exponent. These values are either taken as input or statically derived during the creation of flow path elements. The following powerlaw models are available in Ventus:

Orifice Area
Airflow through an orifice on the face of a zone.
Leakage Area
A typical area of leakage found in residential buildings.
Airflow through a stairwell.
Airflow within an elevator shaft.

9.1.1. Orifice Area Powerlaw Model

This powerlaw model is intended for use in modeling orifices that exist on the faces of zones.

The parameters for creating a flow element using the Orifice Area powerlaw model are:

Cross-sectional Area
Total area of the opening.
Flow Exponent
\(n\) of the mass flow powerlaw formula.
Discharge Coefficient
\(C\) of the mass flow powerlaw formula.
Reynolds Number
Relative ratio of viscous to inertial forces which helps dicatate laminar vs. turbulent flow.

9.1.2. Leakage Area Powerlaw Model

This powerlaw model is intended for use in modeling typical leakage that occurs between rooms due to features in residential buildings. This model offers the flexibility to change the calculated area by setting a multiplying value on any flow path using a leakage area flow element.

The parameters for creating a flow element using the Leakage Area powerlaw model are:

Determines how the total leakage area for the flow path will be calculated.
Per Item
Leakage area per flow path item, see Section 10.2. This flow element will represent an whole unit such as a window or a door that can be multiplied by a unitless quantity set by the flow path.
Per Unit Length
Leakage area per flow path length. This format is typically used to define walls where the area on the flow element is the wall height and the area multiplier specified on the flow path is the wall length.
Per Unit Area
Leakage area per flow path area. In this format, the area of the leakage surface (e.g., wall or floor) will be calculated by the flow path and the leakage area value specified on the flow element is per single squared unit.
Area per
The value used to calculate total leakage area per flow path item, flow path length, or flow path area.
Flow Exponent
\(n\) of the mass flow powerlaw formula.
Discharge Coefficient
\(C\) of the mass flow powerlaw formula.
Pressure Difference
The reference pressure difference for the associated leakage rating.

9.1.3. Stairwell Powerlaw Model

This powerlaw model is intended for use in modeling airflow within a stairwell.

The parameters for creating a flow element using the Stairwell powerlaw model are:

Distance Between Levels
The vertical distance between doorways of the stairwell.
Cross-sectional Area
Total cross-sectional area of the shaft that the stairwell resides in.
Flow Exponent
\(n\) of the mass flow powerlaw formula.
People Density
Density of people occupying the stairwell.
Stair Treads
The stair tread can either be open or closed, which affects airflow.

9.1.4. Shaft Powerlaw Model

This powerlaw model is intended for use in modeling airflow within a building shaft, typically one belonging to an elevator.

The parameters for creating a flow element using the Shaft powerlaw model are:

Distance Between Levels
The vertical distance between doorways of the shaft.
Cross-sectional Area
Total cross-sectional area of the shaft.
Length of the perimeter of the cross-sectional area of the shaft, which is used in determining hydraulic diameter.
Average size of the protrusions from the shaft wall into the airflow.
Flow Exponent
\(n\) of the mass flow powerlaw formula.

10. Flow Paths

Flow paths define how air can flow between two adjacent zones (Section 8.1). Flow paths can exist between two regular bounded zones, or between a bounded zone and the ambient (outdoor air) zone. They can be defined on the wall, floor, or ceiling faces of a bounded zone, and multiple flow paths can be defined on a single face. Air can flow between different zones in a building through a variety of interfaces, including doors, windows, HVAC systems, or the natural leakage between imperfectly sealed walls.

10.1. Creating a Flow Path in Ventus

Flow paths can be created in Ventus using the Flow Path Tools.

There are two flow path tools in Ventus, one point and two-point (vnts ui icon flow path 1and2 point). A one point flow path tool is used to create a flow path by choosing one point on a face. And a two-point flow path tool is to create a flow path between two walls.

To draw a flow path with the one point flow path tool perform the following:

  1. Select the Create a flow path by choosing one point on a face tool from the drawing toolbar.
  2. Move the cursor to a desired position and click once to place a flow path.

To draw a flow path with the two-point flow path tool perform the following:

  1. Select the Create a flow path between two walls tool from the drawing toolbar.
  2. Make a click and drag move to place a flow path between two walls.

10.2. Flow Path Properties

The following properties are available on the Flow Path Panel for a flow path: (Figure 29):

The Flow Path Element (Chapter 9) assigned to the flow path. The flow path element is the mathematical model applied to determine air flow and pressure drop across the flow path.
The type of powerlaw model dictated by the flow path element that is assigned to the flow path.
The total area of the flow path.
The total length of the flow path.
A multiplier that will be applied to the airflow. This can be used to quickly model multiples of identical flow paths on the same face.
Wind Pressure
The wind pressure across the face of this flow path which can modify the volume of available airflow. This may be a constant value, or may be assigned a Wind Profile (Chapter 11).
Rel. Height
The height of the flow path relative to the floor of its attached zones.
The direction of airflow across the flow path between its attached zones.
A set of descriptive labels used to categorize and identify a flow path. Each tag is separated by a space.
vnts ui props flow path
Figure 29. Flow Path Panel

10.3. Working with Flow Paths

When analyzing the results of a Ventus simulation it is often important to assess a group of Flow Paths within a single volume, such as a shaft. The following tools can be used in conjunction with Tags to generate a shaft report.

The Advanced Flow Path Search starts at a Zone of interest, and searches through connected Zones based on a specified Flow Element representing connections within the zone.

To use the Advaced Flow Path Search:

  1. Right-click a single Zone that is part of the enclosed volume of interest.
  2. Select Select Connected…​
  3. In the Connected By: combobox, choose the Flow Element type that joins a set of Zones in the enclosed volume, such as a shaft or stairwell.
  4. In the Filter By: combobox, choose the Flow Element type that is to be analyzed in your report, such as a door.
  5. Select OK

With all the Flow Paths of interest simultaneously selected, it is often beneficial to add a custom Tag to the selected objects. The Results Panel (Section 14.3) can subsequently filter Ventus run results to show only the result vectors associated with a single tag, and is the recommended approach to generating a shaft report.

11. Wind Profiles

Wind Profiles are used to combine a wind induced pressure condition with the indoor air pressure for flow paths. Typically, wind profiles are associated with exterior flow paths that connect with ambient conditions. They work by defining a relationship between the average wind pressure coefficient for the face of a building and the angle of incidence of the wind on the face of the building.

For wind profiles to have an impact on the model requires multiple steps:

  • Use the Weather and Wind dialog to set a non-zero wind speed
  • Create one or more wind profiles
  • Assign wind profiles to exterior flow paths

To use the Weather and Wind dialog to set a non-zero wind speed:

  1. On the Model menu, select Weather and Wind
  2. In the Weather and Wind dialog, on the Weather tab, enter a non-zero wind speed
  3. Select OK to close the dialog and save changes

To create a wind profile:

  1. On the Model menu, select Edit Wind Profiles
  2. In the Edit Wind Profiles dialog, select New
  3. In the Name box, enter a name for the new wind profile
  4. Select OK to create the new wind profile
  5. Select OK to close the Edit Wind Profiles dialog

The new wind profile will be displayed graphically in the Edit Wind Profiles dialog, along with the following properties:

The Wind Profile name. Names must be different within a project.
An optional field to give a detailed description.
Data Points
A table is provided for entering up to 16 angle/coefficient pairs of data. Use the Load default profile…​ button to restore the default setting.

To assign a wind profile to a flow element:

  1. Select the flow element
  2. In the editor panel, under Wind Pressure, select Variable
  3. In the Variable box, select the desired wind profile

Wind profiles will only influence the pressure coefficient of exterior flow paths (i.e. flow paths that connect a zone to ambient).

12. Air Handling Systems

A global simple Air Handling System (AHS) exists in Ventus by default. Multiple zone supply and return points are specified in specific Zones to add or remove gasses from the Zones they are placed in. The result of this positive or negative flow will force flow through Flow paths that are connected to the zone with the global simple AHS.

The following properties are available on the AHS Zone Point Panel for a zone point:

The type of a zone point, it can be either supply or return.
Design Flow Rate
The design maximum airflow rate for the supply or return.

Supplies and returns are both created using the AHS Zone Point tool in the Workspace.

12.1. AHS Zone Point Tool

The AHS Zone Point Tool (vnts ui icon ahs selected) can be used to add supply or return points in order to add or remove gasses from the zones they are added to.

To add a supply or return point:

  1. Select the AHS Zone Point Tool from the drawing toolbar.
  2. Choose supply or return in Types.
  3. Set the Design Flow Rate.
  4. Click a position inside a Zone to add the point.

13. Running the Simulation

Ventus runs simulations using the CONTAMX software maintained by NIST. This software is included with Ventus and can be found in the install folder (e.g., C:\Program Files\Ventus 2023\contam-x-3.4.0-win64 ). When running a simulation, a PRJ input file is created and the simulator executable is invoked on the input file similar to how it might be run for the command line. When the simulation is finished, Ventus automatically collects and displays output for analysis.

13.1. Simulation Parameters

Some options that impact the entire simulation rather than specific elements like flow paths and zones can be controlled using the Simulation Parameters dialog.

To edit or review simulation parameters: on the Analysis menu, select Simulation Parameters.

Using this dialog, edit or review the following parameters:

Default Zone and Junction Temperature
This temperature will be used for all zones that have not been manually set to a specific temperature.
Run steady state initialization to convergence
This parameter is used in non-restart transient simulations to establish a stead state initial condition.
Vary density during time step
This parameter is used in transient simulations to allow the zone density to vary within the pressure calculation of time steps.
Max iterations per time step
In transient simulations, when varying zone density during a time step, this parameter specifies the maximum number of time steps.

13.2. Run Simulation

To run a simulation: on the Analysis menu, select Run Simulation.

If the model has not yet been saved, a prompt for the location to save the VNTS file will appear. The simulation data will be created in a subfolder of this save location. If the model has previously been saved to a VNTS file, no prompt will appear and Ventus will not automatically save simulation data.

When the simulation is launched, the Run Simulation dialog will appear. This dialog displays scrolling text associated with running the executables responsible for performing the simulation.

Typically, a simulation will contain output from two commands: one for contamx.exe which is the simulator and one for prjread.exe which is used to convert the SIM binary output file to human-readable output that will be collected by Ventus.

Most simulations are completed within just a few seconds.

To keep a record of the output text shown in the Run Simulation dialog, click Save Log.

To close this dialog and review simulation results, in the Run Simulation dialog, click OK.

14. Post-Processing

Ventus helps with results analysis by making a number of files associated the simulation more accessible. After a simulation, these files, and data derived from these files, are available in the following user interface locations:

  • In the Object Tree, under Results.
  • In the Workspace as colored vectors.

14.1. Results in the Object Tree

After running a simulation, results data is added to the Object Tree for viewing and analysis. All output data is available for viewing as text output data.

To view text output data:

  1. In the Object Tree, under Results, right-click the node of interest (e.g., Link Flows (LFR)).
  2. Select Open File. The text data will be written to a temporary file and shown in the system web browser.

When finished, you can close the browser window and reopen at any time. The temporary file displayed by the browser will be deleted when Ventus exits.

For convenience, the node of interest can also be double-clicked to display text output data.

To view Path Data in the Workspace:

  1. In the Object Tree, under Results, right-click the simulation id of interest (e.g., quickstart)
  2. Select Show Results

By default, path data for the first simulation will automatically be shown and this procedure will only be necessary when using multiple scenarios.

Any results data appearing in the Object Tree has been integrated with the Ventus data model and will be saved with the VNTS file. It is not necessary to keep any simulation files other than the VNTS file when sharing or archiving simulation data. However, Ventus does not automatically save the VNTS file when simulations are run. This makes experimentation with what-if simulation adjustments convenient but does impose the risk of losing results data if the VNTS file is not re-saved after running the simulation.

The following table describes each of the Object Tree results nodes:

Node-Zone Flows
CSV data including zone temperature, pressure change, and density suitable for copy/paste export to third party spreadsheet software. This file contains data for all scenarios and the units used in this data are determined by the unit system selection in Ventus at the time this output is shown.
Link-Path Flows
CSV data including flow path pressure change and flow data suitable for copy/paste export to third party spreadsheet software. This file contains data for all scenarios and the units used in this data are determined by the unit system selection in Ventus at the time this output is shown
id/Input File (PRJ)
The simulation input file.
id/Log File (XLOG)
The simulation log file.
id/Link Flows (LFR)
Flow path and pressure change data for this simulation produced by PRJREAD using the SIM output file. The units used in this data are determined by the PRJ input file and do not track the currently selected Ventus unit system.
id/Node Flows (NFR)
Zone pressure, density, and wind data for this simulation produced by PRJREAD using the SIM output file. The units used in this data are determined by the PRJ input file and do not track the currently selected Ventus unit system.
id/Cross Reference (XRF)
Cross reference data for this simulation that was created by PRJREAD as a byproduct of creating the LFR and NFR files. This data provides a way to reverse engineer the flow path and zone indices used by PRJREAD and is helpful when analyzing data using the raw PRJ input file.
id/Data Tables (SQLITE3)
This node offers a text representation of the raw SQLITE3 database produced by CONTAMX and is helpful for debugging and validation purposes.
id/Path Data
Nodes within the Path Data subtree are associated with the graphical vectors used to show air pressure and flow at each flow path.

In the nodes above, id is the scenario identifier. For single scenario simulations, this identifier will match the VNTS filename. For multiple scenario simulations, all scenarios will be added to the Object Tree and their identifiers will additionally include a text representation of the scenario parameter values used to generate the input for that simulation.

14.2. Results in the Workspace

Ventus uses the SQLITE3 simulation output data to identify pressure change (dP ventus ui icon magenta) and flow volume (Flow0 ventus ui icon green) data associated with each flow path. This data is in the Path Data results subtree and appears in the Workspace as colored vectors rooted at the corresponding flow path.

The direction of vectors displayed in the Workspace is determined by the direction of positive flow for the flow path and the sign of the output data. For example, if a pressure difference vector is positive and the flow path indicates that the direction of positive flow is from Zone A to ambient, that vector will extend from the flow path into the ambient zone. If the pressure difference vector is negative, the vector will be drawn extending into Zone A.

The position of the vector origin for single-point flow paths is the location of the flow path. In situations where a flow path connects two zones across a gap, the vector will be drawn originating from the flow path point attached to the zone in the direction of the vector.

The length of vectors displayed in the Workspace is proportional to the vector with the greatest magnitude in that simulation. Lengths for pressure differences and flow volume are calculated independently.

When viewing results data, the flow paths themselves can sometimes obscure or crowd path data vectors and it can be helpful to hide them.

To hide flow paths: in the Object Tree, right-click Flow Paths and select Hide.

To restore flow path visibility: in the Object Tree, right-click Flow Paths and select Show. If this shows all flow paths and not just those in the current shown level, toggle the level selection box to restore the level visibility filter.

14.3. Results Panel

The Results Panel provides an in application display of Ventus run results along with tools to filter and isolate specific results of interest.

14.3.1. Path Data

The Path Data tab shows data from each of the Link Flows (LFR) result sets. The following filters may be used to limit the displayed data for performing an analysis of a shaft or other isolated group of results.

vnts ui results minimal
Figure 31. The Results Panel
Filter by data set
Show either <All> or just a singular set of results, filtering by the results ID.
Filter by Name or Tag
Filter based on the either the Flow Path Name or by a specified Tag. For more on assigning a custom Tag to an object, see Section 10.2.
Filter by Selection
Show only results vectors that are either selected, or whose corresponding Flowpath are selected.
More Filters…​
Launch the Edit Filters dialog and set custom numerical filters based on the Differential Pressure or the Primary Flow.
Clear Filters
Clear all active filters.

15. Troubleshooting

15.1. How to Activate a Node-Locked License

15.1.1. Online

With the License dialog open, as shown in Figure 32:

  1. Click the Online button under the 'License File' option.
  2. Paste the activation key that you received from Thunderhead and click OK.
vnts ui dialog license activation online
Figure 32. License Activation Dialog

15.1.2. Local License file

This is similar to the Online activation, except that you will click the Local button instead of "Online" and find the license file that was emailed to you from Thunderhead on your computer. This is often located in your Downloads folder, and otherwise where you saved it from the email you received.

15.2. Floating License Server Problems

The floating license server provides an administration web service that can assist with diagnosing many floating license problems.

If the license server is installed on the local machine, the license administration server can be accessed at the following web address:


If the license server is installed on a remote machine, replace "localhost" with the name of the remote machine (i.e. the host name of the floating license server).

Once you have opened the Reprise License Server Administration page, you can use the Status commands to attempt to debug the license server problem yourself, or you can send a diagnostic report to for assistance. To generate a diagnostic report:

  1. Under RLM Administration Commands, click Diagnostics
  2. Click Run Diagnostics
  3. Email the generated file (rlmdiag.txt) to

If you are having trouble getting the License Manager to work as expected, please see the Floating License Manager Knowledge Base Articles and then contact as needed.

15.3. Licensing/Registration Problems

If you experience trouble registering Ventus contact

15.4. Video Display Problems and Crashes on Startup

Ventus utilizes many advanced graphics card features in order to provide accelerated and enhanced display of models.

Sometimes these graphics features combined with certain display drivers can cause display issues or crashes on startup. The first step in these cases is to ensure you have the latest operating system updates and graphics drivers installed. If you do, and you still have display problems or crashing on startup, you can start Ventus in Safe Mode, which disables several graphics features.

To start in Safe Mode:

  1. Open a command-prompt by opening the start menu and typing cmd. Then press Enter.
  2. In the command-prompt, navigate to the Ventus install folder by typing cd "C:\Program Files\Ventus 2023".
  3. Start Ventus in Safe Mode by typing ventus -DSafeMode.
  4. If Ventus starts up successfully, you can see which display properties were changed. Under the File menu, click Preferences, and then click on the Rendering tab.
  5. You can enable each item one at a time to see which ones caused the issue.

If you encounter display problems or crashes, please let us know the make/model of your video card and what video driver you are using, even if Safe Mode fixes your issues. That will help us improve the software in future updates.

15.5. Memory for Large Models

When running large models, it is possible that an out of memory error will be encountered. If this occurs, you can increase the default Java heap size. In our experience, the maximum size can be specified to approximately 70% of physical memory. By default, Ventus will specify a java heap size of 50% of physical memory.

To specify the memory, you can either run from a command line or change the Start Menu shortcut properties. To run from a command line, open a command window and then go to the Ventus installation directory (usually C:\Program Files\Ventus 2023). Execute Ventus on the command line using the -JXmx argument. In this argument, the J specifies that the command will be passed along to the Java VM, not Ventus. For example, ventus -JXmx1200m will request 1200 MB of memory.

To edit the Ventus shortcut properties . Right-click on the Ventus icon . Select the Shortcut tab . Edit the Target by adding a space and -JXmx1200m to the end of the Target.

A typical Target will then read C:\Program Files\Ventus 2023\ventus.exe" -JXmx1200m.

15.6. Additional Support Resources

If you are unable to resolve your issues from the suggestions in the table, please visit the Thunderhead Engineering Help Site.

Mail should be sent to:

Thunderhead Engineering
403 Poyntz Ave. Suite B
Manhattan, KS 66502-6081


Dols, W. Stuart, and Brian J. Polidoro. 2020. NIST Technical Note 1887, CONTAM User Guide and Program Documentation, Version 3.4. Revision 1. National Institute of Standards and Technology, Gaithersburg, Maryland, USA: NIST.