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.
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.
If you want the Projector Manager’s version of this, skip to the bottom.
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.
Here is the full script, below is a walk through of each part.
- Collect doors in active view from linked model.
- 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.
- 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.
- 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.
- We get the pressure value parameter of those rooms
- Determine if the spaces are equal pressure
- 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 direction
- Sum the the door transfer airflows of the rooms to find the total transfer air of the room
- Now on to annotation. We determine which room of the “probe points” is the lower pressure
- 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 airflow
- 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.
- Rotate that airflow in the direction of the transfer airflow
From all of that, we get this. A plan with door transfer airflows, the direction of that flow, and the total room transfer airflow.
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.
- 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.