PLB-410 · Lesson 4 of 12 · 28 min
Complex DWV sizing problems
The sizing questions that cost candidates the most marks are not hard because the tables are hard. They are hard because they stack several simple steps: count the fixtures, convert them to loads, add the loads in the right places, size each branch, size the stack for both its total and its worst interval, size the building drain at its slope, then size the vents. A mistake at any step carries through to the answer, and the exam's wrong options are usually the answers produced by the most common mistakes.
Luis gave Maya a practice building to work through every Saturday for three weeks, changing one thing each time. It was a three-storey building on a Hamilton side street: a café on the ground floor and two apartments on each of the two floors above, with one stack serving the apartments. "If you can size this building start to finish in fifteen minutes," he said, "you can answer any drainage question on the exam in two."
This lesson uses simplified practice tables so that the method stands out. Real code tables have more rows and more footnotes, but the steps are identical, and the exam questions are built on the steps.
The practice tables
All the problems in this lesson use the tables below. Fixture unit values follow the practice values used since PLB-120. Pipe sizes are given in millimetres with the inch size in brackets where it helps.
| Fixture | Fixture units |
|---|---|
| Lavatory | 1 |
| Kitchen sink, domestic | 2 |
| Bathtub or shower | 2 |
| Dishwasher, domestic | 2 |
| Clothes washer, domestic | 3 |
| Water closet, flush tank, private | 4 |
| Floor drain | 2 |
| Size | Horizontal branch, max FU | Stack total, max FU | Stack, max FU per branch interval | Building drain at 1 in 100 | Building drain at 1 in 50 |
|---|---|---|---|---|---|
| 38 mm | 3 | 4 | 2 | - | - |
| 50 mm | 6 | 10 | 6 | - | - |
| 75 mm | 20 | 48 | 20 | 36 | 42 |
| 100 mm | 160 | 500 | 90 | 180 | 216 |
| 150 mm | 620 | 1900 | 350 | 700 | 840 |
| 200 mm | - | - | - | 1600 | 1920 |
Three rules go with the tables. A water closet needs a drain of at least 75 mm. A drain never reduces in size in the direction of flow. A stack is never smaller than the largest horizontal branch connected to it.
Step 1: count and convert
The first step is a fixture schedule: every fixture, where it is and which branch it drains to. Writing it out takes a minute and prevents the most common error on the exam, which is missing a fixture or counting one twice. Maya used a short table with one row per branch.
| Location | Fixtures | Load |
|---|---|---|
| One apartment | Water closet, lavatory, bathtub, kitchen sink, dishwasher, clothes washer | 4 + 1 + 2 + 2 + 2 + 3 = 14 |
| One floor (two apartments) on one branch | Two apartments | 28 |
| Café, ground floor | Two water closets, two lavatories, a three-compartment sink counted as 6, two floor drains | 8 + 2 + 6 + 4 = 20 |
Note the café sink. Commercial fixtures often have their own values, and a question will give them. Maya's practice table did not list a three-compartment sink, so Luis gave it a value of 6 in the problem statement. On the exam, any load not in the table will be given in the question or an extract.
Step 2: size the branches
Worked problem
Branch sizing on an apartment floor
Each apartment floor has one horizontal branch carrying both apartments to the stack. What size is the branch? Would a separate branch for each apartment change the answer?
Show solution
- \[\text{floor branch load} = 2 \times 14 = 28\ \text{FU}\]
- \[28 > 20 \to 75\ \text{mm too small}; \quad 28 \le 160 \to 100\ \text{mm}\]
- \[\text{one apartment} = 14 \le 20 \to 75\ \text{mm, with a water closet allowed on } 75\ \text{mm}\]
Answer: A shared floor branch must be 100 mm. Separate branches for each apartment could each be 75 mm, but then each floor has two branch connections to the stack, which affects the stack check.
The second part of the example is typical of exam questions that ask what changes when one detail changes. Splitting the load lets each branch be smaller, but the total on the stack is the same. Whether the stack check changes depends on how the table defines a branch interval.
Step 3: size the stack for total and interval
A stack is checked twice. The total load on the stack must not exceed the stack total for its size. The load entering in any one branch interval, which is a vertical section of stack at least about one storey high into which branches connect, must not exceed the per-interval limit. A stack can pass the total check and fail the interval check, especially in a short building with heavy floors. The interval check is the one candidates forget.
Worked problem
Checking the apartment stack
The stack receives 28 fixture units from each of the two apartment floors. The café does not connect to the stack. Size the stack.
Show solution
- \[\text{total} = 2 \times 28 = 56\ \text{FU}\]
- \[75\ \text{mm}: 56 > 48\ \text{total fails}; \quad 28 > 20\ \text{interval fails}\]
- \[100\ \text{mm}: 56 \le 500\ \text{and}\ 28 \le 90 \to \text{passes}\]
- \[\text{largest branch} = 100\ \text{mm} \to \text{stack} \ge 100\ \text{mm}\]
Answer: The stack is 100 mm. Both checks and the largest-branch rule point to the same answer here, but they do not always agree, so all three must be checked.
Luis changed the problem the next Saturday: each apartment floor drained through two separate 75 mm branches of 14 each. The total stayed at 56, which fails 75 mm. But in a variation with only one apartment per floor and four floors, the total of 56 still fails 75 mm, while each interval of 14 would pass. Working the variations taught Maya that the two checks catch different problems.
Step 4: size the building drain
The building drain carries the stack and the café. Loads add up where pipes join, and each section of drain is sized for the load it carries at that point. Downstream of the last connection, the drain carries everything.
Worked problem
Building drain at two slopes
The building drain receives the apartment stack (56 FU) and, further downstream, the café branch (20 FU). Size the drain downstream of both at 1 in 100 and at 1 in 50.
Show solution
- \[\text{load} = 56 + 20 = 76\ \text{FU}\]
- \[1\ \text{in}\ 100: 76 > 36 \to 75\ \text{mm fails}; \quad 76 \le 180 \to 100\ \text{mm}\]
- \[1\ \text{in}\ 50: 76 > 42 \to 75\ \text{mm fails}; \quad 76 \le 216 \to 100\ \text{mm}\]
Answer: The building drain is 100 mm at either slope. It also cannot be smaller than the 100 mm stack it receives. Slope matters only near the limits; it would change the answer for a load of, say, 40 fixture units on 75 mm.
Slope questions often hide in the limits. A load of 40 fixture units on a 75 mm building drain fails at 1 in 100 (maximum 36) but passes at 1 in 50 (maximum 42). An exam question that gives a slope and a load close to a limit is testing whether you read the right column.
Step 5: pumped and continuous flows
Some loads do not come from fixtures. A sewage ejector, a sump pump connected to a sanitary drain where permitted, or an air conditioning condensate line discharges a flow rather than a fixture load. Codes convert these flows into fixture units so that they can be added to the rest. In this course, each litre per second of pumped or continuous flow counts as about 32 fixture units.
Worked problem
Adding an ejector
The café adds a basement washroom served by a sewage ejector that pumps 1.0 L/s into the building drain upstream of the café branch. What is the new load downstream, and does the drain size change at 1 in 100?
Show solution
- \[\text{ejector} = 1.0\ \text{L/s} \times 32 = 32\ \text{FU}\]
- \[\text{load} = 56 + 20 + 32 = 108\ \text{FU} \le 180 \to 100\ \text{mm still passes}\]
Answer: The load rises to 108 FU, and 100 mm still carries it. Forgetting to convert the pumped flow, or adding 1 instead of 32, is the error the wrong options are built on.
Step 6: size the vents
Vent stacks are sized from the drainage load they serve and their developed length, the length measured along the pipe from where the vent starts to where it ends, at the stack vent or through the roof. A longer vent has more friction, so the table allows less load or needs a larger size as the length grows. The practice vent table in this course gives the maximum developed length for each vent size and drainage load.
| Vent size | Load up to 40 FU | Load up to 160 FU | Load up to 500 FU |
|---|---|---|---|
| 50 mm | 30 m | - | - |
| 75 mm | 120 m | 60 m | 30 m |
| 100 mm | no limit | 240 m | 120 m |
Worked problem
Sizing the vent stack
The vent stack serves the 56 FU apartment stack and has a developed length of 18 m. What is its minimum size? What if the building had six apartment floors, a load of 168 FU, and a vent of 35 m?
Show solution
- \[56 > 40 \to \text{use the } 160\ \text{FU column}; \quad 50\ \text{mm not allowed}\]
- \[75\ \text{mm}: 18\ \text{m} \le 60\ \text{m} \to \text{passes}\]
- \[168 > 160 \to \text{use the } 500\ \text{FU column}: 75\ \text{mm allows } 30\ \text{m} < 35\ \text{m} \to 100\ \text{mm}\]
Answer: The vent stack is 75 mm for the three-storey building. In the six-floor variation, the load moves into the next column and the length exceeds the 75 mm limit, so it becomes 100 mm.
The column choice is a reverse lookup: the load column to use is the first one whose heading is equal to or greater than the load. A load of 56 is read in the 160 column, not the 40 column, even though 56 is closer to 40.
A calculator for checking your work
Maya wrote the steps into a small program that sizes branches, stacks, building drains and vent stacks from the practice tables. She used it only to check answers she had worked by hand, never instead of working them, because the exam does not come with a computer. Writing it, though, forced her to state each rule precisely, which was the best study she did that month.
# DWV sizing calculator using the simplified practice tables in this course
SIZES = ['38 mm', '50 mm', '75 mm', '100 mm', '150 mm']
BRANCH = [3, 6, 20, 160, 620] # max load, horizontal branch
STACK = [4, 10, 48, 500, 1900] # max total on stack
INTVL = [2, 6, 20, 90, 350] # max per branch interval
DRAIN = {"1 in 100": [None, None, 36, 180, 700], "1 in 50": [None, None, 42, 216, 840]}
COLS = (40, 160, 500) # vent table load columns
NL = float("inf") # no limit
VLEN = {1: [30, None, None], 2: [120, 60, 30], 3: [NL, 240, 120]} # max length in m; None = not allowed
def first(limits, load, start=0):
for i in range(start, len(limits)):
if limits[i] is not None and load <= limits[i]:
return i
raise ValueError("load too large for table")
def branch(load, wc=False):
return first(BRANCH, load, 2 if wc else 0)
def stack(total, worst_interval, largest_branch):
i = max(first(STACK, total), first(INTVL, worst_interval), largest_branch)
return i
def drain(load, slope, upstream):
return max(first(DRAIN[slope], load), upstream)
def vent(load, length):
col = first(COLS, load)
for i in (1, 2, 3):
lim = VLEN[i][col]
if lim is not None and length <= lim:
return i
raise ValueError("no vent size fits")
apt = 4 + 1 + 2 + 2 + 2 + 3 # one apartment
floor = 2 * apt
b = branch(floor, wc=True)
s = stack(2 * floor, floor, b)
cafe, ejector = 20, 32 # 1.0 L/s x 32
d = drain(2 * floor + cafe + ejector, "1 in 100", s)
v = vent(2 * floor, 18)
print(f"Apartment {apt}, floor branch {floor} -> {SIZES[b]}")
print(f"Stack total {2 * floor}, interval {floor} -> {SIZES[s]}")
print(f"Building drain {2 * floor + cafe + ejector} at 1 in 100 -> {SIZES[d]}")
print(f"Vent stack for {2 * floor} at 18 m -> {SIZES[v]}")Apartment 14, floor branch 28 -> 100 mm Stack total 56, interval 28 -> 100 mm Building drain 108 at 1 in 100 -> 100 mm Vent stack for 56 at 18 m -> 75 mm
The sizes come out as index numbers into the list of pipe sizes, so the rule that a stack is never smaller than its largest branch becomes a simple maximum of index numbers. The same trick enforces the rule that a drain never reduces downstream.
For the vent lengths, the table is written as a list of rows. A vent that is longer than the 75 mm limit for its load column moves to the 100 mm row. Try changing the length to 70 and the load to 168 and check the program against the worked example above.
Horizontal offsets in stacks
One more common exam topic is an offset: a section of stack that moves sideways. An offset at 45 degrees or less from the vertical is treated as part of the vertical stack. A horizontal offset, more than 45 degrees from vertical, is sized as a building drain for the load above it, and the stack below the offset must be at least as large. Offsets also need venting attention in tall buildings, because they disturb the airflow in the stack. A question that mentions an offset is usually testing one of these two points.
A practical example: a 75 mm stack carrying 40 fixture units makes a horizontal offset at 1 in 50. As a building drain at that slope, 75 mm carries 42, so 40 passes. At 1 in 100, the limit is 36, so the offset would have to be 100 mm, and the stack below it could not drop back to 75 mm.
Common mistakes
MistakeMissing a fixture or counting a bathroom twice.
InsteadWrite a fixture schedule with one row per branch before adding loads.
MistakeChecking only the stack total.
InsteadCheck the total, the worst branch interval and the largest branch.
MistakePicking the column closest to the load.
InsteadUse the first column or size whose limit is at least the load.
MistakeAdding pumped flow as if it were one fixture.
InsteadConvert the flow into fixture units with the conversion factor.
MistakeReducing the drain or stack downstream.
InsteadDrains never get smaller in the direction of flow.
Summary and key terms
- Complex sizing problems are a chain of simple steps; an error early in the chain carries into the answer.
- Count fixtures with a schedule, convert them to loads, and add loads where pipes join.
- Branches are sized for their load, with a minimum size for water closets.
- Stacks are checked for total, worst interval and largest connected branch.
- Building drains are sized for the load at each point and the slope; slope matters near the table limits.
- Pumped and continuous flows are converted into fixture units; vents are sized by load column and developed length.
- Branch interval
- A vertical section of stack, at least about one storey high, into which horizontal branches connect.
- Fixture schedule
- A list of fixtures and the branch each one drains to, used to add loads.
- Developed length
- The length measured along the pipe and fittings.
- Offset
- A section of stack that moves sideways; a horizontal offset is sized as a building drain.
- Load column
- The column of a vent table chosen by the drainage load served.
Practice problems
Work each problem on paper first, then reveal the answer to check.
A floor has three apartments of 14 FU each on one branch. What size is the branch?
Show answer
42 FU exceeds 20, so 100 mm.
A 75 mm stack carries 46 FU in total, with 22 FU in one interval. Does it pass?
Show answer
No. The total passes (48), but the interval exceeds 20, so it must be 100 mm.
What is the minimum building drain for 40 FU at 1 in 100? At 1 in 50?
Show answer
100 mm at 1 in 100, because 75 mm allows 36; 75 mm at 1 in 50, which allows 42.
An ejector pumps 0.5 L/s. How many fixture units does it add?
Show answer
About 16.
A vent stack serves 120 FU with a developed length of 70 m. What size?
Show answer
Use the 160 column: 75 mm allows 60 m, so 100 mm.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.