Headwinds + Tailwinds: Calculating and Documenting Pressure Cascades using Dynamo

I recently listened to an episode of Freakonomics that went over the psychology of why people think their life is so hard. It boils down to people not recognizing the tailwinds (external help, guidance and resources) they receive and simply focus on what’s always holding them back. The researchers found that the more grateful you are, the happier you are.

Well, I am grateful for Dynamo, my greatest tailwind this year.


Pressure cascade calculations are important to complete in biotech manufacturing facilities to ensure clean room cleanliness. The fundamental concept of pressure cascades is that you want air pressure to push air from the most clean space to the dirtier spaces, to avoid contaminates coming into the clean spaces. Or if you have a lab with hazardous fumes/odors, you negatively pressurize the space, to suck air in, to protect the rest of the building. Pressure cascades are key to providing better cleanliness, door interaction, fume control, and odor control for the occupants.


Generally when looking at pressure cascades, the manual process in excel can take days to complete. In Excel, you have to individually find each door, the type of door, the area of the door crack, the spaces on each side of the door, the air pressure of each space, the difference between the rooms, and then throw all of that into a formula to calculate a single transfer airflow. If you have over 300 doors in a model, that gets pretty boring, pretty quickly especially when this doesn’t include documentation on a floor plan.

Enter Dynamo.

There is a logical process behind this calculation and if we have a model that is properly setup, this will take seconds compared to days.

(I originally created this script in Kyle Martin  and Jamie Farrell‘s Advanced Revit and Computational Design class at The BAC.)

If you want the Projector Manager’s version of this, skip to the bottom.

Vineyard in Autumn – Paso Robles


Dynamo Script for Pressurization Cascades


I wanted to give an engineer a model with walls and doors placed in it and allow them to calculate pressure cascades throughout the entire building by only putting in the necessary pressure values in the spaces. The types of doors are already determined by the architect. Below is an example of what they would be given and the pressure values they would put inside.


From those inputs, I wanted to create a floor plan view that shows the direction and value of transfer air across a door and the total transfer airflow of the space.

Basic Logic

Here is the full script, below is a walk through of each part.

Whole Script 2

  1. Collect doors in active view from linked model.Slide1
  2. This group is wholly dependent on how your door families are setup. My company has a frame within the door family, so I simply want to filter those out by their family names.Slide2
  3. It’s necessary to make assumptions on what the door crack area is. This is simply using the Springs Dictionary node to associate door names with door crack area values.Slide3.JPG
  4. Here we place two “probe points” a foot away from the face of each door. This allows us to test what space that point is in. (This was a workaround of Doors.Room, I can’t remember why). At this point the script splits into calculating and annotating. We’ll start with calculating.Slide4.JPG
  5. We get the pressure value parameter of those roomsSlide5.JPG
  6. Determine if the spaces are equal pressureSlide6.JPG
  7. Find the pressure differential across the door from those rooms and use it in the crack method infiltration formula. With it we determine the amount of air flowing across the door and in which directionSlide7.JPG
  8. Sum the the door transfer airflows of the rooms to find the total transfer air of the roomSlide8.JPG
  9. Now on to annotation. We determine which room of the “probe points” is the lower pressureSlide8
  10. Place a text note above the door. This will either give the transfer airflow value across the door or “EQ. PRESS”, indicating there is no transfer airflowSlide10.JPG
  11. Place an arrow above the door. I’m using an arrow that starts pointing south in this script so you may need to adapt the script depending on what your arrow looks like.Slide11.JPG
  12. Rotate that airflow in the direction of the transfer airflowSlide12.JPG


From all of that, we get this. A plan with door transfer airflows, the direction of that flow, and the total room transfer airflow.

Floor Plan 2

To further test it, I created a short script to randomize the space pressures and run it. Below is the result. Think of it as an indecisive client.


Possible Improvements

  • Reduce the pressure values automatically
  • Have the engineer place whether it has to be negative, positive, or equal pressure instead of the specific pressure values. Have the script determine what the actual values should be


Well, for those of you who calculate pressure cascades-you can now do it faster and with higher accuracy. For those of you who don’t, maybe this will give you a method to calculate pressure cascades in an efficient way to improve your designs.

Let me know what you thought of my first post. I like constructive criticism. If you have any questions feel free to comment below, tweet, or email me via the Contact page.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s