Pathfinder User Manual 2021 3
Pathfinder User Manual 2021 3
, Suite B
Manhattan, KS 66502, USA
Phone: +1-785-770-8511
Email: [email protected]
Web: https://www.thunderheadeng.com
Disclaimer
Thunderhead Engineering makes no warranty, expressed or implied, to users of Pathfinder, and
accepts no responsibility for its use. Users of Pathfinder 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 Pathfinder is intended for use only by those competent in the field of egress
modeling. Pathfinder 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. 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.
3 Disclaimer
Pathfinder - User Manual
Acknowledgements
This work was originally made possible by a Small Business Innovative Research (SBIR) grant
(2005-2007) by the United States National Science Foundation.
We would like to thank Rolf Jensen and Associates for their assistance with testing and other
suggestions that helped guide the development of the simulator.
We would also like to thank the users whose feedback helps us improve the software and
incorporate more useful features. The Pathfinder support forum can be found at
www.thunderheadeng.com/pathfinder/support/.
Acknowledgements 4
Pathfinder - User Manual
When installing Pathfinder, the installer will either upgrade an existing version or install
Pathfinder to a new location, this behavior is based on the version. In the case of minor updates
(e.g. upgrading from Pathfinder 2020.1 to Pathfinder 2020.3), the installer will remove the older
version and replace it with the new version. When installing a major update (e.g. Pathfinder 2019
to Pathfinder 2020), the older version will not be modified and the newer version will be installed
to a different folder.
Administrator privileges are required to install Pathfinder. This is necessary because the installer
adds processes to the operating system for license management.
Pathfinder will regularly check for and notify the user of available updates to the software when
configured to do so. By default, Pathfinder will check for updates on startup and display the
relevant information in the Check For Updates dialog when one is available.
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 also elect to skip the current update by clicking the Skip Update button, which will prevent
update notifications until a new version is released beyond the latest version.
Figure 2. An example of the graphical user interface. Model of the Theater de Vest created by Van
Hooft Adviesburo.
Figure 3. An example of the 3D Results view, showing occupants gathering at a refuge area before
proceeding to elevators.
In addition to 3D visualization, Pathfinder also provides output in the form of 2D time history
plots of CSV (comma separated values) out files and a text summary of room clearing times and
doorway flow rates. An example time history plot can be seen in Figure 4. This plot shows the
number of occupants in the refuge area and the total number of occupants in the building.
Walls and other impassable areas are represented as gaps in the navigation mesh. These objects
are not actually passed along to the simulator, but are represented implicitly because occupants
cannot move in places where no navigation mesh has been created.
Doors are represented as special navigation mesh edges. In all simulations, doors provide a
mechanism for joining rooms and tracking occupant flow. Depending on the specific selection of
simulation options, doors may also be used to explicitly control occupant flow.
Stairways are also represented as special navigation mesh edges and triangles. Occupant
movement speed is reduced to a factor of their level travel speed based on the incline of the
stairway. Each stairway implicitly defines two doors. These doors function just like any other door
in the simulator but are controlled via the stairway editor in the user interface to ensure that no
geometric errors result from a mismatch between stairways and the connecting doors.
Elevators are called to a floor when occupants arrive at the elevator door. The elevator model
includes capacity, pick-up and discharge floors, and the ability to group elevators in banks.
Figure 5. The triangulated navigation mesh used to represent one floor in the model.
Each occupant is defined by position, a profile that specifies size, speed, etc., and a behavior that
defines goals for the occupant. The behavior allows scripting so that, for example, an occupant
may wait at a location for a specified time and then proceed to an elevator. The occupant is
represented as an upright cylinder on the movement mesh and movement uses an agent-based
technique called inverse steering. Each occupant calculates movements independently.
More information about both modes is provided in the Pathfinder Technical Reference (Pathfinder
The key parameters are the number of people in the model and the model complexity, measured
by the number of navigation mesh triangles used in the Pathfinder solution and the number of
imported Revit primitives (triangles). The simple model had only 4 triangles, with the
consequence that the movement calculation of the path for each person is simple and that display
performance is related to the drawing of people. The Revit model had 21,480 triangles for the
navigation mesh but over 1,300,000 triangles for the Revit geometry.
The model with 50,000 people (Figure 6) solved in about 18 minutes, while the Revit model with
3,000 people (Figure 7) took about 5 minutes. The graphical display performance for the model
with 50,000 people was responsive at 15 frames/sec, while the Revit model with the imported
geometry displayed was slow at 5 frames/sec. When only the Pathfinder navigation mesh was
displayed, the Revit model was responsive.
Figure 6. Model with 50,000 people Figure 7. Revit import model with 3,000 people
Parameter Model
Parameter Model
• 4 GB of RAM
• 8 GB of RAM
• Graphics support for OpenGL 3.2 with an installed graphics card for large Revit models.
Revit models place a premium on graphics capability. We have found that mid-cost gaming
graphics cards (GeForce GTX 570 / Radeon HD 7870 or equivalent) allow us to display relative
large Revit models with good performance. Benchmarking sites that we find useful to compare
CPU and graphics card performance can be found at: http://www.cpubenchmark.net/ and
http://www.videocardbenchmark.net/.
%APPDATA%\Pathfinder\Pathfinder.props
%PROGRAMDATA%\Pathfinder\Pathfinder.props
If at least one of these files exists, Pathfinder will load the user preferences. If both files exist,
Pathfinder 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 Pathfinder.
1.8. Contact Us
Thunderhead Engineering
403 Poyntz Avenue, Suite B
Manhattan, KS 66502-6081
USA
Navigation View
This view lists all objects in the model in a hierarchical format. It can be used to quickly locate
and modify objects by name.
3D View
This view shows a 3D representation of the current model. The model can be explored and
modified using various tools.
2D View
This view is very similar to the 3D View, but it provides an additional snapping grid and an
orthographic view of the model.
Views
This group contains user-defined camera positions.
Imported Geometry
This group stores items that were imported from an image or an IFC, FDS, PyroSim, or other
CAD model. These objects do not affect the simulation but are carried through to help with
results analysis. They can also be used to generate model elements as described in Section 4.3.
Profiles
This group contains the occupant profiles that have been created using the Edit Profiles
dialog.
Vehicle Shapes
This group contains occupant shapes defined as polygons.
Behaviors
This group contains user-defined scripts that tell occupants how to behave.
Occupant Sources
This group stores occupant sources, which are defined either by area, room, or door, and can
generate occupants during the simulation.
Occupants
This group contains every occupant in the model. If occupants are added to the model using a
tool that adds more than one occupant at a time, they will be collected in a sub-group.
Movement Groups
This group stores occupants grouped into movement groups. Members of a movement group
will stay together during the simulation.
Elevators
This group contains evacuation elevators in the model.
Measurement Regions
This group contains regions defined by area, within which velocity and density measurements
will be taken.
Floors
This group defines the floors in the model, and each floor contains all geometry necessary to
create a movement mesh, including room, stairway, ramp, door, and exit definitions (Figure 8).
The buttons directly above the Navigation View perform the following actions:
Collapse All
Collapses all expanded groups in the Navigation View.
Expand All
Expands all groups in the Navigation View (including sub-groups).
The Floor selection box above the Navigation View panel (see the top of Figure 8) can be used to
manage floors. Any time a room, stair, ramp, or door is created it is added to a floor group
matching the current selection in the Floor box. Changing the selection in the Floor box will
cause the newly selected floor to be shown and all other floors to be hidden. Also, the Z property
for all drawing tools will automatically default to the height of the floor currently selected in the
Floor 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 floors at the same time
(e.g. when creating a stairway).
At the top of the view is several buttons that show different camera modes, display options, and
navigation modes. The panel under this is known as the Property Panel and is a selection
context-sensitive panel. 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.
The main navigation tool for the 3D view is the Orbit tool, .
• By left-clicking and dragging, the model is rotated about its center point.
• Holding SHIFT on the keyboard and then clicking and dragging will pan the camera.
Another navigation tool in the 3D view is the Roam tool, . 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
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.
WSAD Mode
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.
NOTE The WSAD keys may also be used in this mode to move the camera.
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.
Pathfinder can also be navigated while using the Selection/Manipulation tool, . To Orbit the
camera while in perspective view, use a right-click and drag combination. Similarly, use a middle-
click and drag to Pan in perspective view.
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.
Normal Mode
Single-click a drawing tool button on the left side of the view. Draw the object using the
instructions in the appropriate section of the manual. When the object has been completed, the
drawn object(s) will be selected and the view will revert to the previous navigation tool.
Sticky Mode
Double-click a drawing tool’s button on the left panel before beginning to draw. When the
object is completed, the same drawing tool will remain selected and more objects can be
drawn with the tool. To escape this mode, press ESC on the keyboard, and the previous
navigation tool will be selected. A green dot on the tool’s icon indicates that the tool is
currently in sticky mode. Single-clicking the tool’s icon again will turn off sticky mode but keep
the tool selected.
At any time while drawing, the user can press ESC, which causes the current object to be cancelled
and the previous navigation tool to be selected.
For each tool there are often two ways to create its object.
• 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. The individual drawing tools are discussed
in Chapter 3.
Wireframe Rendering
Displays imported 3D geometry as wireframe only. This option is mutually exclusive with the
solid rendering option. It is useful for drawing doors in the 2D view when 3D geometry has
been imported.
Solid Rendering
Displays imported 3D geometry filled in. This is selected by default.
Show Materials
Shows materials applied to the faces of imported 3D geometry. This is selected by default.
Smooth Lighting
Uses a more realistic shading model to show all geometry. This may be a little slower to render
on older graphics cards.
Show Occupants
This toggles the visibility of occupants.
Show Behaviors
This toggles the visibility of behavior objects, such as waypoints.
Show Attractors
Toggles the visibility of attractor objects.
When occupants are not viewed as people, they can also be colored in several ways, available
under View→Occupant Color:
Default
If an occupant has an individually-set color, the occupant is colored with this; otherwise, the
occupant’s profile color is used.
By Movement Group
If the occupant is part of a movement group, this colors all the occupants in their group the
same color. The group color is set in the properties panel for the selected movement group. If
the occupant is not in a movement group, their default color is used.
By Behavior
Colors the occupant using the color specified in the property panel of the occupant’s behavior.
By Profile
Colors the occupant using the occupant’s profile color, even if the occupant has an individually
set color.
Default
Displays each room with a unique color.
By Occupant Density
Colors the room with a color scale based on the occupant density of the room, defined as
number_of_occupants/room_area. Red indicates high density and blue indicates low density.
Mixed
Rooms are colored by occupant density if they contain agents; otherwise, they are colored with
their unique colors.
By Room Type
Rooms are colored according to the type of room.
2. Select New Group or select New Group 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.
1. Drag the object to the desired group in the Navigation View 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.
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 (IBM n.d.)).
The dialog is split into sections similar to those used in the Pathfinder toolbar menus. There are
additional tabs for shortcuts related to tool activation, object selection, and context sensitive
actions.
To change a shortcut, click on cell in the Key Press column and a window launches (Figure 13)
with four different options.
Type an input
Input the desired keybinding to map it to the action.
Clear
Remove the current keybinding from the action.
Reset
Assign the default keybinding to the action.
Cancel
Exit the editor window without making any changes.
The list in this dialog shows the items in the model that can be chosen. Click the checkbox next to
the item in the list to select the item. Alternately, click the checkbox in the header of this list to
select or deselect all items currently displayed in the list.
Sometimes, the list of items might be quite long, making it difficult to quicky find the desired
items. There are several ways to limit the displayed items, however. At the top of the dialog is a
search field. Typing in this field will limit the list of items to only those that partially contain the
entered text. To match the name of an object exactly, surround the text with quotes. For example
"Door01" will show only the doors that have exactly the name, Door01. This search field also allows
wildcards including the following:
?
Matches any single character
*
Matches any number of characters
For example, typing Door?1 would find objects with the following names: Door01, Door51a, Exit
Door91 (south), etc. It would not, however, find the following: Door001, Door9221, etc. Typing Door*1,
however, would find those.
Another way to limit the displayed item is to check the box next to Show only selected rows. This
will only show items that have already been selected. By default, when the Set Chooser dialog
opens, if there are selected items in a long list, Show only selected rows will be automatically
selected so it’s easy to see the current selection.
When the list of items has been filtered either by the search field or Show only
NOTE selected rows, the number of displayed items is shown under the list. Clicking
this label will reset the filters so that all items are displayed.
Clear
Clicking this button will clear the selection, including both displayed and hidden rows.
In this dialog, the probability of choosing a value can be entered into the first column. The second
column shows the name of each available item. The sum of the values in first column must add to
100%.
As in the Set Chooser dialog described above, the displayed items can be filtered either by typing
text into the search field at the top of the dialog or by clicking Display only non-zero rows, which
only shows rows that have non-zero probabilities. In addition, Show group labels can be checked
to show the names of the groups next to the item names in the list, such as
"BehaviorGroup01→Behavior01".
The distribution dialog has some additional actions that can be used to clear values or distribute
probabilities evenly among several items.
To set the probability of multiple items to 0.0%, click the Clear button and choose from one of the
following options in the popup menu:
To distribute probability evenly across multiple rows, click the Distribute Evenly button and
choose one of the following option in the popup menu:
The main egress components include rooms, which are empty floor spaces bounded by walls,
doors, which connect rooms on the same level, stairs/ramps, which connect rooms on different
levels, and elevators, which connect multiple levels.
Rooms
Can have any polygonal shape, and can never overlap on the same level.
Doors
Can be either thick if they are occupying a doorway (the area between two rooms) or thin if
they are simply connecting two touching rooms.
Stairs/Ramps
Are always rectangular and implicitly contain a thin door on each end to connect the adjacent
rooms.
Elevators
Can be any shape and can travel in any direction.
To organize egress components, Pathfinder provides the concept of floors, which group together
components at different Z locations.
When working with imported files, such as IFC, DWG, or FBX, Pathfinder provides
tools that can simplify the creation of the movement space. In some cases, such as
NOTE
with IFC files, Pathfinder can even create most or all of the movement space
automatically, see Section 4.3.
3.1. Floors
Floors are the primary method of organization in Pathfinder. At their most basic level, they are
simply groups in which rooms, doors, stairs, ramps, and exits can be placed, but they also control
the drawing plane for most tools and filtering of imported geometry.
In every Pathfinder model, at least one floor must exist, and at any given time, there is one active
floor. Whenever any navigation object is drawn, it will either be placed in the active floor or a
subgroup of the active floor.
By default when a new model is started, there is one floor at Z=0, and additional floors are either
created automatically depending on where the geometry is drawn or manually created. In
addition, new navigation components are automatically sorted into the appropriate floor when
drawn.
Floor height
This specifies the height at which new floors are automatically created. If a navigation
component is created or moved to a location that is at least this distance from the previous
floor, a new floor will be created at a multiple of this distance from the previous floor.
Group
If Auto sort egress components is unchecked, this drop-down specifies the group/floor for
new navigation components.
The following scenario demonstrates how objects are organized when auto-sort and auto-floor-
creation are enabled (organization of the model is shown in Figure 17):
4. "Stair01" is drawn connecting "Room00" to "Room01" and is auto-placed in "Floor 0.0 m".
5. "Room02" is drawn at Z=-1.5 m. A new floor, "Floor -3.0 m" is auto-created, and "Room02" is
auto-placed in it.
6. "Stair02" is drawn connecting "Room02" and "Room00" and is auto-placed in "Floor -3.0 m".
8. A new floor, "Floor 6.0 m" is auto-created, and "Room03" is auto-placed in it.
In this example, only rooms and stairs were created. The floors were automatically created and
the rooms and stairs were automatically sorted into the appropriate ones.
Automatic floors can be created and components sorted into the floors by performing the
following:
2. Clear the selection so that the Floor Creation panel is visible (Figure 16).
3. Ensure that the desired creation/sorting options are enabled and that the correct floor height
for the model is set.
4. Select all the components that should be auto-sorted (if everything should be sorted, select the
Floors top node).
5. Right-click the selection, and from the shortcut menu, click Sort into Floors.
6. The appropriate floors will be created and all selected items will be sorted into the
appropriate floors.
This will not delete any existing floors. If there are undesired existing floors, first
NOTE move the navigation components out of them to another floor that will be kept,
delete the undesired floors, and then perform Sort into Floors.
1. Click on the floor drop-down box above the Navigation View, and select <Add New> as shown
in Figure 18. A dialog will open asking for the floor location.
2. Enter the Z plane location (Figure 19) or click on a snap point in the 3D or 2D view and click
okay. This Z plane will be used to update the drawing tools' working Z location when this floor
is made active.
Whenever the active floor is changed, the following additional changes take place in the model:
• The floor, all objects in the floor group, and all occupants on the floor are set visible.
• All other floors, sub-objects of other floors, and occupants on those floors are set hidden.
• The working plane of the room and wall subtraction tools is set to the working plane of the
floor.
• A clipping filter is applied to imported geometry so that only geometry within the Z clipping
planes of the active floor is visible.
This will additionally show all occupants on the floors and all sub-objects of the floors groups, and
it will set the import filter to the union of all the floors' filters.
It also shows some statistics of the floor including the total area of the floor (Area), number of
people on the floor (Pers) and density of people. Refuge Area and Speed Modifier are discussed
in Section Room properties.
Working Z
Controls the plane on which new rooms and wall obstructions are drawn.
Z Min Filter
Can be a Z plane location or can have the special value, CURR_FLOOR. If it is CURR_FLOOR, then
the clipping plane is set to the working Z location if there are any floors below this floor or
[stem 1d5ba78bbbafd3226f371146bc348363] if there are no floors below.
Z Max Filter
Can be a Z plane location or can have the special value, NEXT_FLOOR. If it is NEXT_FLOOR, then
the Z plane is set to the working Z plane of the next higher floor if one exists, or [stem
701fa44621fd283e3f2c5468958859d8] if there are no higher floors.
3.2. Rooms
Rooms are open space on which occupants can freely travel. Each room is bounded on all sides by
walls. Rooms can be drawn so that they touch each other, but an occupant can only travel
between them if they are connected by a door. Only one room can occupy a given space at any
time, so if one room is drawn overlapping another, the overlapping area will be subtracted from
the old room and given to the new. Rooms can also be merged into one, separated into constituent
parts, and have internal, thin boundaries drawn in them. These features are discussed in the
following sections.
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.
The rectangular area can also be created by entering coordinates for two points in the property
panel and clicking Create.
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.
This is discussed further in the section, Arbitrarily-shaped obstructions (desks, tables, etc.).
The Z plane can be specified either manually by typing the location into the Z Plane field or by
picking the location from the 2D View or 3D View as follows:
2. In the tool property panel, click Pick Z from Scene. This will clear the tool property panel
while waiting for the user to click a location.
3. Click a point in either the 3D View or a 2D View. The tool property panel will return for the
selected drawing tool, and the Z Plane field will be filled with the Z coordinate of the clicked
location.
Dividing a Room
Figure 24. Original room Figure 25. Two new rooms from the original
Merge
The Merge command is used to join two or more rooms that share boundaries into one room.
They can also be merged with stairs and ramps, but the stairs and ramps will be converted into
rooms and will lose their stair/ramp properties.
To Merge rooms:
2. Select Merge from either the Model menu or the right-click menu (Figure 26)
Rooms can be merged even if they do not lie in the same plane as long as they
NOTE
share a common edge.
Merging rooms
Separate
The Separate command breaks a room into its constituent parts along any negative space that
divides it (Figure 29).
To Separate a room:
2. Select Separate from either the Model menu or the right-click menu (Figure 28).
Separating a room
Name
An identifying name for room.
Visible
Whether the room is currently visible. Uncheck to hide the room.
Color
The color of the room. If unchecked, a default room color is used.
Opacity
The opacity of the room. Making this value less than 100% will cause objects behind the room
to become visible.
X, Y, and Z Bounds
The geometric bounds of the room.
Area
The geometric area of the room.
Pers
The number of occupants currently placed in the room.
Density
The number of occupants/area
Refuge Area
Marks the room as a Refuge area, which can then be specified in a list of rooms for the Goto
Refuge Rooms action as discussed in Section 5.3.3. When this option is selected, occupants will
be tagged as "safe" whenever they are in the room. The "safe" times are reported in the
Occupants Summary (Section 14.7) and Occupant History (Section 14.8) output files.
Speed Modifier
A time-variable factor that affects the speed of each occupant who travels in the room. When
occupants travel in the room, their maximum speed is multiplied by this factor. This could be
used, for instance, to represent the effect of smoke on occupant speeds. By default, the modifier
is 1.0 throughout the simulation. To change this, click the link. The Edit Speed Modifier dialog
appears as shown in Figure 31. In this figure, for instance, the room initially leaves occupant
speeds unmodified, but over the first 40 seconds ramps occupant speeds down to 25% of their
maximum values.
Capacity
A maximum capacity of the room, which can be specified using an occupant count or a density.
Specifying room capacity is optional. If at any time during the simulation the room capacity
reaches the limit, no occupants will enter the room until the room capacity decreases below
the limit.
Accepted Profiles
A list of occupant profiles for which the occupants can enter this room (see Section 2.6.1 for
help using this dialog). By default, all occupant profiles are accepted.
2. Right-click one of the rooms, and from the menu select Make Doors One-way. A dialog will
appear as in Figure 32.
3. From this dialog, choose whether occupants can only Enter or Exit the room. If any of the
room’s doors were already marked as one-way, another option will be provided to overwrite
the one-way status of those doors.
Pathfinder will automatically calculate the correct directions for the doors to make the rooms exit-
only or enter-only.
If any doors were shared between rooms in the selection, those doors will not be
NOTE
affected, as their direction would be ambiguous.
To disable mesh optimization, select Preferences from the File menu, and uncheck Optimize
Navigation Geometry.
This setting will be maintained even after closing and reopening Pathfinder. If
NOTE mesh optimization is being enabled, Pathfinder provides an option to optimize all
navigation geometry at once.
3.3. Obstructions/Holes
In Pathfinder, obstructions are modeled as holes in the navigation geometry. Holes can be created
with an arbitrary polygonal shape or as thick walls.
1. Select the Add a Polygonal Room tool or the Add a Rectangular Room tool and draw the
shape and location of the obstructed area. This will subtract the area from the old room and
2. Next, delete the new room. A hole is left in the old room in the shape of the obstruction. This
process is shown in Creating an obstruction.
Creating an obstruction
Figure 33. Start with an existing room Figure 34. Draw the obstruction shape
Figure 35. Delete the new room Figure 36. The cut out area obstructs movement
To use this tool, click two points in the model as shown in Figure 37. Pathfinder will attempt to
connect these two points with an internal boundary edge.
In some circumstances, Pathfinder may have trouble connecting the two points. If
NOTE this occurs, try limiting the two points to one room or to the number of room
boundaries crossed.
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.
The thick wall tool is not as robust as the thin wall tool. It operates by subtracting
NOTE area from any room that lies in its specified Z plane, whereas the thin wall tool
will follow the slope of multiple rooms to connect two points.
3.4. Doors
In Pathfinder, occupants cannot pass between two rooms unless they are joined by a door. Doors
provide useful flow measurements in simulation results. Also, in the SFPE mode doors act as the
primary flow control mechanism. You can add doors using the Add a New Door tool.
The simulator requires that each occupant must have a path to at least one exit
NOTE
door.
When adding doors, different parameters provide hints to Pathfinder for finding a valid door as
Min Width
Restricts potential edges to only those that are longer.
Max Width
Used as a target width for the door. If the full width isn’t available, Pathfinder will display a
shorter door as you hover with the mouse.
Max Depth
Represents the depth of the door cavity and is used to determine how far apart two rooms can
be and still be joined by a door. Doors can be added between rooms that are separated by up to
this distance.
a. Manual Entry: Enter the coordinates of the door in the property panel. If the coordinates
specify a valid door location, the Create Door button will enable. Click this button, and a
door no larger than Max Width will be created. For thin doors, Max Depth will be
ignored.
b. Single Click: Move the cursor over the desired door location in the 3D or 2D view. A
preview door will be displayed if the cursor is on a valid edge. The door displayed will lie
either to the left or right of the hover point relative to the boundary edge, depending on
whether Max Width is positive or negative. Single click to place the door. The previewed
door will then be added to the model.
c. Click-drag: Move the cursor over the location of one end point of the door, and click drag
along the same edge. While dragging, a preview door will be displayed from the first to the
second point. When the mouse is released, a door is created along the edge between the
two specified points. Creating a door in this manner ignores all the properties in the tool
panel.
3. The created door will appear as a thin, orange line in the 3D and 2D views as shown in Figure
41.
Figure 40. Two rooms with a shared wall Figure 41. Adding a thin door to connect the
rooms
a. Manual Entry: Make sure Max Depth is greater than or equal to the distance between the
edges the door will lie between. Enter a point on one of the edges in the property panel. If
the coordinates specify a valid door location, the Create Door button will enable. Click
this button, and a door no larger than Max Width will be created.
b. Single Click: Make sure Max Depth is greater than or equal to the distance between the
edges the door will lie between. Then move the cursor over the desired door location in
the 3D or 2D view. A preview door will be displayed extending between the rooms if the
cursor is on a valid edge. The door displayed will lie either to the left or right of the hover
point relative to the boundary edge, depending on whether Max Width is positive or
negative. Single click to place the door.
c. Click-drag: Move the cursor over the edge of one of the rooms, and click drag along the
corresponding edge on the second room. While dragging, a preview door will be displayed
connecting the two edges. When the mouse is released, a door is created between the
edges of the two rooms, where the diagonal of the rectangular door connects the two
specified points. Creating a door in this manner ignores all the properties in the tool panel.
3. The created door will appear as an orange rectangle in the 3D and 2D views as shown in
Figure 43.
When simulating, thick doors have a special representation: the area of the door will be
partitioned in two, and each half is attached to its touching room. A thin door is placed in the
middle of the area to represent the thick door.
The extra area attached to each room is neglected when the area of the room is
NOTE
reported in its property panel, but it is included during simulation.
Width
The width of the door. Changing this value will change the width of the door, but the value
cannot exceed the length of its room edge.
Flow Rate
Checking this box overrides the default door flow rate setting in the Simulation Parameters
Dialog (see Section 13.1). Setting this value controls the maximum occupant flow rate for the
door in units of pers/s. This can be used, for instance, when a particular door has been
measured to flow at a specific rate and that rate must be reproduced. A value of 0.9 pers/s, for
instance, would mean that one occupant can go through the door every 1.1 seconds (1/0.9).
While setting a flow rate will set an upper limit, actual flow rates will often be
slightly less in steering mode even if there is a large queue at the door. In
addition, the flow rate is considered local knowledge. Occupants are only
NOTE
aware of the flow rate of doors in their current room and unaware of those
downstream when calculating their global travel time as discussed in Section
5.1.4.
State
Indicates the timed opening, closing, and changing the one-way direction of the door, see
Section 3.4.3.1. A One-way door is one through which occupants can only travel in one
direction.
Wait Time
Amount of time for which each occupant must wait at the door before walking through it. This
can be used to simulate turnstyles or doors with access keys. The specific wait time for each
occupant will be drawn at random from a predefined continuous or discrete distribution.
Wait time is considered global knowledge. An occupant knows about the wait
times of downstream doors when choosing between doors in their current
NOTE
room. In addition, a local door’s wait time is part of the Global Travel Time as
discussed in Section 5.1.4.
Accepted Profiles
A list of occupant profiles for which the occupants can enter this door. By default, all occupant
profiles are accepted.
By default, all doors are always open throughout the simulation. To change this, click the link to
the right of State.
The Edit Door State dialog will appear as shown in Figure 45. This dialog allows the initial state of
the door to be specified as well as additional timed states.
As shown in the figure, for example, the door is initially open, closes at t=10 s, opens in +X
direction at t=20 s, and then opens in both directions again at t=30 s.
Even though a door can only be travelled through in two possible directions, the drop-down box
allows +X, -X, +Y, and -Y. When one of these directions is chosen, the actual direction Pathfinder
chooses is the closest along the door’s normal.
Occupants can ignore the one-way setting of doors if their profile has Ignore One-
way Door Restrictions checked. This allows them to go through in either
direction. In addition, door state is considered global knowledge - an occupant
NOTE knows about the state of downstream doors when making a local door choice. For
instance, if a door is permanently closed downstream, the occupant will plan a
route that does not use that door. Similarly, they will not plan a route that goes the
wrong way through a one-way door.
3.5. Stairs
Stairs in Pathfinder are represented by one straight-run of steps. They can be created with two
tools. One tool allows creation of stairs between two semi-parallel boundaries of rooms, and the
other allows creation of stairs that extend from one room boundary until a criterion is met, such
as number of steps, height of stairs, etc., or until another room is reached.
One requirement of all stairs for successful simulation is that each end of the stairs must connect
to boundary edges of the rooms, meaning that there must be empty space at the top of the
stairway and empty space below the bottom. See Stair geometry requirements for an illustration
of this issue. The size of the gap must be greater than or equal to the radius of the largest occupant
to travel on the stairs.
1. Ensure that both the connecting rooms are visible. If the rooms are on different floors, at least
one room will have to be manually set visible, which can be done through the right-click menu
in the Navigation View.
2. Select the two-point stair tool, . The property panel will display the stair creation properties
as shown in Figure 48.
3. The stairs can now be created in one of the three following ways:
a. Manual Entry: Set the desired stair width, and for each edge on which the stairs should be
created, enter a point. If the points are valid, a preview stair will be shown in the 2D or 3D
view and the Create button will enable. Click Create to add the stairs.
b. Two-click: Set the desired stair width. Move the cursor over the first edge, and a preview
line similar to a thin door will appear previewing the top or bottom of the stairs. Single-
click to set the point. (Figure 49) Now move the cursor over the second edge. Now a
preview of the stairs will appear connecting the first edge to the second. Single-click on the
second edge to create the stairs (Figure 50).
c. Two-click with drag: Click-drag on the first edge to specify both the starting point and
width of the stairs. Release the mouse and then single-click on the second edge to place the
stairs.
For stairs between edges, the step count for display of the stairs is determined by
NOTE
the tread rise and total vertical rise.
Figure 49. Click the first edge Figure 50. Click second edge to finish stairs
The property panel for the one-click stair tool, as shown in Figure 51, provides four ways to
terminate the stairs:
Step count
The stair will have this many steps.
Total rise
The stair will be this tall in the Z direction.
Total run
The stair will be this length in the XY plane.
Total length
The hypotenuse of the stair will be this length.
1. Select the one-point stair tool, . The property panel will show.
2. If the tread rise is positive, the stairs will extend up from the starting edge, and if it is negative,
the stairs will go down. Similarly, if the tread run is positive, the stairs will extend away from
the room, and if it is negative, the stairs will extend in toward the room. Another way to
change these values is to hold CTRL on the keyboard to make the tread rise negative and hold
SHIFT to make the run negative.
3. Now the stairs can be created in one of the three following ways:
a. Manual Entry: Set the desired stair width, tread rise, tread run, and termination criterion.
Specify the starting point on the desired edge. If the location is valid, a preview stair will
be shown, and the Create button will enable. Click Create to add the stairs.
b. Single-click: Set the desired stair width, tread rise, tread run, and termination criterion.
Move the cursor over the starting point on the room’s boundary. A preview stair will be
displayed. Single click to place the stairs.
c. Click-drag: Set the desired tread rise, tread run, and termination criterion. Now click-drag
along the room’s boundary to specify both the location and the width of the stairs.
After creating stairs in this manner, the Z location of the next floor or room will have to match the
top of the stairs exactly for the next room to connect properly to the stairs. This can be done by
clicking the top of the stairs in the 3D or 2D view when choosing the Z location for either the floor
or next room.
After creating a one-click stair, you can only modify the stair by clicking the handles and dragging
to existing geometry.
Length
The total length of the stair from the bottom to top edge. This is the same as the hypotenuse
formed by the total stair rise and total stair run.
Width
The width of the stair.
One-way
Indicates whether the stair should only allow occupants to travel in one direction and if so,
which direction.
Speed Modifier
A time-variable factor that affects the speed of occupants who travels on the stair. This acts the
same as the Speed Modifier property for rooms (see Section 3.2.5).
Capacity
A maximum capacity of the stair, which can be specified using an occupant count or a density.
This acts the same as the Capacity property for rooms (see Section 3.2.5).
Additional Info
Clicking this link shows additional information about the stair, such as its geometric bounding
box, area, and number of occupants.
Accepted Profiles
A list of occupant profiles for which the occupants can enter this stair. By default, all occupant
profiles are accepted.
3.6. Ramps
Ramps are nearly identical to stairs in how they are created and represented. Like stairs, they
have two implicit doors at either end and always take the shape of a rectangular piece of
geometry.
They also have very similar creation tools: the two-point ramp tool , and the one-point ramp
tool . The key difference between ramps and stairs is that ramps do not affect the speed at
which occupants travel by default.
3.7. Escalators
Pathfinder provides some limited support for escalators. They are essentially stairs with slightly
modified properties.
2. Select the stair (or several) so its properties are visible in the property panel as shown in
Figure 53.
4. Click the Speed Modifier drop-down, and choose Speed Constant as shown in Figure 55.
5. Edit the speed of the escalator in the speed constant field. As with the Speed Modifier for
stairs, the Speed Constant can be time-variable. This would normally be used to turn the
escalators on or off throughout the simulation by using the values 1.0 and 0.0 respectively, but
any value can be entered.
By default, occupants do not walk on moving walkways or escalators, and they will not stand on
any specific side. This can be changed by modifying the occupant’s profile and selecting their
Escalator Preference (see Section 5.1). If an occupant is walking, the escalator’s speed constant
will be added to the occupant’s current speed on the escalator.
When escalators are turned off, occupants will use them as stairs, regardless of
NOTE whether their profile indicates that they want to walk on escalators, or if their
profile indicates that they should stand on a given side.
3.9. Elevators
Pathfinder supports elevators in egress-mode operation, which is based on current thinking
described in Using Elevators In Fires (Bukowski and Li 2010).
• Each elevator has one discharge floor. This is where the elevator starts at the beginning of the
simulation and where it will take occupants it has picked up.
• Each elevator has at least one pickup floor. These are floors where the elevator will pick up
occupants that it will take to the discharge floor.
• An elevator is called on a pickup floor by an occupant when they come within .5 m of the
elevator door.
• The elevator uses a priority system to serve called floors. By default, floors are served from top
to bottom; however, other floors can be given higher priority to simulate fire floors.
• When travelling to a pickup floor, the elevator can change to another pickup floor mid-flight if
a higher-priority floor is called that is above the elevator’s current location.
• Once an elevator has picked up occupants, it will only travel to the discharge floor before
letting the occupants off. It will not travel to any other floor to pick up more occupants.
Perform the following steps to create the elevator (refer to Figure 18):
1. Draw a room that defines the shape of the elevator, preferably on the discharge floor, see
Figure 56.
2. Draw all doors on the boundary of the base room, see Figure 57. Occupants will use these
doors on every floor to enter and exit the elevator.
3. Right-click the base room, and from the right-click menu, select Create Elevator, see Figure
58. This will show the New Elevator dialog as shown in Figure 59.
4. In the New Elevator dialog, enter all parameters for the elevator:
Name
The name of the elevator.
Nominal Load
The number of people in a full load (estimated). Please read the Nominal Load section
below for details.
Elevator Geometry
The base room that defines the elevator shape. This defaults to the room that was originally
selected.
Travel Direction
A vector defining the direction the elevator can travel. This vector will automatically be
normalized. The elevator can travel negatively against this vector.
Elevator Bounds
This defines the bottom-most and top-most floors the elevator can connect to.
Elevator Timing
This defines a basic timing model used to calculate the travel times for the elevator to
travel from the discharge floor to each pickup floor.
Call Distance
The distance away from the elevator door at which an occupant can call the elevator.
Double-Deck
Whether the elevator should use two connected decks to transport occupants. Please see
the Double-Deck Elevators Section for details.
If necessary, Pathfinder will automatically subtract holes in existing geometry to make space for
the elevator shaft. It will also delete existing rooms, doors, stairs, and ramps in the elevator shaft.
Pathfinder will ask before making any of these changes.
In order for occupants to use elevators, they must either be allowed to use elevators in their
Profile under Restricted Components (see Section 5.1.2) or be explicitly told to do so through their
behaviors, as discussed in Behaviors. Occupants can be encouraged to prefer elevators to stairs
using the Elevator Wait Time Profile parameter (see Section 5.1.4).
The timing values can be re-calculated using a new timing model by selecting the
NOTE elevator, selecting Edit next to Level Data in the property panel, and then
selecting Reset in the level data dialog.
Nominal Load
The number of people in a full elevator load (estimated). Please read Section 3.9.4 below for
details.
Open Delay
The minimum amount of time an elevator’s doors will stay open on a pickup floor.
Close Delay
The minimum amount of time the elevator’s doors will stay open after an occupant passes
through one of the doors. This can also be thought of as the time someone in the elevator will
hold the door open waiting for another occupant to enter. This delay time will reset every time
an occupant passes through the doors. If the delay time passes without another occupant
passing through the doors or without another occupant appearing in range of the doors or the
elevator reaches capacity, the doors will close. The total amount of time for elevator doors to
stay open, assuming no other occupants are within sight of the elevator who are heading
toward it, can be summarized as: [stem 5e303889c624abe30a2c2c556d2ccfd6]
Discharge Floor
The floor at which occupants will discharge during an evacuation.
Floor Priority
The priority of the floors for pickup. By default this is top-down. This can be changed, however
by clicking the text, which will show the Floor Priority dialog as shown in Figure 63. This
allows the simulation of a fire floor.
Level Data
Click the Level Data: Edit link to edit timing for each floor. This will open the Elevator Levels
dialog as shown in Figure 64.
Delay
The time delay from the start of the simulation for when the elevator can start picking up
occupants from a floor. This value does not affect the discharge floor.
Open+Close Time
The total amount of time it takes to open and close the doors for this floor. The door is
assumed to open and close at the same speed, so after arrival at a floor the door will open
after a delay of half the specified Open+Closed Time. Similarly, after the door closes the
elevator will leave the floor after a delay of half the specified Open+Closed Time.
Pickup Time
The time for the elevator to travel from the discharge to the pickup floor.
The pickup and discharge times are calculated from the timing parameters
NOTE
entered in the New Elevator dialog when the elevator is created.
Discharge Time
The time for the elevator to travel from the pickup to the discharge floor.
Reset
By selecting the Reset option at the bottom of the dialog, an Elevator Timing dialog will
open, allowing automated recalculation of the Level Data parameters. The timing options
shown are the same as those shown when creating the elevator.
Initial Floor
The floor at which the elevator deck will be located at the beginning of the simulation.
Call Distance
The distance away from the elevator door at which an occupant can call the elevator.
Double-Deck
Whether the elevator should use two connected decks to transport occupants. Please see
Section 3.9.7 for details.
The scale factor (default: 1.0) is determined by a correlation to the density produced by the
nominal load. This makes it possible to adjust loading while still accounting for differences in
individual occupants' size.
In steering mode, the geometry of the elevator can lead to reduced loads (e.g. if the elevator is 2.8
persons wide). Please verify that the resulting (post-simulation) elevator loads match elevator
manufacturer recommendations.
To do so:
1. Right-click the elevator door on the desired floor from the Navigation View or 3D/2D View.
To re-enable it, right-click the door from the Navigation View and select Enable.
Alternatively, right-click an elevator level and select Disable to disconnect all the elevator’s doors
on that level, effectively preventing the elevator from picking up occupants on that level.
All elevators in the group will be in the same call set as shown in Figure 65.
After calling an elevator, the double-deck elevator arrives at the given floor, and the doors of its
two decks open at the two adjacent floors (even and odd). When the decks are loaded, the double-
deck elevator moves to the discharge floors.
A double-deck elevator requires two discharge floors, one for each deck. In Pathfinder, the
Discharge Floor denotes the lower discharge floor. The upper discharge floor is directly above
the lower discharge floor.
After arriving at the discharge floor, the elevator doors of both decks open, allowing occupants to
leave both decks of the elevator.
There are several conditions that must be followed when using a double-deck elevator in
Pathfinder:
• The total numbers of elevator levels above and below the pair of discharge levels must be
even. However, any non-discharge level can be disabled.
• The vertical distance between each pair of even and odd level must be equal to the vertical
distance between the lower and upper discharge floor, since the distance between the elevator
decks is fixed. However, the distances between the different level pairs can be arbitrary.
• Neither the lower, nor the upper discharge levels can be disabled.
3.10. Exits
In Pathfinder, exits are merely thin doors that exist on the boundary of the model. An exit can
only have a room on one of its sides.
Exits are created in almost the same way as thin doors as discussed in the section, Thin doors. The
only difference is that the door must lie on an edge of a room, and the edge must not be shared
between two rooms.
Exit doors are displayed the same as thin doors except that they are green as shown in Figure 66.
1. When clicked, a dialog will appear prompting for an image file. The following image formats
are currently supported: BMP, GIF, JPG, PNG, and TGA. After a file is selected, a new dialog will
appear as shown in Figure 67. This dialog allows properties of the image to be specified so that
the proper scaling, rotation, and offset can be applied.
2. An anchor point is specified on the image that indicates where that point is located in 3D
space of the model. By default, the point you click will be placed at the origin point (0,0,0) in
the model.
3. To specify the scaling for the image, two points, A and B, and a distance between them can be
specified (Figure 68).
4. To specify the rotation of the image, an angle can be input that specifies the angle of the vector
from A to B with the vector (1,0,0). As shown in the figure, the A→B vector should be 90
degrees from the X axis.
5. Click OK and the image will be placed in the model as specified (Figure 69).
The imported image is added to the Imported Geometry → Background Image group in the
Navigation View. The image can be edited and deleted from there.
Depending on which type of file is imported, Pathfinder also provides various tools to generate
the navigation mesh elements such as rooms, doors, and stairs, see Section 4.3.
1. Under the File menu, select Import and select the desired file.
2. After selecting a file, a step-by-step dialog will open as shown in Figure 70.
Figure 70. CAD import dialog (units) Figure 71. 2D CAD import options
3. The first prompt asks whether the CAD data should be imported into the current model or into
a new one. Importing into the current model allows many CAD files to import into one
Pathfinder model.
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 was used to create the FBX file, choose SimLab from
the drop-down box; otherwise; choose Unknown. This selection controls the default
settings in the subsequent prompts. In some cases, Pathfinder is able to detect whether the
file was exported using a SimLab plugin and will select this option automatically.
4. Units: 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.
5. Import Settings: The next prompt allows the user to control how some of the data is imported
and to correct some data that may have been written incorrectly by the file’s CAD exporter.
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 as explained in Section 2.3.1.
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.
6. Options: This prompt allows the user to specify more options for import. Before this prompt is
shown, Pathfinder will attempt to discern if the CAD file contains a 2D Floorplan or a 3D
Model and will select default values for the options based on the detected type.
Lines
Check to import lines in the file (default=checked only for floorplans.)
Faces
Check to import faces in the file (default=checked only for 3D models.)
Geometry Offset
Will offset imported geometry on the X, Y, and Z planes by the specified values.
All imported elements will be added to the "Imported Geometry" node in the Navigation View. If
the CAD file was a DWG or DXF, the grouping structure will include the model level, the layer
level, and all entities distributed within the layer. For IFC files, the grouping is determined by the
Object Grouping setting as specified above. For other CAD files, the grouping structure will match
the node structure in the file. If both lines and faces were included in the import and an entity
contained both lines and faces in the CAD file, the entity is split into two in Pathfinder - one with
the lines, and one with the faces.
While this option is no longer available, both imported line and face data is now sent directly to
the 3D results viewer instead, eliminating the need for a background image.
Common to all import objects is the ability to set some visual properties, such as color and opacity
for each component of the geometry. The imported geometry is sent as-is to 3D Results, resulting
in a clean and fast graphical representation of the data.
When an imported object is selected, its property panel appears as shown in Figure 72.
Visible
Whether the object is currently being shown in the 3D or 2D view.
Material
The material applied to the selected faces when the Show Materials option is turned on.
Clicking the material button will open the Material Dialog as shown in Figure 85. In this
dialog, the material can either be edited or a new material can be applied to the faces by
selecting one from the list on the left and clicking the OK button. To remove the reference to
the material, select the <No Material> option from the material list.
Because materials can be shared among faces, editing a material applied to one
NOTE
face will also change the visual appearance of all faces referencing that material.
Color
The color of the selected objects when they have no material or the Show Materials option is
turned off.
Opacity
The opacity of the selected objects when they have no material or the Show Materials option
is turned off.
X, Y, Z Bounds
The bounds of the object’s geometry.
Object Type
The object’s originating type as specified in the imported file. For IFC files, this is the object’s
IFC Entity type, such as IfcRoof. This value cannot be changed.
Import Type
Specifies how the object is to be treated when automatically generating the model as described
in Section 4.3.1. Pathfinder chooses the value for this property during import. For more
information on how the Import Type is chosen, see the section for each import file type (see
Section 4.2.2).
Unlike with the other import formats, however, textures are not currently
NOTE
supported.
When exporting an IFC file from another CAD package, such as Revit, it is preferable to use the IFC
2x3 Coordination View, though other IFC views should work as well.
Each object imported from an IFC file corresponds with an IFC Entity instance. Currently, only
instances with 3D geometry are imported. In addition, openings (holes) are pre-subtracted from
objects, and the openings are not imported as objects. For example, a wall in the IFC file might be
associated with an opening object for a window. When importing, Pathfinder will subtract the
opening’s geometry from the wall geometry and only import the resulting wall. The window
would additionally be imported as a separate object.
The Object Type for each object is set to the object’s IFC Entity type, such as IfcWall. The Import
Type is chosen automatically based on the object’s Object Type and possibly other properties
specified in the IFC file. For instance, an IFC object with entity type, IfcCovering has an associated
PredefinedType property that specifies what kind of covering it is, such as a wall covering or floor
covering. For floor coverings, Pathfinder will automatically set the object’s Import Type to Floor
during import. Other types of coverings become Obstruction.
Table 2 specifies how the Import Type is chosen for imported IFC objects:
IFC Entity Type IFC Predefined Type Object Name Import Type
IfcBuildingElementProx "Path of Travel" "RPC <ignored>
y Male" "RPC Female"
IfcCovering FLOORING Floor
IfcDoor Door
IfcElement Obstruction
IfcRamp Floor
IfcSlab Floor
IfcStair Stair
IfcTransportElement ESCALATOR Stair
IfcTransportElement MOVINGWALKWAY Floor
NOTE The object’s name must contain one of the specified texts.
The IFC Entity Type includes derived entities unless specifically listed in the table. For instance,
IfcElement includes IfcBeam, IfcColumn, etc., since those entities derive from IfcElement and are not
listed in the table. IfcElement does not, however, include IfcDoor since IfcDoor is in the table. In
addition, IfcDoor includes both IfcDoor and IfcDoorStandardCase since IfcDoorStandardCase is
derived but not listed.
Import Type for all DXF objects is Obstruction. In order for the Import Type to be more useful, it
must be set manually. Some suggestions for doing so are given in Section 4.3.1.
Import Type for all DWG objects is Obstruction. In order for the Import Type to be more useful, it
must be set manually. Some suggestions for doing so are given in Section 4.3.1.
Import Type for all FBX objects is Obstruction. In order for the Import Type to be more useful, it
must be set manually. Some suggestions for doing so are given in Section 4.3.1.
Import Type for all PyroSim and FDS objects is Obstruction. In order for the Import Type to be
more useful, it must be set manually. Some suggestions for doing so are given in Section 4.3.1.
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
Pathfinder. 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.
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 Pathfinder on the same computer as the one that exported
the file or the embedded media option was selected, continue to the next step; otherwise, some
additional steps may be necessary to ensure the textures can be found when importing into
Pathfinder:
a. Determine the directory into which the FBX exporter saved the textures. Some exporters
may place the textures in a sub-directory 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
C:\ProgramData\Autodesk\Revit\Addins\SimLab\FBXExporter\data\Imported_Textures\#
where # is a number specific to the exported file, such as 40.
b. If the folder is not already a sub-directory 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.
c. Transfer the FBX file and the texture folder to the computer that will be importing the FBX
file into Pathfinder.
The first method exports a building information model (BIM) in the industry foundation classes
(IFC) format. For more information on the IFC format, see Section 4.2.2.
This method exports a DWG file directly from Revit, which can then be imported into Pathfinder.
While simple to perform and only requires Revit, this method loses all information about
materials, including textures, due to Revit’s limited DWG support.
4. In the DWG Export dialog, for Export, select <In session view/sheet set>.
6. Click the Check None button, and then in the view table, select the check box for 3D View
(Other views may be chosen, but the DWG will only contain entities visible in the selected
views).
7. Click Next and choose a file name for the DWG file.
This method exports an FBX file directly from Revit, which can then be imported into Pathfinder.
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 Pathfinder.
3. Select Export→FBX.
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:
3. Select Export→FBX.
5. Open AutoCAD.
8. The FBX Import Options dialog will appear, see the recommended settings below.
9. Click OK to finish the import. You may receive a warning about the clip plane of the camera.
Import section
Make sure Objects and Materials are checked. Lights and Cameras are unused in Pathfinder.
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.
Block
Uncheck Insert file as block.
1. Import all CAD files that contribute to the model into the same Pathfinder model.
2. If any of the imported files were not IFC, set the Import Type for the objects imported from
those files. These files default all objects to the Import Type, Obstruction, so this only needs to
be done for non-Obstruction objects.
Some fast ways to do this include:
a. If the imported objects are grouped together in the navigation view by type, select the
group containing the objects such as the one containing all the doors, and set the Import
Type in the property panel to Door.
b. If the imported objects contain the object type in their name, such as Door43, use the search
tool (Edit→Find) to select all with the text Door in the name. Then set the Import Type to
Door on the whole selection.
3. Delete any objects that should not contribute to the Pathfinder model or set their Import Type
to <ignored>. This may be necessary, for instance, if the file contained stand-in objects, such as
the building envelope.
4. In the Model menu, click Generate Model from BIM. This will show the Generate Settings
dialog as explained in Section 4.3.1.2.
5. Set the desired properties for generating the model, and click Generate. This will generate
rooms, stairs, and doors for the entire imported model.
7. There may be extra detached rooms that are not needed in the model. An easy way to remove
these is to first right-click a room that should be in the result, and click Select Connected
Components from the right-click menu. Select the Entire graph option in the dialog, and click
OK. Hide the selected objects. Repeat this until all required components have been hidden.
The remaining extra rooms can be selected and deleted.
If only a subset of the imported objects needs to be modeled in Pathfinder, either set the Import
Type for unnecessary objects to <ignored> before generating the model with the above steps or
perform the following instead:
1. Select the imported objects that should be turned into navigation elements. The selection does
not have to include objects with Import Type set to Obstruction, as obstructions are
automatically subtracted during model generation.
2. Right-click the selected objects, and from the menu, click Generate Model from BIM
Selection.
3. In the Generate Settings dialog, enter the desired settings and click Generate.
When using the Generate Model from BIM actions, any existing rooms will be
overwritten with newly generated rooms if they exist in the same space; however,
NOTE
existing doors and stairs will not be overwritten, which may result in duplicate
doors and stairs.
The following table describes how Pathfinder converts imported objects into Pathfinder
navigation elements based on their Import Type and any additional properties that may have
been imported along with the object:
Escalator Stair and Room The conversion is performed the same as for Import
Type Stair. If the resulting stair must be treated as an
actual escalator, its properties must be set after
generating the model. See Section 3.7 for more
information.
Moving Walkway Room The conversion is performed the same as for Import
Type Floor. If an actual moving walkway is needed
instead of a room, delete the generated room and create a
moving walkway as described in Section 3.8.
Stair Stair and Room To generate a Pathfinder stair, the imported object’s steps
are first generated as if they were rooms. Like with
rooms, overhead obstructions, such as railings, are
subtracted from them. After this, the steps of the stair are
connected together using Pathfinder stairs. If multiple
steps can be strung together in a row and have similar
rise and run characteristics, they all become one stair.
Otherwise, they are separated into multiple stairs so that
each stair has similar rise/run to the underlying imported
geometry. This process may leave part of the stair
geometry, such as the landings, as rooms.
When using the Generate Model from BIM action, various settings can be specified in the
Generate Settings dialog as shown in Figure 73.
Max Slope
Determines the maximum slope of a floor to be considered as a walkable surface. A slope of 0°
indicates a flat surface, while a slope of 90° is vertical.
Generate doors
If checked, adds Pathfinder doors to the navigation mesh from the imported doors.
NOTE Any imported object can be considered a door if its Import Type is set to Door.
Generate stairs
If checked, adds Pathfinder stairs to the navigation mesh from the imported stairs.
Any imported object can be considered a stair if its Import Type is set to Stair.
In addition, a stair might be turned into multiple Pathfinder stairs, including
NOTE
single-step stairs if the imported stair does not conform to a single Pathfinder
stair, as with spiral staircases.
4.3.1.3. Limitations
While the Generate Model from BIM action can quickly provide a good starting point for a
Pathfinder simulation, it does have some limitations, including:
• Escalators are only supported as Pathfinder stairs. Their speed and direction are not
determined during extraction.
• Moving walkways are only supported as Pathfinder rooms. Their speed and direction are not
determined during extraction.
• Generated doors may be slightly wider than the actual door opening. This is because the shape
of the door is determined from either the imported door’s associated wall opening or the door
geometry. In the former case, the actual door opening may be slightly smaller than the wall
opening due to the door jam. In the latter case, the door geometry often includes door trim,
which may be several inches wider than the actual door opening. In addition, some CAD
packages may export a curtain wall door with windows on the side as one door object. In this
case, the resulting door may be quite a bit wider than the actual door opening because the
wall opening/door geometry would include the side windows.
• Pocket doors might be twice as wide as they should be since their opening may include the
space inside the walls.
• Doors might be thicker/deeper than the surrounding wall if the CAD package that exported the
IFC file uses deep wall openings rather than openings that are just deep enough to cut out an
opening in the wall. This should not significantly impact the simulation unless the opening is
extremely deep.
• The presence of a door threshold may prevent a door from generating correctly.
• Pathfinder stairs are only generated from objects marked with the Import Type, Stair. Some
objects, such as steps in a stadium might look like stairs but are actually marked as floors. In
this case, stairs will not be automatically generated, and will look like small, disconnected
rooms instead.
• Pathfinder may treat some objects as obstructions that should not participate in the extraction
process, such as a stand-in object representing the building envelope. This is caused by
limitations in the IFC format or the exporting CAD package, where these objects are marked
with the entity type, IfcBuildingElementProxy. This type is merely a stand-in data type for
objects not inherently supported by the IFC standard. They may or may not be physical objects
in the model, and there is currently no way to differentiate, so Pathfinder treats them all as
obstructions.
Depending on the imported CAD data, some problems may arise when generating the Pathfinder
model. Table 4 below may help determine the source of the problem and resolve it.
There is a wall in the middle of The wall/gap might actually be Either draw a door along the
a generated room where there a very thin gap that exists edge that bridges the gap or
was no obstruction or there is a between adjacent imported adjust the geometry of the
gap between rooms when they slabs. Pathfinder does not rooms and merge them
should be connected. currently close these small together.
gaps automatically.
A generated door should This can happen if the Select the door and use the
connect two rooms but is an imported door had no manipulation tool to connect
exit instead. associated wall opening, the the door to the other side of the
door’s geometry was thinner door opening.
than the surrounding wall, and
there is no slab or other floor
object under the door.
A generated door appeared This may happen if a single Delete the door and draw
where it wasn’t expected. door was broken into several manually instead.
pieces and/or objects were
marked as doors that weren’t
actually doors. For instance,
this might happen if the door
trim is modeled as a separate
object than the actual door, and
the trim is also marked as a
door. In this case, the piece of
trim is modeled as a separate
door.
A generated door was too This is usually caused by the Select the door and change the
small. same problem as above. Width in the property panel to
the desired size or delete and
redraw the door if this does not
work properly.
A generated door was too wide. This can happen due to Select the door and change the
limitations in the door Width in the property panel to
extraction algorithm, see the desired size.
Section 4.3.1.3.
A door is missing The imported object’s Import Draw the door manually.
Type was not set to Door, or the
door had no walking surface
under it, did not have an
associated wall opening, and
was thinner than the
surrounding wall. This might
also happen if there is a door
threshold.
A room is missing This may either be because the Undo the import, ensure the
imported object defining the imported object’s Import Type
floor did not have its Import is set to Floor, and delete any
Type set to Floor or the objects that should not be in
Exclude rooms in solids the model. Then try generating
option was turned on and there the model again. If this still
is a solid object in the model does not work, draw the room
marked as an obstruction that manually.
should not be in the model,
such as one representing the
building envelope.
A stair is missing The imported stair object was Undo the import, set the
not marked as a Stair or the Import Type to Stair, and then
step distances exceeded the perform the Generate Model
limits set in the generate from BIM action again, or
settings. draw the stair manually.
An imported stair was broken This can happen if an imported If the stair should have been
into several Pathfinder stairs. stair does not conform to a generated as a single
Pathfinder stair, such as with Pathfinder stair, delete the
spiral stairs. This might also generated stairs and draw the
happen if there are multiple stair manually.
directions from which an
occupant could step down off a
step of the stair. Another cause
could be that the step rise/run
changed drastically from one
step to another, such as if the
top or bottom step does not
align exactly with the
connecting slabs.
The steps of the generated stair This can happen if the steps of If desired, select the Pathfinder
do not match the steps of the the imported stair do not have stair and change its step
imported stair exactly. a consistent step height or rise/run in the property panel.
tread depth or the imported
stair did not line up exactly
with the slabs it was
connecting. In this case,
Pathfinder averages the
rise/run of the resulting steps
over the entire rise/run of the
stair, which may cause the
steps to be slightly out of
alignment with the imported
stair.
An escalator has extra steps off Escalators are generated as Delete the extra stairs.
of the side. stairs. Pathfinder generates
stairs using a generic algorithm
where any flat surface can be
treated as a step. If some of the
geometry looks like it might be
a step, Pathfinder will create a
stair going to it.
Pathfinder provides an Extract Room tool that can address these issues. This tool allows
rooms to be extracted individually using a flood-fill algorithm. While it may take more effort to
extract all the necessary rooms, it does not require objects to have an Import Type specified
unless an object is to be ignored.
1. Select the tool from the drawing tool panel on the left of the 3D or 2D view. The tool properties
are shown in Figure 74.
Max Slope
Refers to the maximum grade that a person can walk on. Only imported polygons that have
a slope less than this will be included in the result.
Gap Tolerance
Provides some control in dealing with imperfections in the imported data. If walls are
closer than the gap tolerance, Pathfinder will add an extra thin wall in that area, helping to
split of rooms so the result does not bleed into undesired areas.
2. Once the appropriate parameters have been chosen, either enter a location on the floor of the
desired room into the property panel or click this point in the 3D or 2D view.
3. If this point does not have any overhead obstructions within Max Head Height and the point
is on a polygon with a slope less than Max Slope, Pathfinder will march out from this point on
the imported geometry’s polygons until it finds the boundaries of the room. It will also
subtract overhead obstructions within Max Head Height from the resulting room.
Below is an example of a 3D CAD model Figure 75 and a room extracted from it Figure 76.
Figure 75. Example CAD model Figure 76. Room extracted from the CAD model
When using the extract room tool, Pathfinder will include all imported geometry with faces, even
if hidden. If an object must be excluded from room extraction, the object’s Import Type must be
set to <ignored> before performing extraction. Otherwise, this tool completely ignores the Import
Type of the objects.
• It can be used as a guide for drawing rooms similarly to background images with the added
benefit of being snapped to
• It can have rooms extracted from it similarly to 3D imported geometry as described above.
To sketch the rooms using the built in drawing tools, refer to Section 3.2.
Extracting rooms from 2D CAD data works similarly to extracting rooms from 3D CAD data. As in
3D extraction, the Extract Room tool is used. In addition, the user must click a point in the
model with the tool, and one room will be extracted.
The main difference from 3D extraction is that the clicked point must not lie on any 3D imported
faces marked for room extraction; instead it must be in empty space (or on the background
rectangle imported with a 2D floorplan). The clicked point should also be surrounded by imported
2D lines. These lines will form the boundary of the resulting room. For this reason, any lines that
do not contribute to the room’s boundary, such as notations, symbols, etc. should be deleted,
hidden, or excluded from room extraction prior to clicking the extraction point.
To manually exclude imported geometry from floor extraction, select the geometry and from the
property panel, set the Import Type to <ignored>. When determining which imported geometry to
extract rooms from, the 2D room extraction tool will automatically exclude hidden objects and
those manually ignored.
Once the desired point is clicked, the surrounding 2D lines looking at the model from the Top
View will be projected along the Z axis onto the active floor’s working Z plane. These projected
lines will then be used to define the room around the clicked point. If the surrounding lines do not
form a closed boundary as shown in Figure 77, the resulting room will spill outside of the lines
and form a room around the bounding box of all the lines as shown in Figure 78. In this case, this
outer portion of the room can be separated from the inner portion using the Thin Wall tool as
discussed in Section 3.3.2. Once separated, the outer portion can be deleted.
When the extraction tool is finished finding a room, the room will lie in the working Z plane of the
active floor.
Figure 77. Imported 2D CAD drawing Figure 78. Floor extracted within bounding box.
Figure 79. Imported background image Figure 80. Rooms drawn over image
One feature that may be of particular interest to help this process, however, is the internal door
feature of the door tool. This feature automatically finds areas within a room that look like
potential doorways and can be used to create a thick door in this area.
Max Width
Refers to the maximum width of the doorway to search for.
Max Depth
Refers to the maximum thickness of the doorway. These numbers may need to be larger
than for the normal creation of a door to find potential doorways.
3. Once the appropriate parameters have been entered, move the cursor over the desired
doorway (Figure 82). A door preview will be displayed. If it doesn’t, adjust the search
parameters in the property panel and try again.
4. If the door appears correctly, left click the mouse button. The doorway area of the room will
be subtracted from the room, and the thick door will be created in its place (Figure 83).
Figure 81. Doorway wall gap Figure 82. Click inside the gap Figure 83. New door in the gap
4. Set the desired options, and select OK to modify the geometry in the selection.
Selection Bounds
Shows the minimum and maximum Z locations of the selected objects.
Flatten Objects
If selected, each object in the selection will be flattened so that all of its geometry lies in the
same plane. The location of the plane is determined by the Move to option.
Move to
This specifies how the geometry should be moved in the Z direction. This can be one of the
following values:
Absolute Z
All the selected objects will be moved to the same Z plane. If Flatten Objects is not selected,
each object is moved such that its minimum Z touches the specified plane.
Z Offset
Each object in the selection is moved by the specified Z Distance. If Flatten Objects is
selected, the object is first flattened to the plane that touches the minimum Z of the object’s
original geometry, and then moved by the Z Distance. [stem
e037678c24938fb2c2e03319096ae81f]
4.3.7. Materials
Materials define advanced display properties that can be applied to faces contained in the
imported geometry. They are only shown when the Show Materials option is selected in the
2D View or the 3D View, see Section 2.3. Materials can be shared among faces; when a material is
edited, all faces referencing that material are updated.
Materials are extracted from import files in different ways, depending on the file type:
The use of the word "material" in Pathfinder is different than in PyroSim and FDS.
NOTE In these applications, a material defines the physical properties of a substance. In
Pathfinder, a material defines the visual appearance of a face.
To see the materials that have been imported from the DWG or PSM file, on the Model menu,
select Manage Material Database. The Material Dialog will appear as shown in Figure 85.
Pathfinder provides some default database materials. Most of these materials start with the
prefix, psm_ as in PyroSim. Other materials were either created manually by the user or were
imported with the CAD or PyroSim 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 Pathfinder.
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.
Diffuse Color
Selecting this option makes the material display with a solid color.
Opacity Value
Defines the opacity of the material.
Most properties in this dialog can be specified as either a constant color/value or as a texture
image. The following material properties can be edited from this dialog:
Ambient
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.
Emissive
Defines the amount and color of light emitted by the material.
Normal/Bump
Whether to use normal mapping or bump mapping for the material.
Normal
The normal map used for the material.
Y-Down Normals
Whether or not to 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.
Bump
The bump map used for the material.
Bump Scale
The strength of the bump map effect.
Displacement/Height
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
Whether or not to invert the displacement/height map. This should be enabled for height maps.
Workflow
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:
Specular
Defines the specular reflectance of the material. This property is only available in the Specular
(Basic) and Specular (PBR) workflows.
Metallic
Defines whether or not the material is metallic. This property is only available in the Metallic
(PBR) workflow.
Shininess
Defines how shiny the material’s surface is. This property is only available in the Specular
(Basic) workflow.
Roughness/Glossiness
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.
Roughness
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.
Glossiness
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
the scene-wide Ambient Occlusion in Results. This property is only available in the Metallic
(PBR) and Specular (PBR) workflows.
In cases such as these, the similar objects may have the same color. If so, right click one of the
objects, and choose Select All by Color. Alternatively, choose Select All by Material. This will
find all objects with the same color or material and select them, making it easy to change some
shared property or move them into another group for easy selection later.
FDS data integration is a measurement only and does not alter the movements or decision making
within the Pathfinder simulation. However, enabling this feature causes simulations to require
additional runtime because of the additional processing load relating to reading the FDS output
files and mapping PLOT3D data to occupants.
• Click Edit and select the SMV file from the FDS simulation of interest.
The dialog (Figure 87) will display information about the attached SMV file and indicate which
quantities were found.
Figure 87. The Solution Parameters dialog after enabling FDS Integration.
For more information about how Pathfinder computes the maximum walking speed of occupants
in smoke, see (Pathfinder Technical Reference, n.d.).
To enable FED and PLOT3D quantity output for one or more occupants:
3. In the Additional Occupant Properties dialog, on the Output tab, enable Print CSV Data
Once the simulation has completed, CSV data is available for each specified occupant in the output
folder. See Section 14.8 for more information on the CSV data.
For information on how FED is calculated or how its use was verified in Pathfinder, see
(Pathfinder Technical Reference, n.d.) and (Pathfinder Verification and Validation, n.d.) documents
respectively.
Occupant Avatars
FBX, DAE
Vehicle Avatars
FBX, OBJ, DAE
• When using an FBX file, if possible, the textures should be embedded in the file; otherwise, the
textures will have to be manually copied to the avatar directory (see Section 4.5.5 below).
Other file formats require copying textures.
• There should be at least one "animation" where the avatar is in a T-pose or an A-pose or some
variation. There can be other animations in the file, but this will adversely affect loading
performance.
• Occupant avatars must be "rigged", meaning there is a joint hierarchy specified in the FBX or
DAE file. The rig must be human-like.
• Joint names in the FBX or DAE file must follow standard conventions used by industry-wide
software.
Figure 88. Example of a "rigged" human character model in the "A" pose in Blender.
Adobe Fuse
A tool for creating custom avatars with a library of clothing options and other customizable
MakeHuman Community
An open source tool for creating 3D characters. Available at
http://www.makehumancommunity.org/.
Adobe Mixamo
A free online source for high quality character models and animations. This service provides
mostly fantasy characters, but it has some more realistics options as well. Available at
https://www.mixamo.com/.
2. In the Edit Profiles dialog, click the list of avatars next to 3D Model to bring up the 3D Model
dialog.
4. Choose the desired file that contains the occupant avatar to import. This will copy the avatar
file along with some other supporting files into %APPDATA%/Pathfinder/models/md5/avatarname ,
where avatarname is the name of the avatar file.
By default, imported avatars are only available to the current user. See
NOTE
Section 4.5.7 for more information on sharing these avatars.
2. In the Edit Vehicle Shapes dialog, click the list of avatars next to 3D Model to bring up the 3D
Model dialog.
4. Choose the desired file that contains the vehicle avatar to import. This will copy the avatar file
along with some other supporting files into %APPDATA%/Pathfinder/models/props/avatarname ,
where avatarname is the name of the avatar file.
By default, imported avatars are only available to the current user. See
NOTE
Section 4.5.7 for more information on sharing these avatars.
Avatar has Avatar file was an FBX without Copy image files from original avatar
missing textures. embedded textures or an OBJ or DAE location to target avatar location
file. under %APPDATA%/Pathfinder/models.
Some or all of FBX/DAE file might not be rigged or No fix currently. Contact
occupant avatar might not follow common joint [email protected] to
body parts do not naming conventions. report.
move during
animations.
Avatar is facing Avatar in originating file was not Apply a rotate transform in the BEA
the wrong facing the front. file as described in Section B.1.
direction.
Avatar is too Avatar was not modeled with realistic Adjust the scale factor in the BEA file
big/too small. units or the units were as described in Section B.1.
wrong/unspecified in the avatar file.
Avatar is offset Avatar was not located at the origin in Apply a translate transform in the
from the actual the source avatar file with feet on the BEA file as described in Section B.1.
occupant location. ground.
Avatar appears to Avatar has different proportions than Adjust the naturalspeed for the
slide/skate when those assumed by the importer. walking animations in the BEA file as
walking. described in Section B.2.2.
avatars are not optimized for Pathfinder Results, as they contain no level-of-detail information
and often have much more detail than is necessary for displaying thousands of occupants. Using
custom avatars will likely result in reduced results display performance compared to using
avatars supplied by Pathfinder.
Currently the only ways to mitigate this problem are to either limit the number of occupants using
the custom avatars or use custom avatars that are designed with low polygon counts and/or low-
resolution textures.
2. If copying occupant avatars, navigate to md5. If copying vehicle avatars, navigate to props.
4. On the machine on which the avatars are to be made available, in File Explorer, navigate to
the following: %PROGRAMDATA%/Pathfinder/models. If this location does not yet exist, create it.
If you want to make all custom avatars available to other users, simply copy the
NOTE %APPDATA%/Pathfinder/models location into %PROGRAMDATA%/Pathfinder on the target
computer.
Profile
Defines fixed characteristics of the occupants, such as maximum speed, radius, avatar, and
color.
Behavior
Defines a sequence of actions the occupant will take throughout the simulation, such as
moving to a room, waiting, and then exiting.
5.1. Profiles
Pathfinder uses an occupant profile system to manage distributions of parameters across groups
of occupants. This system helps you control the occupant speed, size, and visual distributions. To
edit occupant profiles, you can use the Edit Profiles dialog (Figure 89).
To open the Edit Profiles dialog: on the Model menu, click Edit Profiles, or double-click the word
Profiles in the Navigation View.
Description
Provides a place to enter descriptive text. This value is not used outside the Edit Profiles
dialog.
3D Model
Provides a way to use a specific set of 3D human models for an occupant profile. When
rendering occupants as 3D human models belonging to the current profile, Pathfinder will
choose one of the 3D models selected in the 3D Model dialog.
To select 3D models:
1. Click Edit on the 3D Model row. This will open the 3D Models dialog (see Figure 90).
2. To enable or disable a particular model, click the model’s icon. If the <hidden> choice is
selected, no 3D Model will be shown for the occupant.
By clicking the Import button in the 3D Models dialog, custom avatars can be imported into
Pathfinder. See Section 4.5 for more information.
Shape
The occupant can be either a cylinder or a polygonal shape. In the case of a Cylinder,
Diameter, Height, Reduction Factor and Minimum Diameter can be specified.
Diameter
The 'shoulder width' of the cylinder representing the occupant. It is used for collision
testing and path planning during the simulation. This value will also affect how many
occupants can be added to a room without overlapping. The default value of 45.58 cm is
based on the average of measurements of male and female persons from nine countries
(Pheasant and Haslegrave 2005). An earlier edition is referenced by G. Keith Still in his Ph.D.
thesis (Still 2000). As shown in the Pathfinder Validation and Verification Manual, this size
(and Interpersonal Distance) results in movement that matches the SFPE and
experimentally measured fundamental diagrams. Caution should be used in changing the
default Diameter value.
Height
specifies the height of the cylinder used for inter-occupant collisions. This is useful for
limiting collisions that might occur between occupants on different floors when the floors
have been modeled close together.
Reduction Factor
[optional] Is enabled by default and is useful in helping occupants to "squeeze" by one
another in congested areas. This factor is unitless and should be selected to be between 0
and 1. It can be considered a way to get the benefits of elliptical occupant shape (i.e. it gives
the occupants a radius corresponding to turning sideways) despite the simulator’s exclusive
use of circular occupant diameters. When occupants cannot otherwise move due to
occupant-occupant collisions, this factor is multiplied against the shoulder width to shrink
the collision circle and potentially allow occupants to ease through congestion.
Minimum Diameter
[optional] Is designed for models that have narrow seating areas and aisles. In cases where
there is some detail of the geometry that makes it difficult for full-width occupants to move,
this option can be enabled to alter the occupant-geometry collision test to accommodate the
narrower geometry. The occupant-occupant collision test is not affected by this feature.
Occupants will reduce their diameter to this value only if the geometry would otherwise
prevent them from further following their path. The default value of 33.00 cm is based on
th
the maximum depth of a human body for 95 percentile of measured individuals (Pheasant
and Haslegrave 2005).
Polygon
If this option is selected, a dropdown menu is used to select the vehicle shape. Vehicles are
used to model an occupant using an alternate mode of transportation, such as a wheelchair or
bed as used in assisted evacuation. See Section 5.2 for more information on creating vehicle
shapes or Chapter 7 for more information on assisted evacuation. The Edit button can be used
to access the Vehicle Shapes dialog. The optional Reduction Factor can be used in the same
way as for the cylinder shape, because occupants with vehicle shapes sometimes temporarily
use cylinder shapes in their movement calculations to avoid stuck situations.
Initial Orientation
Specifies an angle in degrees counter-clockwise from the positive x-axis which the occupants
will use as their orientation in the beginning of the simulation. Occupants can also be made to
orient on a specific point. This can be done outside of the Edit Profiles dialog by right clicking
selected occupants, and selecting Orient Occupants on Point from the context menu.
Escalator Preference
Specifies how the occupant will stand or walk on escalators and moving walkways. The
following options are available:
Stand anywhere
Occupants will get on the escalator and stand at any position. The occupant will stand still
and travel on the stair at the stair’s speed constant.
Stand left
Occupants will get on the escalator and stand at the left side. The occupant will stand still
and travel on the stair at the stair’s speed constant.
Stand right
Occupants will get on the escalator and stand at the right side. The occupant will stand still
and travel on the stair at the stair’s speed constant.
Walk
The escalator’s speed constant will be added to the occupant’s desired speed on the stair to
determine the occupant’s final speed, and they will attempt to walk around standing
occupants.
Even if the probability of using the attractor is >= 100%, the occupant might
not use the attractor while waiting if they are waiting an indeterminate
NOTE
amount of time, and they stop waiting before Default Attractor Idle Time has
elapsed. See Section 13.1.5 for more information about this parameter.
Allowed Attractors
Defines which attractors the occupant is allowed to use. The following values can be specified:
All
The occupant can use any attractor.
None
The occupant cannot use attractors.
From List
The occupant can only use the specified attractors (see Section 2.6.1 for help using the
Object Sets dialog). When using this option, the list can be specified in one of the following
ways:
Reject
The occupant will not use any of the specified attractors, but can use those not listed.
Accept
The occupant can only use one of the specified attractors.
All
The occupant can use all components of that type.
None
The occupant cannot use any components of that type.
Up Only
[escalators only] The occupant can only use escalators that move occupants up.
Down Only
[escalators only] The occupant can only use escalators that move occupants down.
Based on Behavior
[elevators only] The occupant will only use elevators when their behavior contains a Go To
Elevators action. See Section 5.3.3 for more information. Otherwise, the occupant can use all
non-restricted elevators at any time.
From List
The occupant can only use certain components (see Section 2.6.1 for help using the Object Sets
dialog). When using this option, the list can be specified in one of the following ways:
Reject
The occupant will not use any of the specified components, but can use any other not listed.
Accept
The occupant can only use one of the specified components of that type.
The status of a door (open/closed) affects the current room queue time. See the
NOTE Pathfinder Technical Reference (Pathfinder Technical Reference, n.d.) for more
details.
• Door wait times, including those for local doors (see Section 3.4.3)
occupant travels this distance in the current room, the travel time cost will have doubled.
Setting this value to zero will disable this feature.
Enabling this feature may cause the simulation to use significantly more
NOTE resources, including CPU and disk space. It may be better to only enable this
feature for specific occupants. To do this, see Section 5.1.9.
Acceleration Time
Is a Steering Mode parameter that specifies the amount of time it takes for the occupant to
reach maximum speed from rest or to reach rest from maximum speed. The resulting forward
acceleration of each occupant is [stem eb9c27c75009d0aa1831f5987bce4867]. The occupant
uses a separate reverse acceleration of [stem 50c6c1635babf023970caf011006f52a] and a
separate lateral acceleration of [stem fde79c59b4226eeeb764719c2866a97b].
Persist Time
The amount of time an occupant will maintain an elevated priority when trying to resolve
movement conflicts. See the (Pathfinder Technical Reference, n.d.) for more details.
Slow Factor
Specifies a fraction of the occupant’s speed at which they are considered to be slow. A slow
occupant will consider backward directions to separate with others, while a fast moving
occupant has a tighter, more focused direction.
Personal Distance
The desired distance one occupant will try to maintain with others in a queue. This may be
entered explicitly as a distance, from queue area, or from queue density. When entered as a
distance, it is defined as the gap distance between the occupants' shapes rather than their
center-to-center distance. If entered as an occupant area, the personal distance is calculated
based on sphere packing: [stem 16ca23b213c657741726ba93e526ab4e] Where [stem
3e18a4a28fdee1744e5e3f79d13b9ff6] is personal distance, [stem
44bc9d542a92714cac84e01cbbb7fd61] is the occupant area, and [stem
2103f85b8b1477f430fc407cad462224] is the occupant’s shoulder width. Personal distance is
calculated similarly when entered as occupant density, except that [stem
c2be5eb22f6ed300bc45b6e849e51b8c] where [stem 6dec54c48a0438a5fcde6053bdb9d712] is
occupant density.
When personal distance is entered in terms of occupant area or density, this does
not guarantee that occupants will maintain this area or density, but they should
NOTE be fairly close when occupants are queued. It is also not accurate for maintaining
large distances between occupants (> 1 m, center-to-center). If a larger separation
distance is desired, use Social Distancing instead.
Social Distancing
Enables or disables Pathfinder’s social distancing model for the occupant profile. When
enabled, the desired social distance can be set as a constant value or a distribution of values,
enabling occupants to have different desired social distances. Social distance is defined
differently than Personal Distance in that it is the center-to-center distance between
occupants, whereas the personal distance is the gap distance between their shapes. In addition,
social distance is enforced more strictly than personal distance and is more useful for
maintaining larger distances between occupants (> 1 m).
Each of these parameters (except on/off parameters) can be set using a constant value, a uniform
distribution between two values, or either a normal (Gaussian) or log-normal distribution (see
Section 5.1.7).
Each occupant in the Pathfinder model is linked to one profile. Profile parameters can be edited in
the profiles dialog at any time and the occupants using that profile will be automatically updated.
Occupants' profiles can be set when adding the occupants or by selecting the occupants after
being created and editing the Profile box in the property panel.
In most cases, users only need to enter the maximum speed of an occupant in the Characteristics
tab of the Edit Profiles dialog. The actual speed of the occupant throughout a simulation will vary
according to this speed and a set of assumptions from the Engineering Guide to Human Behavior in
Fire (SFPE 2019), which takes into account the type of terrain being traversed (stairs, ramps, etc.)
and the density of surrounding occupants. See the (Pathfinder Technical Reference, n.d.) for more
information.
Pathfinder allows for fine-grained control over the speed of the occupant, however, and the SFPE
assumptions can be customized or replaced with other assumptions.
1. In the Model menu, click Edit Profiles to open the Edit Profiles dialog.
3. Next to Speed, click the drop-down box and select Advanced as shown in Figure 91.
This will open the Advanced Speed Properties dialog as shown in Figure 92.
As noted in the Advanced Speed Properties dialog, when simulating in SFPE mode, only the
maximum speed property is used. All others in the Advanced Speed Properties dialog are
ignored.
Clicking Reset to Defaults in the Advanced Speed Properties dialog will reset all advanced
speed properties to their default values in Pathfinder.
Each tab in the dialog allows the customization of occupant speed on each terrain type in
Pathfinder, including Level Terrain, Stairs, and Ramps.
The Speed Density Profile can be used to set the occupant’s speed as a function of the
surrounding occupant density, also known as the fundamental diagram. One of three options may
be chosen for the profile:
SFPE
The fundamental diagram as specified in the Engineering Guide to Human Behavior in Fire
(SFPE, 2003) is used to adjust occupant speed.
Constant
The maximum speed is multiplied by a constant factor to determine the occupant’s speed. In
most cases, the occupant will either try to move this speed or stop.
From Table
The speed is entered as a fraction of the occupant’s maximum speed as a function of
surrounding occupant density. The values are entered in the Speed-Density Profile dialog as
shown in Figure 93. The profile is defined as a piece-wise linear function, where sample points
are entered into a table. For densities within the entered range, the speed fraction is
interpolated. For densities outside the range, the speed fraction is equal to that entered for the
nearest specified density. A preview of the fundamental diagram is shown to the right of the
table. The SFPE profile, which is the default profile, may be loaded by clicking Load SFPE
profile below the table.
The loaded SFPE profile has a minimum value of 15% of the occupant’s maximum
NOTE
speed. This ensures that occupants will not become stuck at high densities.
Speed Fraction Up
Defines a speed factor when the occupant travels up stairs.
Speed-Density Up
Defines the speed-density profile to use when the occupant travels up stairs.
Speed-Density Down
This specifies the speed-density profile to use when the occupant travels down stairs.
The above parameters define a factor that is multiplied by occupant’s maximum speed to
determine their speed up or down stairs.
SFPE
The assumptions from the SFPE Engineering Guide to Human Behavior in Fire are used to
determine the speed fraction up stairs. This option uses the rise and run of the stair to
determine the speed.
Constant
A constant factor is applied to the maximum speed.
From Table
The speed factor can be entered as a function of stair slope. Stair slope is defined as step
rise/step run. The function is entered as a piece-wise linear function.
Additionally, the Speed-Density Up and Speed-Density Down parameters have the From Level
Terrain option. This option forces the occupant to use the same speed-density profile as specified
on the Level Terrain tab when the occupant travels up or down stairs.
The Ramps tab has nearly identical properties available as on the Stairs tab. The only difference
is that Speed Fraction Up and Speed Fraction Down are entered in terms of the ramp’s
geometric slope rather than step slope. The geometric slope is determined per triangle in the
resulting navigation mesh and depends on the triangle’s normal direction.
Distribution Description
Distribution Description
Uniform Generates random values that are uniformly distributed between the
specified minimum and maximum parameters.
Normal Generates random values that are normally distributed from the specified
mean and standard deviation, as shown in the following equation: [stem
229309b0d2ea9ffb194750e226e00822]
Where [stem 07617f9d8fe48b4a7b3f523d6730eef0] and [stem
8cda31ed38c6d59d14ebefa440099572] are the mean and standard deviation,
respectively, and x is a random number from a standard normal distribution.
Generated values are bounded by the minimum and maximum parameters.
Lognormal Generates random values that are lognormally distributed from the specified
location andscale parameters, as shown in the following equation: [stem
2ac109f297c7de380238592e2c9ac640]
Where [stem 07617f9d8fe48b4a7b3f523d6730eef0] and [stem
8cda31ed38c6d59d14ebefa440099572] are the location and scale parameters,
respectively, and x is a random number from a standard normal distribution.
Generated values are bounded by the minimum and maximum parameters.
5.1.8. Seeds
Each occupant has a unique random seed that determines the specific values generated from a
profile distribution. Each of these occupant-specific values can be seen by selecting an individual
occupant. These specific values will never change unless the distribution is changed in the profile
or a new seed is manually generated for the occupant. This ensures that two simulation runs with
the same input model will give the same answer. New seeds can be generated for occupants by
right-clicking the occupants and selecting Randomize.
For an example of the effects of the changing the seed or profile, consider the following scenario:
1. A profile has been created using a uniform distribution of speed on the range 1 m/s to 2 m/s.
3. Using the occupant’s unique random seed, Pathfinder assigns the occupant a speed of 1.6 m/s
based on the occupant’s profile.
4. The simulation is run several times, and each time the occupant has a maximum speed of 1.6
m/s.
5. The occupant’s profile is changed so that its speed range is .5 m/s to 1 m/s.
6. Pathfinder assigns the occupant a new maximum speed of .6 m/s, which is used for all
subsequent simulations.
7. The user randomizes the occupant, and Pathfinder assigns a new maximum speed of .91 m/s
to the occupant.
Percentage-based distributions can also be used to assign occupant profiles and behaviors to a
group of occupants, see Section 5.5.
Customized properties will be overwritten if an occupant switches their profile during simulation,
see Section 5.3.3.8.
When using custom profile data, only constant values can be used for occupant parameters. In
addition, once a parameter is customized, any changes to that parameter in the profile will not
affect the customized value.
Occupants with individually customized parameters can easily be found by right-clicking all or a
sub-set of occupants and selecting Select Customized Occupants from the right-click menu if any
exist in the selection.
The list on the left side of the dialog shows all profiles contained in the current Pathfinder model.
The list on the right side of the dialog shows all profiles stored in the profile library. Profiles can
be moved between the lists using the buttons in the middle of the dialog. Create New Library
clears the list of library profiles so that a new library can be created. Load Library opens a profile
library from file. Pathfinder supports loading profiles from profile library files (PLIB) and from
standard Pathfinder model files (PTH).
To create a Pathfinder library file (PLIB) based on profiles in the current model:
2. Use the arrow buttons to copy profiles from the current model to the library.
The dropdown menu on the right side of the dialog can be used to load predefined libraries. To fill
the predefined libraries box, Pathfinder scans two locations: a folder in the Pathfinder installation
shared by all users and a folder in the current user’s APPDATA path, see Table 7.
All predefined profile libraries are opened as read-only to prevent accidental modification. To
modify a library, you will need to resave to overwrite the existing PLIB file. See Appendix A, for
more information on the occupant profiles provided with Pathfinder.
Vehicle shapes are not intended to be used as shapes of regular occupants. A vehicle movement is
fundamentally different from an occupant movement. Unlike regular occupants, vehicles are not
allowed to move sideways. Consequently, the vehicles follow a different path, which accounts for
this movement restriction. Vehicles also avoid collisions with other occupants and walls
differently from regular occupants. Finally, vehicle movement uses more complex calculation,
which can increase the run time of the simulation.
The vehicles can be created and customized in the Edit Vehicle Shapes dialog (Figure 96). To open
the Edit Vehicle Shapes dialog: on the Model menu, click Edit Vehicle Shapes.
The Description box provides a place to enter descriptive text. This value is not used outside the
Edit Vehicle Shapes dialog.
Height
Specifies the height of the vehicle shape.
3D Model
Specifies the avatar to display for the vehicle when viewing occupants as people. This 3D
model is shown in addition to the 3D model specified in the occupant’s profile. If <shape> is
chosen as the 3D model, an extruded polygon is used as the 3D model for the vehicle. The color
of the extruded polygon will match the color of the occupant. Custom avatars can also be
imported as described in Section 4.5.
Occupant Animation
The animation that should be used for the occupant using the vehicle.
Default
Uses the occupant’s normal animation as if they are not using a vehicle.
Wheelchair
Makes the occupant look like they’re using a wheelchair.
Bed
Makes the occupant appear to be lying flat on their back.
Occupant Offset
Specifies how far the occupant’s 3D model should be moved to line up with the vehicle’s 3D
model. A value of (0,0,0) will put the occupant’s 3D model at the vehicle’s origin as shown in
the vehicle preview.
Points
Specify the shape of the vehicle as projected onto the ground. The shape must be specified as a
convex polygon. All changes in this list are displayed in the vehicle preview to the right.
Pivot
Specifies the position of the pivot, which is a point around which the vehicle shape rotates. The
pivot can lie inside or outside of the vehicle shape.
Shape Area
Shows the area of the vehicle shape. This area is used for occupant density calculations.
The Vehicle Preview shows a graphical preview of the projected shape of the vehicle and
provides additional capability to add, remove, and change points of the vehicle shape, the pivot
location, and the positions of attached agents.
The dashed lines depict the horizontal and vertical axes. Their intersection (by default point x=0,
y=0) is the pivot of the vehicle, around which the vehicle body rotates. The red arrow points in the
direction of the movement of the vehicle. The pivot can be moved both inside and outside of the
vehicle shape.
A point can be added to the vehicle shape or positions of attached occupants by right clicking
inside the graphical editor. When moving the cursor close to a point, the point changes its color to
orange indicating that it can be selected. A selected point changes its color to yellow. This selection
is also displayed in the point editors on the left side of the dialog.
Any point can be moved by selecting and dragging, and it can be deleted by right clicking and
selecting the Delete Point option. Mouse wheel can be used to zoom in and out, and mouse
dragging can be used to move around. Reset View button resets the view so that all points are
visible. The Undo/Redo buttons can be used to undo/redo any action within the 2D Graphical
Editor.
A warning will appear at the bottom of the dialog in case constraints like minimum number of
points in the vehicle shape, convexity, distance of assisting occupants from the vehicle shape etc.
are violated.
For more information about the navigation of polygonal shapes in Pathfinder see the Pathfinder
Technical Reference (Pathfinder Technical Reference, n.d.).
5.3. Behaviors
Behaviors in Pathfinder represent a sequence of actions the occupant will take throughout the
simulation. Once they occupant has completed all actions, they are removed from the simulation.
Actions may be added that can make the occupant wait or travel to a destination, such as a room,
point, or exit.
The last destination for the occupant can be thought of as the occupant’s sink. By default, there is
one behavior in the model called "Goto Any Exit". This behavior simply makes the occupant move
from their starting position to any exit present in the model by the fastest route.
As with profiles, any number of occupants can refer to a single behavior. Any changes to the
behavior will be reflected in referring occupants.
1. Right click the Behaviors node from the Navigation View, and from the right-click menu, click
Add a Behavior, which will open the New Behavior dialog shown in Figure 97.
2. In the New Behavior dialog, enter a behavior name, and optionally specify an existing
behavior to base the new behavior on. Using this option will copy all the actions from the
existing behavior.
With the new behavior selected, the behavior property panel will appear as shown in Figure 98.
Initial Delay
Specifies an initial delay that makes the occupant wait at their starting position before moving
to the next action. If this link is clicked, it will show a dialog where different distribution
curves can be entered for the delay, similar to those discussed in Profiles.
Once the desired action is clicked, a creation panel will be shown above the 3D/2D View
depending on the action. Enter the desired parameters in the creation panel as discussed in the
following sections, and then click Create to create the action and append it to the behavior. If the
behavior itself was selected when adding the action, then the new action will be appended to the
end of the list. If, instead, an action was selected when the new action was created, then the new
action is inserted directly after that selected action. If the action is an ending action (includes all
actions below the separator in the behavior actions list), the action will always be added at the
end. If the behavior already has an ending action, it will replace the existing ending action.
Actions always occur in the order shown in the Navigation View. For instance, as shown in Figure
100, an occupant using "Behavior1" would first go to any elevator, then go to "Room00", then wait
for 20 seconds, then go to "Room09". After reaching "Room09", the occupant will be removed from
the simulation. The actions can be reordered at any time by dragging and dropping an action in
the list in the Navigation View.
All actions must end with an ending action. These can be identified in the
NOTE
behavior actions list as those below the separator.
Goto Waypoint No Specifies that an occupant should go toward a specific point on the
navigation mesh.
Goto Rooms No Specifies that an occupant must select a room out of a set, and go to it.
Assist Occupants No Instructs the occupant to join an assisted evacuation team and begin
assisting occupants who request assistance from that team.
Wait For No Indicates that the occupant should wait for assistance from other
Assistance occupants.
Detach from No Detaches a client from their assistants, allowing the assistants to
Assistants continue helping other clients.
Resume Prior Yes Instructs the occupant to continue using the behavior prior to the
Behavior current behavior.
Wait Until Yes The occupant will wait in their current location until the end of the
Simulation End simulation.
Goto Refuge Yes Instructs the occupant to go to one of a set of rooms marked as refuge
Rooms areas.
Goto Exits Yes Instructs an occupant to take the fastest route to a set of exits.
A Goto Waypoint action specifies that an occupant should go toward a specific point on the
navigation mesh. Once they arrive within a certain radius of the point, they will move on to the
next action in their behavior.
1. Click the Goto Waypoint button from the behavior actions list
3. Enter the Arrival Radius or drag the mouse after you click the location to specify the radius
These parameters can be entered manually in the creation panel or be filled in by clicking a point
on the navigation mesh in the 3D or 2D View or click-dragging to specify the location+arrival
radius. When clicking or click-dragging, the action is created when the mouse button is released.
A Goto Rooms action specifies that an occupant must select a room out of a set, and go to it. Once
they cross a door into the room, they are considered to be in the room and can move on to the
next action in their behavior. If multiple rooms are specified for the action, the occupant will go to
the one that is fastest to reach.
1. Click the Goto Rooms button from the behavior actions list.
2. Click the Rooms link to specify the rooms with a dialog (see Section 2.6.1 for help using the
3. Right-click in the 3D/2D View to finish selecting the rooms and create the action, or click
Create.
A Goto Elevators action tells an occupant to use evacuation elevators. When using this action, an
occupant will go to a specified elevator, call it, wait for it to arrive, enter it, and then wait for it to
reach the discharge floor. Once they reach the discharge floor, they can begin their next action.
The Goto Elevators action can only be used for occupants who are not on the discharge floor of the
desired elevator. If multiple elevators are specified for the action, the occupant will use the one
that allows them to reach the discharge floor fastest.
1. Click the Goto Elevators button from the behavior actions list.
2. Either click the Elevators link to specify the desired elevators with a dialog (see Section 2.6.1
for help using the Object Sets dialog), or left-click the desired elevators in the 3D or 2D View.
3. Right-click in the 3D/2D View to finish selecting the elevators and create the action, or click
Create.
A Goto Queue action specifies that an occupant must select a Queue out of a set, and go to it. When
using this action, the selected Queue will direct the occupant’s movement through available queue
paths and service points and then releasing the occupant to the next behavior action once it is
complete.
1. Click the Goto Queues item from the Add Action dropdown list.
2. Click the Queue link to select the queues with a dialog (see Section 2.6.1 for help using the
Object Sets dialog). Both queues and queue groups can be selected. If a queue group is
selected, the queues in that group do not need to be selected. Alternatively, left-click the
desired target queues in the 3D or 2D View.
A Wait action tells an occupant to wait in their current location for a certain amount of time. Once
that time has elapsed they will begin their next action.
The manner in which they wait will vary depending on their most recent destination. For
instance, if their previous destination was a waypoint, they will try to stay close to the center of
the waypoint. If the previous destination was a room, they will try to move toward the furthest
point in the room away from all active doors. This allows other occupants to enter the room.
If their previous destination is an elevator, they will first move toward the walls as in waiting in a
room, and then stand still when the elevator travels. In all cases, a waiting occupant will move out
of the way of occupants headed toward a destination unless the destination overlaps with the
waiting occupant’s most recent destination.
If the occupant is being assisted, cannot move on their own, and will be left in the
room, the assistants will first move the client away from all doors, even if the
NOTE
doors are inactive, and then the clients will disconnect. See Chapter 7 for more
information on assisted evacuation.
A Wait Until action instructs an occupant to delay their movement until a specified simulation
time passes. This action is useful for synchronizing movement of many occupants at a time.
Occupants fill space during a Wait Until action per the same rules described for the Wait action.
Wait Until actions can be specified using three different approaches: occupants can wait until a
specific time, the next in a list of times, or the next time in a periodic function.
2. Click the time to edit the value, which will show the Wait Until Time dialog as shown in
Figure 101.
6. Click Create.
Within the Wait Until Time dialog, there are three sub-actions available:
Time offset
Specifies the first entry in the time list.
Time interval
Specifies the delay between times in the list.
The list of times is then generated from these parameters. For example, if Time offset is set to 60
s, and the Time interval is set to 10 s, the list of times will be [60, 70, 80, 90, 100, …]. Similarly to
the Wait until next scheduled time action, when the occupant begins this action, they will pick the
next time in the list and wait until that time passes.
Both the Time offset and Time interval may be specified as distributions. In this case, each
occupant will be given a unique list of times to choose from. For instance, if the Time offset is set
to a uniform distribution of [50,60] and the Time interval is set to be constant at 10 s, one
occupant may get the list, [52.3, 62.3, 72.3, 82.3, …], and another occupant may get the list
This action causes an occupant to switch its behavior. After this action, the occupant will start
performing actions from a different behavior. This new behavior is randomly selected from a
given behavior distribution. Besides other behaviors, the same behavior and No Change can also
be selected. If the occupant changes behavior to its current behavior, the behavior will be
restarted. If the occupant selects to make No Change, the Change Behavior action will have no
effect. It is possible to create loops in the behavior references. That way the occupant might keep
performing the actions forever (until the end of the simulation). Note that depending on the
specific setup, it is possible that actions that come after a Change Behavior action will not be
performed by the occupant.
This action causes an occupant to change their profile, which will override all parameters settable
in an occupant profile (Section 5.1). This can be used to change an occupant’s speed, shape, avatar,
etc., throughout a simulation. The chosen profile is selected from a list of possible profiles,
including a No Change item that will prevent the occupant’s profile from changing.
This action will override all occupant parameters as defined in the chosen profile,
NOTE including those that have been customized for a specific occupant (see Section
5.1.9).
For profile parameters that are specified as distributions (e.g. max speed), a given occupant will
always select a value from the same part of the distribution for that parameter. For instance, if a
given occupant starts with a profile whose max speed is a normal distribution, and the occupant’s
th
speed is chosen from the 25 percentile, any subsequent profile changes will also lead to the
th
occupant’s speed being chosen from the 25 percentile of the new speed distribution. This ensures
that if an occupant’s profile is changed, that parameter will remain consistent for the occupant. In
addition, if the parameter does not change with a profile change, the occupant will maintain the
previous value. For value sets, such as occupant avatars, it is guaranteed that the occupant will
maintain the same value only if the new profile uses the exact same set of values as the previous.
Profile changes can also be used to change an occupant’s shape. It can change from a normal
cylinder shape to a vehicle shape. It can also change from one vehicle shape, such as a bed, to
another shape, such as a wheelchair. Because vehicles can be used with assisted evacuation (see
Chapter 7), take care when switching between shapes during assistance. If an occupant is to
change vehicles during assistance, for correct functionality it is best to detach from assistants
before changing shapes using a Detach from Assistants action and then re-attach after changing
This action is used in assisted evacuation models as discussed in Chapter 7. This action instructs
the occupant to join an assisted evacuation team and begin assisting occupants who request
assistance from that team. When an occupant joins a team, they become an assistant. Once all
occupants requesting assistance have completed their actions for which they wanted assistance,
the assistant will begin their next action.
2. Specify the assisted evacuation Team that the occupant will join.
3. Click Create.
This action indicates that the occupant should wait for assistance from other occupants as
discussed in Chapter 7. This action requires that the occupants using it have a vehicle shape with
at least one attached occupant location as discussed in Section 5.2. When an occupant begins this
action, they are considered to be a client, and assistants will approach the client. The client cannot
move once they begin waiting for assistants until enough assistants attach to the client to fill all
the attached occupant positions. Once all positions are filled, the client begins their next action.
The assistant will stay attached to the client until either the client has completed all subsequent
actions or the client begins a Detach from Assistants action as described below.
2. Specify the Assisting Teams that will assist the client (see Section 2.6.1 for more information)
3. Click Create.
This action indicates that the occupant should detach from their assistant as discussed in Chapter
7. When an occupant begins this action, they are considered to be a client, and currently being
assisted in their movement. Once detached, the occupant can proceed to their next behavior
without assistance, only if they do not require assistance to move. This action also allows the
assistant to move on to the next occupant requiring assistance.
2. Click Create.
This action resumes the Behavior prior to the current behavior. It can only be used for behaviors
that are the target of a Change Behavior action. For instance, suppose Behavior A has the
following actions:
1. Goto RoomA
3. Exit <any>
1. Wait 20 s
2. Resume prior
The Resume Prior Behavior action will cause the occupant to follow this sequence of actions:
If a behavior ends with a Resume Prior Behavior action, the behavior cannot be
NOTE directly referenced by an occupant or occupant source. It can only be referenced
by a Change Behavior action.
Removes the occupant from the simulation. The occupant will no longer be visible or interact with
any other remaining occupants.
The occupant will wait in their current location until all other occupants finish their behavior
actions or also start a Wait Until Simulation End action. The manner in which the occupant waits
is similar to the Wait and Wait Until actions.
As with the Wait action, if the occupant is being assisted, cannot move on their
own, and will be left in a room, the assistants will first move the client away from
all doors, even if the doors are inactive, and then the clients will disconnect,
NOTE
allowing assistants to help other clients. The client will then wait without
assistance for the remainder of the simulation. See Chapter 7 for more
information.
1. Click Wait Until Simulation End from the behavior actions list.
This action instructs the occupant to go to one of a set of rooms marked as refuge areas as
discussed in Section 3.2.5. Like the Goto Exits action, this action must be the last action in the
behavior. When an occupant reaches the refuge area, they will remain in the simulation and wait
for the simulation to complete. Their behavior while waiting is described in the Wait action
above. Additionally, the occupant will be tagged with "refuge_reached", as reported in the
Occupants Summary and Occupant History output files as discussed in Section 14.7 and Section
14.8.
This action is created similarly to the Goto Rooms action, except that only rooms marked as refuge
areas may be chosen.
If an occupant using this action is being assisted by others, the assistants will first
move the client to a parking location and then detach. It is only at this point, that
NOTE
the client is marked with "refuge_reached" and considered finished with the
action.
This action causes an agent to take the fastest route to a set of exits. Like the Goto Refuge Rooms
action, this action must be last in the behavior. Once an agent goes through an exit, they are
removed from the simulation and reported as having exited the model in the Occupants Summary
and Occupant History output files as discussed in Section 14.7 and Section 14.8.
2. Either click the Exits link to specify the desired exits with a dialog (see Section 2.6.1 for help
using the Object Sets dialog), or left-click the desired exits in the 3D or 2D View.
3. Right-click in the 3D/2D View to finish selecting the exits and create the action, or click Create.
Once the properties have been specified, click-drag to draw the filling rectangle. Both points of the
rectangle must lie in the same room (Figure 103). When you release the mouse button, the
occupants will be placed within the designated region (Figure 104).
Figure 103. Selected area for occupants Figure 104. Occupants added to the rectangular
area
When an occupant is selected, the property panel allows the occupant’s name, profile, and
behavior to be edited. All profile parameters are also displayed, showing exactly what value will
be used for that specific occupant. Any of these parameters can be overridden by checking the box
next it and entering the desired value. See Section 5.1.9 for more information.
Random placement places occupants randomly within the designated area, such that no
overlapping of occupants occurs. If the number of desired occupants is too great to accomplish
this, a prompt will ask whether or not to continue with overlapping occupants. Uniform
placement places occupants in an orderly hex pattern, allowing greater occupant densities before
overlap occurs. Again, a prompt will ask whether to continue with overlap if the density is too
great.
This option specifies whether to place a set number of occupants or place enough occupants to
achieve a certain density. Several template densities are provided, and Custom can be selected
from the densities drop-down menu to enter a new value.
5.4.2.3. Profile
This option allows a distribution of profiles to be set for the occupants, such as specifying that 25%
of the added occupants should be females < 30 years old, 30% children, etc. The label shows the
currently set distribution, and if there is more than one profile defined in the model, the value can
be clicked to edit the distribution. See Section 2.6.2 for help specifying distributions.
5.4.2.4. Behavior
This option allows the distribution of behaviors to be set and is set by specifying percentages of
each behavior.
To do this:
1. Select the desired rooms and choose Add Occupants from the Model menu or the right-click
menu as shown in Figure 106. This will bring up the Add Occupants dialog (Figure 107). For an
explanation of the dialog’s options, please see Section 5.4.2.
2. Click the OK button after selecting the desired options to place occupants and exit the dialog.
To add an occupant source, use the Add Occupant Source tool or right click on a door or a room
in the model, and select Add Occupant Source If an occupant source that is attached to a
component is later deleted from the model the user will be notified and the occupant source will
either be attached to a different component or deleted.
There are three options for specifying the physical location of the occupant source within the
model, as shown in Figure 108.
From Rectangle
Use this option to draw a box that defines a placement region. This region is intersected with
the navigation mesh, and new occupants are created at random positions in the intersected
areas.
From Door
Use this option to attach the new occupant source to an existing door. The door can be selected
either from the drop-down menu or by clicking on the component in the model. New
occupants will be created at random positions along the door.
• If the door is one-way, the occupants will be placed slightly off of the door toward the one-
way direction.
• If the door is an exit, the occupants are placed slightly inside the model.
• If the door is attached to an elevator, occupants are placed slightly outside the elevator.
From Room
Use this option to attach the new occupant source to an existing room. The room can be
selected either from the drop-down menu or by clicking on the component in the model. New
occupants will be created at random positions inside the room.
Once the location of an occupant sources is defined, additional parameters that relate to the
occupants that are generated can be specified. Figure 109 below shows parameters that can be
specified for an existing occupant source.
Flow Rate
Rate in persons per second at which new occupants will be created (Section 5.4.4.1.1).
Profile
Specifies a profile distribution. See Section 2.6.2 for help specifying distributions.
Behavior
Specifies a behavior distribution.
Component
Shows which door or room the occupant source is attached to, if any.
The rate, in persons per second, at which new occupants will be created. The flow rate can be
either constant or specified as a function from a table. The flow rate table editor is shown in
Figure 111 below. The editor can also be used to automatically construct a periodical step
function. To do so, click the Step function button. The Step Function dialog is shown in Figure 110
below. The editor with a generated step function is shown in Figure 111 below.
The following are the parameters of the step function that can be set in the Create Step Function
dialog:
Flow Rate
Flow rate value when occupant generation is ON.
Initial Delay
The amount of time at the beginning of the simulation until the step function begins.
On Duration
Amount of time in each period for which occupant generation is turned ON.
Off Duration
Amount of time in each period for which occupant generation is turned OFF.
Number of Cycles
The number of ON/OFF pairs in which occupants are generated. After this, the occupant source
will stop generating occupants.
When Yes is selected, the occupant source will keep generating occupants regardless of how
crowded its area is, which can result in overlapping occupants. When No is selected, the occupant
source will only generate an occupant if the new occupant will not overlap with another
occupant. Otherwise, the occupant source will wait until the next time step to try to generate an
occupant again.
1. Select occupants, right-click one of the selected occupants either in the Navigation view or
Model view, and then select Properties from the right-click menu. To edit a single occupant or
group, double-click the occupant or group in the Navigation view. The Edit Selected Occupants
dialog will appear as shown in Figure 112.
2. If more than one profile exists in the model, the Profile link can be clicked to edit the
distribution as discussed in Group Placement.
3. If more than one behavior exists in the model, the Behavior link can be clicked to edit its
distribution.
Changing the distribution of profiles or behaviors will not change the number of
NOTE occupants in the group. It will just change which profile/behavior is assigned to
each occupant to match the specified distribution as closely as possible.
To randomize occupants' positions, select one or multiple rooms, and from the right-click menu
select Randomize Occupants' Positions The Randomize Occupants' Positions dialog appears
(Figure 113), providing the option to change room and position settings.
• Reposition within Current Room will make each occupant stay in its current room, while
Reposition within Any Selected Room will move occupants freely within selected rooms.
After clicking OK, all occupants in the selected rooms will be moved to their newly generated
positions. Occupants' orientation will change too, unless it is defined locally for specific occupants
or set to a constant angle in the occupants' profile.
To reduce the number of occupants in a component or in an occupant group, right click on the
specific object and select Reduce Population A dialog will appear with the option to set the new
Pathfinder can either keep random occupants, first occupants in the selection, or last occupants in
the selection.
Chapter 6. Queues
In Pathfinder, users can define occupant-organizing structures called Queues. These can be
defined as an object that consists of the following:
Occupants who join a queue will move immediately into an available service, where they will stay
for a user-defined amount of time. If all services in a queue are occupied, occupants will begin to
form a line along the path(s). When occupants finish their wait at the service, they will be released
to their next behavior action while any occupants behind them will move forward in the queue.
As the model runs, queues will attempt to fill their service(s) as soon as they are able, filling in
from occupants who have joined the structure first. If there are multiple Paths waiting for the
Service(s), queues will choose from them evenly.
When it is desired that a particular path always leads into a particular service, it is important to
model the scenario using a single queue. If an occupant has a choice between multiple queues
with a similar structure of paths and services, it is best to specify all of the potential queues in the
Goto Queue behavior action.
Full support for queues with movement groups is not yet available. Occupants in
NOTE
movement groups may become stuck when using queues.
6.1. Services
Services are the destinations of a Queue, defined by a point on the navigation mesh. When an
occupant reaches one, they will wait at this point and then be released to their next behavior
action; associated parameters designate the time for the occupant to wait before the queue
releases them.
Service Time
Amount of time an occupant waits at a service before being released by the queue. The wait
time can be specified by a constant value or as a user-defined distribution.
6.2. Paths
Paths are the routes of a Queue that occupants follow and wait at to reach a service. They are
linear sets of Nodes on the navigation mesh, and occupants will form a line along the path
between the nodes, moving forward to the exit end of the path and to the service when they are
able.
Follow Path
Specifies whether an occupant follows the given path from beginning to end. When checked, a
joining occupant will follow every point on the path before getting to their place or service.
When unchecked, an occupant will go directly to their place in line or at a service.
Assistant
An occupant who helps other occupants Section 7.1.1.
Client
An occupant who is helped by assistants Section 7.1.2.
Team
A group of assistants Section 7.3.
Assisted evacuation is supported through the behavior system of Pathfinder, allowing a wide
range of scenarios to be investigated.
• Assistants help clients through their entire evacuation, allowing the client to visit multiple
intermediate waypoints or rooms or wait at a location while being assisted.
• Assistants help clients for only part of their evacuation, such as an occupant in a wheelchair
who only needs assistance to descend stairs.
• Assistants help in stages. For example, one team of assistants moves clients to one location and
then another team moves the occupants to another location.
Assisted evacuation is also supported by the occupant source system (see Section 5.4.4), which
allows clients and assistants to be generated by occupant sources.
7.1.1. Assistants
Initially, the occupant becomes an assistant of a team based on their Assist Occupants action
(Section 5.3.3.9).
• The assistant checks whether any current clients or future clients (from an occupant source)
will ever need assistance from them, and, if not, continues on with their next behavior action.
• If the assistant determines clients are available, they will send an offer to assist a client.
• When the client accepts the request, the assistant attaches to the client and becomes passive
until the client detaches.
• When there are no more clients available, the assistant moves on to the next behavior action.
7.1.2. Clients
When the simulation begins, the occupant becomes a client of a team or set of teams based on the
client’s Wait for Assistance action (Section 5.3.3.10) and then the client waits indefinitely for an
assistant from one of those teams to offer assistance. When the client receives an offer, they
choose the closest assistants to assign to all open positions on their vehicle (any extra offers are
rejected).
All subsequent behaviors are processed with assistants attached until one of the following
happens (depending on the terminating action):
• The client encounters a Goto Exits action, in which case they detach from all assistants
shortly before going through the exit and then proceed to go through the exit on their own,
even if they cannot move without assistance. They are then removed from the simulation.
• The client encounters a Goto Refuge Rooms action, in which case the client will go to one of
the rooms. Upon entering the room, the client will proceed to the back of the room, detach
from the assistants, and wait until the simulation completes.
• The client encounters a Wait Until Simulation End action, in which case the client will
immediately detach from assistants before waiting for the end of the simulation. This frees
their assistants to help with other clients.
• The client encounters a Detach from Assistants action, in which case the client detaches from
all assistants and continues on to the next action on their own. (Example: The client is in a
wheelchair and needed assistance down stairs.)
Wait for Assistance Action Behaviors panel Turns occupant into a "client"
Detach from Assistants Action Behaviors panel Allows client to detach from
assistants and make part of
their evacuation journey
individually
Requires Assistance to Move Edit Profiles Dialog The client cannot move
without assistance
◦ Add a Wait for Assistance action to the behavior and specify the team or teams that should
assist the clients.
◦ Add actions that the client should perform while being assisted, such as going to a refuge
room or going to an exit. If a Goto Exits action is added, the assistant will automatically
detach from the client before the client goes through the door, allowing the assistant to
continue helping other clients.
◦ If the client should perform part of the journey on their own, add a Detach from Assistants
action to the behavior and then add the actions that will be performed individually.
◦ Choose a Vehicle Shape for the client (see Section 5.1.9 and Figure 114) by editing the
Shape parameter on the occupant properties panel. All clients must have a vehicle shape
(see Section 5.2). Either choose a default shape or define a custom shape with user-defined
positions for assistants.
Figure 114. The Shape Dialog where a user may select a vehicle shape for a client
2. Add an Assist Occupants action to the behavior and select the Team on which the occupant
should assist (if no team is selected the default team will be used).
Assistants may only be a member of one team at a time, but they may be a member of several
teams during the course of the simulation. This is accomplished by using an Assist Occupants
action for each team in the assistant’s behavior.
To edit assisted evacuation teams, on the Model menu, click Edit Assisted Evacuation Teams
(see Figure 115)
On the Priority tab, Client Priority controls the order in which clients are evacuated by a team.
Distance to assistants
Assistants on the team will choose the closest client to them.
1. Client "00018" requests help from "Default Team", but no other clients have yet requested
assistance.
3. As the assistant is heading toward "00018", client "00003" requests assistance from the
team.
4. The assistant continues on toward "00018", ignoring the request from "00003".
Any occupant can be added to this list, even if their behavior never requests
NOTE
assistance. In this case, they are simply ignored.
The Assistants tab is read-only and shows all assistants who currently have a behavior that joins
the team with an Assist Occupants action at some point in the simulation. You must use an Assist
Occupants action to add an assistant to this list.
The Clients tab is read-only and shows all clients who currently have a behavior that requests
assistance from the team with a Wait for Assistance action at some point in the simulation. You
must use a Wait for Assistance action to add a client to this list.
Occupants that are part of a group remain grouped during the entire simulation – there is no
facility for leaving and joining groups. In addition, to be members of the same group, occupants
must use the same behavior.
While occupant movement groups can be used to create simulations that have the appearance of
more realistic behavior, specific data about grouping is generally unavailable in validation studies
and the relationship between movement times and specific grouping parameters is unknown.
Because grouping adds constraints and never increases the individual movement speed of an
occupant, it should generally produce more conservative (i.e. slower) simulation times than the
ungrouped equivalent. However, if using groups in an evacuation simulation, it is highly
recommended to run the simulation both with and without grouped occupants to identify the
impact of occupant groupings on evacuation times.
The details of these behaviors are controlled by the following four parameters:
Follow Leader
This parameter makes it possible to manually specify the occupant that will be used as the
group leader throughout the simulation. If left unset, the simulator automatically selects a
leader and the leader may change over time. The group member nearest the current goal, as
specified by behavior, will become the leader.
Maximum Distance
This parameter is used to determine if a group is connected or disconnected. If any part of the
group is more than Maximum Distance away from any other part, the group is considered
disconnected. More specifically, the longest edge in the minimum spanning tree connecting all
occupants in the group must be less than or equal to Maximum Distance for the group to be
considered connected.
Slowdown Time
This parameter is used by the leader when a group has become disconnected. The leader will
gradually reduce speed before coming to a stop. Slowdown Time determines how long the
leader will slow down before stopping.
Smaller values for Maximum Distance and Slowdown Time give more cohesive groups and larger
values give looser groups.
Group members share component restrictions (see Section 5.1.2). If a component is restricted for
some group member, other group members will avoid the component as well.
2. Right click to activate the pop-up menu, click New Movement Group from Selection.
The new Movement Group will appear in the Tree view within the Movement Groups node. The
Movement Group parameters (e.g. Maximum Distance) can be edited by selecting the Movement
Group in the tree.
Manually creating individual Movement Groups is likely only necessary for special cases.
Movement Group Templates offer a way to automatically create Movement Groups.
Templates describe a kind of Movement Group. An example might be "Families, with 1-2 adults
and 1-3 children". Pathfinder can use these descriptions to automatically create large numbers of
Movement Groups from selections of occupants or during the simulation.
In addition to the three movement parameters described earlier, Movement Group Templates
require occupant profile-based creation parameters:
Number of Members
This option can be used when control over the specific profiles used to form the group is not
required. It specifies constraints on group size.
Leader’s Profile
This option can be used to force the permanent leader to be selected from a specific profile.
This option is only available when the Number of Members per Profile option is used and the
Follow Leader option is selected.
2. Click New
The new template will be added to the Tree view in the Movement Group Templates node. The
created template can now be used to automatically create movement groups.
When Pathfinder uses Movement Group Templates to sort occupants into movement groups, the
algorithm is controlled by the following parameters:
Distance Calculation
The group creation algorithm attempts to form groups from clusters of occupants standing
near each other. Clusters are identified using either Travel Distance, which takes walls and
other obstacles into account, or Geometric Distance. Geometric Distance is fast because it uses
a simple distance calculation, but it may have the undesirable consequence of grouping
occupants that are nearby, but on different floors. A height multiplier can be used to
discourage the algorithm from grouping occupants located up or down a floor. For example,
using a multiplier of 10 would make a 3.0 meter difference in Z effectively a 30.0 meter
difference for purposes of the distance calculation.
1. Select all occupants that should be sorted into groups. All selected occupants must share the
same behavior.
2. Right-click and on the pop up menu, click New Movement Group(s) from Template
3. The New Movement Group(s) from Template dialog offers various options that provide
control over how Pathfinder will sort the selected occupants into groups.
The new movement groups will be added to the Navigation view in the Movement Groups node
and the parameters of individual groups can be edited if required.
When using the New Movement Group(s) from Template action, it is important to note that
occupant profiles will be reset by the operation.
2. On the property panel, in the Movement Group Template field, click to enter a distribution of
templates to be selected when inserting occupants.
The source will now insert grouped occupants based on the template settings.
Chapter 9. Attractors
Pathfinder Attractors are objects that can be used to change an occupant’s behavior based on the
occupant’s location. Occupants can have varying levels of awareness of attractors, including by
line of sight to the attractor or by room. They can also have varying susceptibilities to attractors
(see Section 5.1.2 for more information on per-profile and per-occupant settings for attractors).
Once an occupant uses an attractor, they will not use it again for the duration of the simulation.
Attractors are different from the Change Behavior action in that attractors change
NOTE the occupant’s behavior based on location, whereas the Change Behavior action
will change an occupant’s behavior as part of a sequence of events.
when done with the attractor behavior. Similarly, if they had gone to a waypoint instead, they
would return to the waypoint. When the occupant resumes the wait action, the time it takes to get
back to the waiting area counts against the wait time. So if the wait time elapses while they are on
their way back to the waiting area, the occupant will stop travelling to the wait area and begin
their next behavior action.
When seeking, as soon as an occupant becomes aware of an attractor, they will calculate a
probability of using the attractor. If they decide to use the attractor, they will use it immediately. If
they decide not to use it, they will remember that decision for as long as they are aware of the
attractor. Once they become unaware again, they will forget the decision. This allows them to give
the attractor another chance if they become aware of the attractor again later.
There is an exception for global attractors (see Section 9.5). Because occupants are
NOTE always aware of global attractors, they will clear their memory of them whenever
they start a new behavior action.
When waiting, as soon as the occupant becomes aware of an attractor, they will calculate a
probability of using the attractor. If they decide to use the attractor, instead of using it
immediately, they will schedule a random time during their wait period at which to use the
attractor. If they do not know how long they will be waiting, such as when using the Wait Until
Simulation End action, they will use the Default Attractor Idle Time property as their wait
period. This property is defined in the Simulation Properties dialog under the Miscellaneous
Parameters tab. As when seeking, if the occupant decides not to use the attractor, they will
remember the decision until they become unaware of the attractor.
4. If the Awareness is set to Line of Sight or Same Room, or the Behavior is set to Wait at
Attractor, enter a location for the attractor. This can be done by either clicking a location in
the 2D/3D View or by typing in a Location in the property panel. If the Awareness is set to
Line of Sight, click+drag the left mouse button to set a location and control the Influence
Radius.
5. If the attractor location was not set in the 2D/3D view, click Create in the property panel to
create the attractor manually.
Awareness
Defines how an occupant becomes aware of the attractor. This can be one of the following
values:
Line of Sight
The occupant must be within the influence radius of the attractor’s location and be able to
trace a straight path on the navigation mesh to the attractor location without hitting any
room boundaries.
Same Room
The occupant must be located in the same room as the attractor’s location.
Specified Rooms
The occupant must be in one of the rooms listed in the Rooms property.
Global
The occupant always knows about the attractor from anywhere in the model.
Influence Radius
Defines the area around the attractor’s location where an occupant can become aware of the
attractor when using the Line of Sight awareness option.
Rooms
The set of rooms that define where an occupant becomes aware of an attractor when using the
Specified Rooms awareness option.
Influence
Helps define the probability that an occupant will decide to use an attractor. This value is
multiplied by the occupant’s susceptibility to attractors to define the probability. See the Profile
Movement tab for more information about defining the occupant’s susceptibility. While this
value is presented as a percentage, the value can actually be greater than 100% to give a strong
preference for the attractor. Likewise, it can be set to 0% to effectively disable the attractor.
Behavior
Defines the behavior that the occupant will use if they decide to use the attractor. The special
value, <Wait at Attractor>, allows for a simple definition of a behavior, where an occupant
will wait at the attractor’s location for a specified amount of time. When using this value, you
do not have to create a separate behavior.
Wait Time
When the behavior is set to <Wait at Attractor>, this defines the amount of time an occupant
will wait at the attractor before resuming their behavior prior to using the attractor.
• Occupants performing the following behavior actions can only be interrupted by attractors in
specific cases:
◦ Assist Occupants - assistants will not be interrupted at any time while performing the
assistance behavior action, even if they are not actively assisting a client.
◦ Wait For Assistance - the client occupant cannot be interrupted while waiting for
assistance, but once they are being assisted, they can be interrupted by attractors.
◦ Goto Queue - occupants will not be interrupted if they are actively going toward a queue
or waiting in line for a queue.
◦ Goto Elevators - Occupants can be interrupted while going to the elevator, but once they
are inside the elevator, they cannot be interrupted until it reaches its destination.
◦ Any action that completes immediately after starting, such as Change Behavior, will not be
interrupted.
Views appear in Pathfinder as points and can be hidden either individually or as a whole. To
show/hide all views, click the Show View Objects button in the 3D/2D view toolbar.
1. Position the perspective camera using one of the navigation tools as discussed in Section 2.2.1.
A new view will appear in the Navigation View as shown in Figure 116.
• Right-click a view from either the Navigation View or the 3D/2D View, and choose Show in 3D
View.
This will show the 3D View and the perspective camera will be initialized with the state of the
saved view.
Alternatively, the graphical representation of the camera can be manipulated to move the location
of the view as discussed in Section 11.2.
Because this file is only automatically written when the simulation is run, however, a view can be
changed in Pathfinder after running the simulation, making it out of sync with the views in the
Results. In order to synchronize the views in Pathfinder and the Results without re-running the
simulation, the views file must be manually written. To do so, follow these steps:
11.1.1. Moving
To move one or more objects, select the objects and click the move tool from the 2D or 3D view.
The property panel for the move tool is shown in Figure 117.
Manually
Select Normal Mode and enter the distance to offset the object in the Move X, Y, and Z boxes.
Then click Move.
Graphically
This is performed most easily in one of the 2D views. To translate graphically click two points
on the model. The vector from the first point to the second defines the movement offset. When
moving graphically, objects will only be moved parallel to the camera’s view plane.
Objects can also be copied using the move tool. To do so, select the move tool, select Copy Mode
from the property panel, and follow the same steps as above for moving an object. Alternatively,
hold CTRL on the keyboard while defining the offset. This will create a copy of the object that has
been offset by the move distance.
Similarly, an array of objects can be made by specifying a value greater than 1 for the Copies field
in the property panel. The array is created by offsetting each previous copy by the move distance.
If, when copying rooms, the resulting copies overlap one another the most recent copies take
precedence over earlier ones, meaning that earlier ones will have area subtracted from them.
Figure 118. Select object and click first point Figure 119. Second click creates array
11.1.2. Rotating
To rotate one or more objects, select the objects and click the rotate tool from the 2D or 3D
view. The property panel for the rotate tool is shown in Figure 120.
Manually
Select Normal Mode and enter the base of rotation, the axis about which to rotate using the
right-hand rule, and the angle to rotate. Then click Rotate.
Graphically
This is performed most easily in one of the 2D views. The rotate axis is automatically set to a
vector normal to the camera. Rotating requires three mouse clicks.
• The second defines a reference vector extending from the rotation base (Figure 122).
• The third defines a second vector extending from the rotation base (Figure 123). The
rotation angle is the angle between these two vectors.
Figure 121. Base point of Figure 122. Reference line (red) Figure 123. Rotated object
rotation and rotation angle (green)
2. Select Copy Mode from the property panel, and follow the same steps as above for rotating an
object. Alternatively, hold CTRL on the keyboard while defining the rotate properties.
This will create a copy of the object that has been rotated from the original using the rotate
parameters. Similarly, an array of objects can be made by specifying a value greater than 1 for the
Copies field in the property panel. The array is created by rotating each previous copy by the
rotate angle.
If copying rooms and resulting copies overlap one another the most recent copies take precedence
over earlier ones, meaning that earlier ones will have area subtracted from them. An array is
shown in Figure 125.
Figure 124. Select object and click and second line Figure 125. Create array from rotation
11.1.3. Mirroring
To mirror one or more objects about a plane, select the objects and click the mirror tool from
the 2D or 3D view. The property panel for the mirror tool is shown in Figure 126.
Manually
Select Normal Mode and enter the plane about which to mirror. This can be an axis-aligned
plane or a custom plane specified by the plane equation, [stem
b8e8825b9f04f4ea473c4e901f2552c5]. Next click Mirror.
Graphically
This is performed most easily in one of the 2D views. The mirror plane is always perpendicular
to the camera’s view plane. Defining the plane requires two mouse clicks that define two
points in the plane. The steps for mirroring graphically are shown in Figure 128.
Mirroring an object
Figure 127. Select object and draw mirror line Figure 128. Selected objects mirrored over
Objects can also be copied using the mirror tool. To do so, select the mirror tool, select Copy Mode
from the property panel, and follow the same steps as above for mirroring an object.
Alternatively, hold CTRL on the keyboard while defining the mirror plane. This will create a copy
of the object that has been mirrored from the original using the mirror plane.
Editing graphically
A handle does not have to be selected before editing graphically. To edit graphically, make sure
the Select/Edit tool is selected, and press the left mouse button over the desired handle and
drag the handle to the desired location. Release the left mouse button, and the object will be
edited. A real-time preview of the object being edited will be shown as the mouse is dragged.
Figure 131. Thin door with three handles Figure 132. Thick door with six handles
attached. The middle handles allow the stair/ramp to be reconnected to another room. The middle
handles can also be useful if the geometry of one room attached to a stair/ramp has changed in
such a way that the stair/ramp is no longer attached to the room. The middle handle can be used
in this case to reconnect to the room.
• Occupants
• Occupant sources
• Rooms: disabling a room will automatically disable its occupants and occupant sources; all
connected doors, stairs and ramps will also be disabled.
• Stairs
• Ramps
• Measurement regions
To enable or disable an object, right click on the object in the 3D view or in the navigation tree
and select Enable or Disable. Disabled objects are invisible in the 3D view. In the navigation tree,
disabled objects are greyed out and crossed out.
Measurement regions can be created using the Add a Measurement Region tool .
Adding one or more density regions will cause the simulator to output a CSV file named
filename_measurement-regions.csv containing data for each density region. The data in this file can
be used to plot fundamental diagrams in the measurement area.
Output frequency for measurement region CSV data is controlled by the CSV Output Freq.
parameter on the Output tab of the Simulation Parameters dialog.
Essentially, measurement regions should be placed on open space that will be used by occupants.
Ideally, the measurement region should not be larger than the area where the steady flow under
study occurs. If the measurement region is too large, results might indicate a lower value than
expected because the quantity is integrated over the entire region.
For additional information about measurement regions, please refer to the Pathfinder Technical
Reference.
To do so, select the measuring tool from the 3D or 2D view. To measure distance along a sequence
of points, left-click each point. After each point in the path has been specified, right-click to display
the cumulative point-to-point distance in a dialog box.
When measuring distances in the 3D view, the distance is taken as the actual distance between
snapped points. When measuring distances in the 2D view, however, the distance is taken by
projecting the points onto a plane parallel to the camera view plane, and then taking the distance.
Time Limit
Can be used to automatically stop the simulation after a set simulation time.
3D Output Freq
controls the time between 3D output file updates. Increasing this value causes data to be
written less often, leading to less disk usage and run faster simulations (no file write delay),
but can produce a misleading 3D results visualization. In the 3D results visualization,
occupants will move in a straight line between two data points - if the two points are far apart
in time, an occupant might appear to pass through an obstruction when it actually navigated
properly.
Jam Velocity
controls the speed threshold at which occupants are recorded as being jammed in the
Occupants output file.
the +Y direction, this will become 0 m/s because they are not moving toward their goal. NOTE:
This value is always >= 0, even if the occupant is moving backward away from their goal.
Reference Distance
When interpersonal distance reporting is enabled, this value is used to calculate exposure data
and is reported as SD in filename_sd_accumulated.csv. See Section 14.6 for more information.
None
Disables mesh refinement. This is the default option and provides the best performance. It
allows Pathfinder to generate the fewest and largest possible triangles, which works well in
most cases with Pathfinder’s search algorithms.
Min Angle
Sets a lower bound on the angle between adjacent triangle edges. Larger values increase
the quality of the triangles, preventing long, thin triangles, but values greater than 30
degrees can cause Pathfinder to "freeze" when it attempts to generate a simulation input
file.
The SFPE mode uses the set of assumptions presented in the Engineering Guide to Human Behavior
in Fire (SFPE 2019) and can give answers extremely similar to these hand calculations, depending
on selected assumptions. In SFPE simulations, the mechanism that controls simulation movement
is the door queue. The SFPE mode uses a simple set of assumptions and usually completes much
faster than a comparable steering mode simulation in terms of CPU time.
This same Boundary Layer is used when calculating the room density as
NOTE described in the SFPE Mode Parameters section of the Pathfinder Technical
Reference.
The Steering mode is more dependent on collision avoidance and occupant interaction for the
final answer and often gives answers more similar to experimental data than the SFPE mode (i.e.
steering mode often reports faster evacuation times). Door queues are not explicitly used in
Steering mode, though they do form naturally.
Figure 141. The Steering Behavior tab of the Simulation Parameters dialog
Collision Handling
Controls whether occupants avoid one another and can collide with each other.
Snapshot Interval
Defines how often to save snapshots to the restart file in simulation time (not to be confused
with wall-clock time).
Curve error
Controls how imported curved CAD lines are turned into multi-segmented lines for use in floor
extraction and for display purposes. Smaller error values result in more segments.
Face error
Controls how imported curved CAD faces are turned into triangles for use in floor extraction
and for display purposes. Smaller error values result in more triangles.
Figure 143. The Run Simulation dialog showing a partially complete simulation.
In this dialog, the abbreviation DTG stands for distance to goal. The maximum distance to goal
represents distance to goal for the occupant farthest from its goal. The average distance to goal is
the average of all occupants' distances to their respective goals.
The Debug button launches a runtime visualization that shows the progress of the simulation as it
is taking place. This function is different from the Results button which launches the 3D
visualization view for simulation results.
The only argument is the input .txt file generated by Pathfinder. Pathfinder automatically creates
this file when performing a simulation through the user interface.
The input file can be manually created in the user interface by selecting File › Save Simulator
Input. When running a simulation this way, it may also be desirable to manually create the
geometry file for visualization. To do this, select File › Save Imported Geometry File.
Running a simulation through the command line will not provide a management
NOTE
dialog through which the simulation can be paused and resumed.
To stop a simulation:
3. After clicking Yes, the current state of the simulation is written to a snapshot file.
3. Select the time that the simulation was cancelled and click OK.
This file is saved in the simulation directory and given the name filename_summary.txt (where
filename is the name of your saved PTH file). To view it, under the Results menu choose Show
Summary File. The first section shows the mode the simulation was run in, the total number of
occupants, and statistics on the completion times for the occupants. It also shows some
information about the mesh, including the number of triangles and the doors. This information
can be useful when considering the complexity of a simulation from the standpoint of the
simulator.
Each statistic is generated by sampling quantities from the occupants as data points. Only
occupants for whom the quantity is relevant are included in the statistic.
Completion Time
The amount of time it takes for an occupant to complete all of their behavior actions.
Occupants are not included in this statistic if they fail to complete all their behavior actions.
This may happen either because they became stuck or they did not finish their actions before
the simulation ending time as specified in the Simulation Parameters dialog.
For occupants who go to a refuge room, they are considered complete as soon
as they reach the refuge room, even though they remain in the simulation
NOTE
until the end. Similarly, occupants who end with a Wait Until Simulation End
action are considered complete as soon as they begin the action.
Travel/Movement Distance
The distance that completed occupants have travelled.
Some statistics are further broken down by behavior and by profile. For occupants who used
multiple behaviors and/or profiles due to Change Behavior or Change Profile behavior actions,
they are reported according to the behavior or profile in use when they completed their actions.
The table at the end of the summary file gives a listing of each component (doors, rooms, and
stairs) in the simulation. For each component, the FIRST IN column shows the simulation time
when the first occupant entered that component. LAST OUT shows the simulation time when the
last occupant exited that component. The TOTAL USE column shows how many times a
component was entered by occupants. For doors that served more than 1 occupant, the FLOW
AVG. column shows the result of dividing the total use by the amount of time the room was in use
(LAST OUT - FIRST IN). Each component can be annotated with its group names (e.g. floors). This
annotation can be set by selecting Include Group Names in Output in the File→Preferences
dialog.
Time(s)
The output time for this data row. The frequency of output is controlled by the CSV Output
Freq. box in the Simulation Parameters dialog.
Remaining (total)
The number of occupants remaining in the simulation.
Exited(total)
The number of occupants that have successfully passed through an exit door (leaving the
simulation).
doorname width(m)
The total width of the specified door.
doorname [{+/-}{X/Y}]
The number of occupants who have passed through door doorname since the previous output
in the specified direction. For columns with no direction specification, this is the total number
of occupants to pass through the door in both directions since the previous output.
doorname (Q)
The number of occupants who are waiting in the queue to pass through door doorname at the
current time. This only includes occupants who have actually reached the door and are
waiting to enter. Occupants that are stacked up waiting to reach a door will not be counted.
This value is only meaningful in SFPE mode.
This file is used to display door flow rate, specific flow, and usage history in Pathfinder.
In the left portion of the window is a list of the doors, and on the right is a graph of the data. For
each door, the list on the left shows three rows: one for each of the two directions and one for
total. The directional data can be hidden by unchecking Include Directional Data under the View
menu. Each row in the list shows group names for each door (if the Include Group Names in
Output option under File→Preferences was enabled in Pathfinder when the simulation was
run). The group names can be hidden by unchecking Show Group Names under the View menu
of the history plot dialog.
By default, door flow rates are shown. Alternatively, on the Mode menu, choose Specific Flow to
view door specific flow.
There are three filtering modes for presenting the flow rate that are selectable through the View
menu:
Raw
this provides raw flow rate, which is simply [stem d5e020fd41765ccb883057193c044ae9],
where [stem 3b221d7a5c7d17ebec518e6041269f5d] is the number of occupants to pass through
the door in an output time step, and [stem 5a8af6f173febd968ef4c52695efcf85] is the output
time step.
Low-pass Filter
the raw flow rate is filtered with a bi-quad low-pass filter with a user-specified cutoff
frequency. This is the default filter, and the default cut-off frequency is .05 Hz. Lower cut-off
frequencies produce smoother graphs.
Moving-average Filter
the raw flow rate is averaged over a user-specified period.
Alternatively, cumulative totals can be viewed by selecting Cumulative Occupant Counts. This
shows the total number of occupants to use the door up until that time.
Time(s)
The output time for this data row. The frequency of output is controlled by the CSV Output
Freq. box in the Simulation Parameters dialog.
Remaining (Total)
The number of occupants still in the simulation.
Exited (Total)
The number of occupants that have successfully passed through an exit door (leaving the
simulation).
roomname
The number of occupants present in room (or stairway) roomname at the current time.
To display this data as a time history plot, click View Room Usage on the results menu. Similarly
to door history, the list on the left shows group names for each room (if the Include Group Names
in Output option under File→Preferences was enabled in Pathfinder when the simulation was
run). The group names can be hidden by unchecking Show Group Names under the View menu
of the history plot dialog.
Time(s)
The output time for this data row. The frequency of output is controlled by the CSV Output
Freq. box in the Simulation Parameters dialog.
Density(pers/m^2)
The density in the observation region at a specified output time.
Velocity(m/s)
The speed in the observation region at a specific output time.
SeekVelocity(m/s)
The velocity in the direction of pedestrians’ desired path.
Count(pers)
The counting heads passing within a time interval.
To display this data as a time history and a speed vs density plot, click View Measurement
Regions on the Results menu.
The three filtering modes explained earlier could also be applied to measurement region graphs.
This is useful for verifying the parameter distributions as specified in the occupant profiles (see
Section 5.1 and Section 5.1.7 for more information). This file is written by default but can be
turned off in the Simulation Properties dialog (see Section 13.1.2).
It may take a significant number of occupants (> 1000) for the resulting
distributions to match to input distributions. The greater the number of occupants
NOTE
using a particular distribution, the greater the likelihood that the distributions
will match.
In addition, any occupants that have customized parameters (Section 5.1.9) will invalidate the
distributions. These customized occupants must be manually excluded from the analysis to
determine resulting distributions.
filename_sd_transient.csv
CSV-format output file containing transient data about occupant separation. For every CSV
output time and occupant in the simulation, the closest other occupant is listed along with
distance. Additionally, the number and ID of occupants within 1m, 2m, and 3m are listed.
Closest Occupant Name text x Occupant name from nav view in UI, if present within
3m
filename_sd_accumulated.csv
CSV-format output file containing accumulated exposure data for each occupant. For every
occupant in the simulation, the occupant who has spent the longest time within reference
distance is listed, including the occupant ID and the total amount of time. Additionally a count
is made of all occupants who have remained within reference distance of the occupant for
more than 1 minute and 5 minutes, including the occupant IDs.
Longest Occupant Time (s) float x Time within distance SD of occupant of greatest
exposure
Occupants > 60s (count) int Number of occupants within distance SD for >60 seconds
Occupants > 60s IDs text x Space-separated list of occupant IDs within distance SD
for >60 seconds
Occupants > 300s (count) int Number of occupants within distance SD for >300
seconds
Occupants > 300s IDs text x Space-separated list of occupant IDs within distance SD
for >300 seconds
id
A unique integer identifier for the occupant assigned by the simulator.
name
The name given to the occupant in the user interface.
exit time
The time at which the occupant went through an exit door.
active time
The amount of time the occupant was actively seeking a location in the model, such as a
waypoint or exit.
start time
The time at which the occupant was generated. For occupants pre-seeded in the model, this is
always 0. For occupants generated by an occupant source, this could be any time.
finish time
The time at which the occupant left the simulation for any reason.
distance
The total distance the occupant travelled during the simulation.
attractor time
The amount of time spent by the occupant using attractors.
last_goal_started time
The time at which the occupant started their last behavior action.
+ time
The time at which an occupant with a Goto Refuge Rooms action reached their refuge room
or an occupant with a Wait Until Simulation End action begain waiting. See Section 5.3.3 for
more information.
Each row of the file contains the following data for the occupant:
t(s)
The output time for this data row. The frequency of output is controlled by the CSV Output
Freq. box in the Simulation Parameters dialog.
id
The integer identifier of the occupant assigned by the simulator.
name
The name assigned to the occupant in the user interface.
active
Whether the occupant is actively seeking an exit (1 if they are seeking an exit and 0 if not).
v(m/s)
The velocity of the occupant.
distance(m)
The total distance the occupant has travelled.
location
The occupant’s current room.
terrain type
The terrain type of the occupant’s current room.
safe
Whether the occupant is in a refuge room.
attractor
The name of the attractor in use by the occupant or blank if the occupant is not using an
attractor.
last_goal_started
Whether the occupant has started their last behavior action.
report_refuge_reached
Whether an occupant with a Goto Refuge Room action has reached their refuge room, see
Section 5.3.3 for more information.
report_wait_until_end
Whether an occupant with a Wait Until Simulation End action has started waiting. See
Section 5.3.3 for more information.
+
Whether report_refuge_reached or report_wait_until_end is true.
For occupants with CSV output enabled, this data may optionally be written to one CSV output file
or one file per occupant. This preference is controlled by the Occupant CSV Data option as
described in Section 13.1.2.
Member IDs text Space separated list of numeric group member IDs
Group Name text x For groups created prior to running the simulation, this
column lists the group name from the tree view
Time
The output time for this data row. The frequency of output is controlled by the CSV Output
Freq. box in the Simulation Parameters dialog.
Attractor Usage
The number of occupants using Attractor at the time step.
14.11. 3D Results
Included with Pathfinder is the Pathfinder Results Viewer for visualizing 3D results. This software
can be used to visualize results from both Pathfinder and the Fire Dynamics Simulator (FDS) from
the National Institute of Science and Technology (NIST).
By default, the Pathfinder Results Viewer starts automatically when a Pathfinder simulation has
finished. To start the results viewer manually either click View 3D Results in main toolbar or
in the Results menu click View 3D Results.
For more information on using the Pathfinder Results Viewer, refer to the (Pathfinder Results User
Manual, n.d.).
1. Right-click the room containing the occupant, and click Select Connected Components from
the right-click menu.
2. From the drop-down box in the Select Connected Components dialog, we choose Entire
graph and click OK. (This traces model connectivity to help determine where a door or other
connection is missing.)
Pathfinder will highlight the entire graph of components touching the initial selection. We can
then inspect the selected components to find out where they are disconnected from the occupant’s
goal.
For finer inspection in a highly connected model, select only immediately adjacent components in
the Select Connected Components dialog.
Sometimes occupants become "stuck" even on a properly connected mesh, preventing a proper
simulation run. There can be many causes of this problem and we do everything we can to
prevent it, but it does happen. If occupants are becoming stuck in tight spaces, consider the
following steps to resolve the problem:
1. Alter the navigation mesh in the area where occupants are becoming stuck. This can be
especially useful if the area was originally extracted from imported geometry. Sometimes
simply re-drawing the area using the drawing tools can fix the issue.
4. Switch to the SFPE simulation mode. This mode uses the simplest set of assumptions and is not
as susceptible to the geometric and movement irregularities that can cause occupants to
become stuck.
• Warning if stairs or doors create a non-manifold topology (e.g. a stair connects to the inside of
a room rather than an outer wall or connects to two rooms on one of its ends).
Problematic objects can be quickly selected by right clicking a group in the tree that has a warning
or error icon, and selecting either Select Errors or Select Warnings from the right-click menu. In
addition, if the warning on a component indicates that it interferes or overlaps with other
components, the objects with which it interferes can be quickly selecting by right-clicking the
object with the warning and selecting Select conflicting components from the right-click menu.
As a general note, if the warning "Edge is adjacent to more than 2 triangles" appears when
simulating, an option to click Cancel appears to highlight the navigation components causing the
warning.
user interface and the simulation. In some cases, this is not enough, which may result in
Pathfinder crashing or the operating system becoming unresponsive while the simulation is
running. In this case, it may be possible to allow Pathfinder to use more system memory. There
are two ways to do this.
The first way is to run Pathfinder from the command line and specify an additional flag that
indicates more memory should be allowed for Pathfinder. To do so:
1. In Windows, click the Start Menu, and then type cmd into the search bar. Enter on the
keyboard to start the command prompt.
2. In the command prompt, type cd "C:\Program Files\Pathfinder 2020" and press Enter. If you
installed Pathfinder to a different location, enter that path instead.
3. In the command prompt, type pathfinder -J-DXmx16000m, where 16000 is the amount of system
memory to allow in megabytes. In most cases this amount should not exceed 95% of actual
system memory.
If you specify an amount that is too high, there may not be enough resources for
NOTE
the graphical features of Pathfinder, which may lead to crashes or other issues.
For a more permanent way to specify a higher memory limit you can perform the following:
1. If Pathfinder is not already pinned to the taskbar, in Windows click the Start Menu and type
Pathfinder into the search bar. Then right-click the correct Pathfinder executable and select
Pin to taskbar.
2. In the Windows task bar, find the pinned Pathfinder application and right-click it.
3. In the sub-menu that appears, right-click the Pathfinder executable and select Properties.
4. At the end of the Target field, type a space on the keyboard and then -J-DXmx16000m. The
shortcut dialog will look similar to Figure 146.
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 Pathfinder in Safe Mode, which disables several graphics
1. Open a command-prompt by opening the start menu and typing cmd. Then press Enter.
4. If Pathfinder 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.
Disabled safe-mode properties will remain disabled the next time you run
NOTE Pathfinder, even if not in Safe Mode. If you’ve re-enabled some of those options,
running in Safe Mode again will disable the options again.
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.
If you are unable to resolve your issues from the suggestions in the table, please contact
Thunderhead Engineering Email Support.
Thunderhead Engineering
403 Poyntz Ave. Suite B
Manhattan, KS 66502-6081
USA
The "Default" profile present in new Pathfinder models is based on data in the SFPE’s Engineering
Guide to Human Behavior in Fire (SFPE 2019). This profile uses a constant speed of 1.19 m/s and
relies on Pathfinder’s defaults for speed-density relation and slope-based speed factor on stairs.
This source gives ranges of walking speeds on flat terrain for each of 12 different population
groups. This is implemented directly in the Pathfinder profiles as per-profile uniform
distributions. The bundle of profiles in Pathfinder includes only the ten population groups that do
not correspond to crew members.
A table is given for speed-density relation on flat terrain in terms of "initial specific flow" and a
reference "initial speed". These two values were used to create a speed-density factor table shared
by all profiles in this set.
The revised guidelines also define ranges of walking speeds up and down stairs for all population
groups. Since Pathfinder requires a speed factor for stairs rather than a range, these values were
approximated by calculating a constant scaling factor based on the average of the flat terrain
range and the average of the range of speed on stairs.
This source describes six population groups based on age and gender, and only gives a single
normal distribution of walking speeds that is used for all population groups. This is implemented
in Pathfinder by re-using the same normal distribution for the six population groups and an
"Average All" aggregate profile.
The built-in SFPE-based speed-density relation is used for all profiles in this set. The built-in SFPE-
based speed-density relation differs from the original data primarily in the locations where the
min and max walking speeds are clamped. The original data was in terms of an absolute
measurement of walking speed across multiple people rather than a value that could be
normalized to a specific speed (1.2 m/s) and it went to zero at high densities which is undesirable
for simulation because it could cause issues with occupants becoming permanently stuck. The
following chart compares the original data to the relation used for this profile in Pathfinder.
Pedestrian Planning and Design (Fruin and Strakosch 1987) gives stairway speeds for two slopes,
identified as an "indoor" 32 degree stair (7" / 11.25") and an "outdoor" 27 degree stair (6" / 12").
Speeds are given for the up direction and the down direction and they are individualized for the
six population groups and the aggregate group. These speeds were converted to tables of speed
modifier fractions. For each slope and direction, the speed on stairs was converted to a fraction of
max speed by dividing by the average of the flat walking speed (1.2 m/s) used by all population
groups. This made it possible to create tables of speed modifiers unique to each population group
and travel direction that contained two data points. For stairs with slopes more or less than the
given 32 and 27 degree stairs, the factor is constant (i.e. not extrapolated).
avatarfile
the filename of the avatar relative to this BEA file.
scale
A scaling factor to apply to the avatar if the avatar is the incorrect size. For instance, if the
avatar appears to be about 50% of its real size when using a scaling factor of 1.0, try a scaling
factor of 2.0 to make it twice as big.
additional_transforms
[optional] May be any number of the following transforms:
rotate rx ry rz rangle
Rotates the avatar about the axis, (rx, ry, rz), an angle of rangle degrees, using the right-
hand rule.
translate tx ty tz
Moves the avatar a distance of (tx, ty, tz) units.
The scale factor is always the first transform applied to the avatar. All other transforms are
applied in reverse order, meaning that the last listed transform is the first non-scale transform
applied to the avatar.
Example:
will first scale the avatar by 200%, then rotate it about the X axis by 180°, then rotate about the Z
MOVEBACKWARDDO MOVE Used when an occupant is walking backward down stairs. If this
WNSTAIRS animation type isn’t included in the BEA file, the
MOVEFORWARDUPSTAIRS animations are used and played
backward.
animationtype { listofidleanims }
"animfile" transforms
animfile
the name of the animation file, relative to the current BEA file.
transforms
a list of transforms to be applied to the listed animation in reverse order. It includes
additional_transforms as specified in Section B.1 with one additional transform:
scale s
Scales the animation by a factor of s. Unlike the scale parameter in the Section B.1, this scale
transform is applied in order with the other listed transforms.
animationtype { listofmoveanims }
animfile
the name of the animation file, relative to the current BEA file.
frameoffset
the frame offset that defines the start of the animation clip. This should specify a time in the
animation when the character is closest to standing up straight. For walking/running
animations, the same foot must be stepping forward after each frameoffset for ALL moving
animations.
naturalspeed
the natural movement speed in m/s of the animation. When the occupant is moving this at this
speed, the animation will be played back at 1x speed. If the occupant is moving at twice this
speed, the animation will be played back at 2x speed, etc.
maxspeed
The maximum occupant speed in m/s at which this animation should be used. If the occupant is
moving faster than this speed, the next animation of this type is used unless this is the last of
its type.
retargettype
[optional] If specified, specifies that this animation was created using a different avatar than
the one listed in the MESH section. This can take on the following values:
retarget
Indicates that the animation was created using a different avatar that has the same
joint/skeletal structure as the MESH avatar.
retarget_to_self
Indicates that the animation was created using a different avatar with a different
joint/skeletal structure than the MESH avatar. The animation file itself contains the avatar for
which the animation was made - this only works if the anim file is an FBX file and contains
the avatar as well as the animation.
retarget_to "retargetavatarfile"
Indicates that the animation was created using a different avatar with a different
joint/skeletal structure than the MESH avatar. retargetavatarfile specifies the file relative to
the BEA file that contains the avatar for which the animation was made.
transforms
Same as for the IDLE animations.
Example:
MOVEFORWARD {
"anims/walk1.md5anim" 13 .725 1.1 retarget_to "anims/base_mesh.md5mesh"
"anims/walk3.md5anim" 5 1.800 1.7 retarget_to "anims/base_mesh.md5mesh"
"anims/maleRun.md5anim" 4 3.170 1000 retarget_to "anims/base_mesh.md5mesh"
}
This exampe indicates that there are three animations for moving forward. The first specifies that
the 13th frame of walk1.md5anim is when the occupant is about to step forward. The animation will
playback at 1x speed when the occupant is moving .725 m/s. walk1.md5anim should only be used if
the occupant is walking less than 1.1 m/s. In addition, walk1.md5anim was created for the avatar
specified in base_mesh.md5mesh rather than the avatar specified in the MESH section. walk3.md5anim
should be used when the occupant is walking between 1.1 m/s and 1.7 m/s. maleRun.md5anim is
used if the occupant is walking faster than 1.7 m/s.
Bibliography
Pathfinder Technical Reference. n.d. 403 Poyntz Avenue, Suite B, Manhattan, KS 66502, USA:
Thunderhead Engineering. https://support.thunderheadeng.com/docs/pathfinder/latest/technical-
reference-manual/.
Pathfinder Verification and Validation. n.d. 403 Poyntz Avenue, Suite B, Manhattan, KS 66502, USA:
Thunderhead Engineering. https://support.thunderheadeng.com/docs/pathfinder/latest/
verification-validation/.
Pathfinder Results User Manual. n.d. 403 Poyntz Avenue, Suite B, Manhattan, KS 66502, USA:
Thunderhead Engineering. https://support.thunderheadeng.com/docs/pathfinder/latest/results-
user-manual/.
Bukowski, Richard W., and Fang Li. 2010. “Using Elevator In Fires.” Consulting – Specifying
Engineer, July.
Fridolf, Karl, Enrico Ronchi, Daniel Nilsson, and Håkan Frantzich. 2019. “The Representation of
Evacuation Movement in Smoke- Filled Underground Transportation Systems.” Tunnelling and
Underground Space Technology 90 (April): 28–41. https://doi.org/10.1016/j.tust.2019.04.016.
Fruin, J.J., and G.R. Strakosch. 1987. Pedestrian Planning and Design. Elevator World.
https://books.google.com/books?id=vrckAQAAMAAJ.
IBM. n.d. “Default Swing Key Bindings.” Accessed November 18, 2019. https://ibm.co/2O58h5A.
IMO. 2007. “IMO Guidelines for Evacuation Analysis for New and Existing Passenger Ships.” 4
Albert Embankment, London, Great Britain: International Maritime Organization.
Pheasant, Stephen, and Christine M. Haslegrave. 2005. Bodyspace: Anthropometry, Ergonomics and
the Design of Work. 3rd ed. CRC Press. https://books.google.com/books?id=vrckAQAAMAAJ.
SFPE. 2019. SFPE Guide to Human Behavior in Fire. 2nd ed. Springer International Publishing.
https://www.springer.com/gp/book/9783319946962.
Still, G. Keith. 2000. “Crowd Dynamics.” PhD thesis, University of Warwick. http://gkstill.com/
Support/Links/Documents/2000_still.pdf.
223 Bibliography