Plumbing, Drainage & Fire Protection
Water in, waste out, people safe. Learn water demand (lpcd), storage (underground sumps, overhead tanks), distribution (gravity, hydro-pneumatic), pipe sizing and velocity, hot water, sanitary fixtures and drainage (fixture units, slopes, venting, traps), rainwater harvesting and greywater recycling, STPs, then fire safety — fire load, compartmentation, means of escape (travel distance, exit width), detection and alarms, sprinklers, hydrants, fire pumps and NBC Part 4 — with Python for water demand, tank sizing, pipe diameter and exit width.
Plumbing delivers safe water and removes waste without odours or contamination. Fire protection saves lives by detecting fires early, containing them and letting occupants escape.
Both are regulated by the National Building Code (Parts 4 and 9) and require careful coordination with architecture and structure.
An analogy
Plumbing is the building's circulatory and digestive system. Fire safety is its immune system: detectors are the nerves, sprinklers the antibodies, fire-rated walls the barriers, and escape routes the emergency exits for its cells — the people.
Water supply
Demand: 135 lpcd residential (NBC), 45 lpcd offices, 340–450 lpcd hospitals. Municipal or borewell supply fills an underground sump; transfer pumps lift water to overhead tanks, which feed fixtures by gravity (or hydro-pneumatic systems pressurise directly). Pressure should be 0.5–3.5 bar at fixtures; tall buildings use pressure-reducing valves or zoning.
Drainage and wastewater
Key principles:
- Soil (WC) and waste (sinks, baths) pipes with adequate slopes (1:40 to 1:60)
- Traps with water seals block sewer gases; vent pipes prevent seal siphonage
- Pipe sizes by drainage fixture units (DFU)
- Inspection chambers and manholes at junctions and direction changes
- Sewage treatment plants (STP) and greywater recycling for flushing and landscaping
Fire and life safety
Passive protection: fire-resistant construction (1–4 h ratings), compartmentation, fire doors, protected staircases, fire-stopping of penetrations. Means of escape: occupant load, maximum travel distance (e.g. 30 m residential), number and width of exits, refuge areas in high-rises, emergency lighting and signage. Active: detection (smoke/heat), alarms, sprinklers, wet risers and hydrants, fire pumps (main, jockey, diesel standby), smoke management, fire lifts.
Performance-based and sustainable design
Fire engineering uses fire and evacuation modelling (FDS, Pathfinder) for complex buildings like atria and airports, comparing ASET (available safe egress time) with RSET (required). Water efficiency: low-flow fixtures, dual-flush WCs, rainwater harvesting (mandatory in many cities), recycled water, and metering. Legionella control in hot-water systems and backflow prevention protect health.
Formulas
- Daily demand:
D = population × lpcd - Pipe diameter:
d = √(4Q/(πv)) - Peak flow:
Q_peak = D/(supply hours) × peak factor - Exit width:
units = occupants/capacity per unit; width = units × 0.5 m - Rainwater harvest:
V = roof area × rainfall × runoff coefficient
Worked example: Office water demand
Given: 600 staff at 45 lpcd
Find: Daily demand.
- 600 × 45
Answer: 27 m³/day
Worked example: Pipe size
Given: Q = 3 L/s at 1.5 m/s
Find: d.
- √(4 × 0.003/(π × 1.5))
Answer: 50 mm
Worked example: Rainwater harvest
Given: Roof 1000 m², 800 mm/yr, C 0.85
Find: Annual harvest.
- 1000 × 0.8 × 0.85
Answer: 680 m³/yr
Water demand, tanks, pipe size and exits
import math
# Water demand, storage tank and pipe sizing for a residential building
flats, persons, lpcd = 40, 5, 135
daily = flats * persons * lpcd
print(f"daily demand {daily/1000:.1f} m3")
oht = daily / 3 # overhead tank ~ 1/3 day
ugt = daily * 1.0 # underground sump 1 day + fire reserve separately
print(f"overhead tank {oht/1000:.1f} m3, sump {ugt/1000:.1f} m3 (+ fire reserve)")
# Peak flow with peak factor 3 over 16 h, pipe size at 1.5 m/s
Q = daily / (16 * 3600) * 3 / 1000 # m3/s
d = math.sqrt(4 * Q / (math.pi * 1.5))
print(f"peak flow {Q*1000:.2f} L/s -> main pipe {d*1000:.0f} mm (choose next standard size)")
# Fire egress: exit width for 300 occupants at 50 persons per 500 mm unit (NBC style)
occupants = 300
units = math.ceil(occupants / 50)
print(f"exit width: {units} units of 500 mm = {units*0.5:.1f} m total")
# daily demand 27.0 m3
# overhead tank 9.0 m3, sump 27.0 m3 (+ fire reserve)
# peak flow 1.41 L/s -> main pipe 35 mm (choose next standard size)
# exit width: 6 units of 500 mm = 3.0 m total200 residents at 135 lpcd need 27 m³/day. The main riser carries 1.4 L/s at peak — a 40 mm pipe. Exit capacity is computed in 500 mm units per NBC; actual capacities per unit depend on occupancy type and whether the exit is a stair, ramp or door, and at least two remote exits are usually required.
Common mistakes
- Wrong: No vents on drainage stacks. — Right: Trap seals siphon — sewer gas enters rooms.
- Wrong: Locking or blocking exits. — Right: Exits must remain free and openable in the escape direction.
- Wrong: Unsealed service penetrations in fire walls. — Right: Fire-stop all penetrations.
Applications
- High-rise residential: Zoned water supply and refuge floors.
- Hospitals: Medical gases, hot water, Legionella control.
- Malls & airports: Performance-based fire engineering.
- Green buildings: Water recycling and rainwater harvesting.
Key takeaways
- Demand = population × lpcd; size tanks and pumps.
- d = √(4Q/πv); keep velocities moderate.
- Drain with slopes, traps and vents.
- Passive + active fire protection + safe escape.
Going further
- Hunter's curve: Probabilistic peak demand from fixture units.
- Evacuation modelling: Agent-based egress simulation.
- Smoke control design: Atrium smoke exhaust calculations.