# Plumbing Fixture Units MCP

> Plumbing Fixture Units Calculator determines Drainage and Water Supply Fixture Unit (DFU/WSFU) loads for rooms, aggregates these totals across an entire building, and calculates the precise minimum pipe diameter needed to pass those cumulative loads according to IPC/UPCA standards.

## Overview
- **Category:** construction
- **Price:** Free
- **Tags:** plumbing, ipc, upc, dfu, wsfu, pipe-sizing

## Description

You calculate plumbing loads using standardized engineering metrics. Start by determining the combined drainage and water supply units for each individual room based on its fixtures—like toilets, sinks, or showers. Next, you sum up these room totals to figure out the full building load. Finally, the system takes that total load and calculates the smallest pipe diameter required for both vertical stacks and horizontal branches to safely handle the flow. It makes sure your plumbing design meets code standards without guesswork. This capability is one of the core services Vinkius provides in its catalog, giving you access to specialized engineering tools right where you need them.

## Tools

### aggregate_building_implements
Calculates the total cumulative load for an entire building by summing multiple rooms' loads.

### calculate_room_fixture_load
Determines the combined drainage and water supply loads for a single room based on its fixtures.

### estimate_minimum_pipe_diameter
Finds the smallest required pipe diameter that can safely handle a specified cumulative load.

## Prompt Examples

**Prompt:** 
```
Calculate the plumbing load for a bathroom with 1 toilet and 1 sink.
```

**Response:** 
```
The total load for the bathroom is 4 DFU and 2 WSFU.
```

**Prompt:** 
```
What is the minimum pipe diameter needed for a branch line with a load of 5 DFU?
```

**Response:** 
```
The minimum required diameter for a horizontal branch with 5 DFU is 2 inches.
```

**Prompt:** 
```
Aggregate the loads from two rooms: Room A (3 DFU, 2 WSFU) and Room B (5 DFU, 4 WSFU).
```

**Response:** 
```
The total building load is 8 DFU and 6 WSFU.
```

## Capabilities

### Calculate single-room fixture loads
Determines the combined DFU and WSFU for a specific space based on installed fixtures.

### Aggregate total building load
Sums up the calculated loads from multiple rooms to find the overall facility demand.

### Determine minimum pipe diameter
Calculates the smallest required pipe size that can safely manage a specific drainage or water supply flow rate.

## Use Cases

### Designing a multi-unit residential building
A designer needs to know the total plumbing capacity for 10 identical apartments. They use `calculate_room_fixture_load` on one unit, then feed that output into `aggregate_building_implements` ten times (or once, if possible) before running the final figure through `estimate_minimum_pipe_diameter`.

### Retrofitting a commercial space
The existing building has fixtures that were never designed for modern load standards. The engineer must use `calculate_room_fixture_load` to find the current, precise DFU/WSFU loads and then compare them against what the old pipes can handle.

### Checking a single bathroom layout
A contractor needs quick confirmation on fixture loads. They run `calculate_room_fixture_load` with just the sink and toilet count to get immediate DFU/WSFU totals for that specific room.

### Sizing main building risers
The project manager needs a final pipe size for the vertical stack. They must first use `aggregate_building_implements` on all floors, and then run the total output into `estimate_minimum_pipe_diameter` to get the definitive answer.

## Benefits

- Use the `calculate_room_fixture_load` tool to nail down DFU and WSFU totals for any single space, eliminating guesswork about fixture contributions.
- The `aggregate_building_implements` tool handles the big picture. It takes individual room calculations and sums them up to get a reliable total building load figure.
- Stop guessing pipe size. Use `estimate_minimum_pipe_diameter` to guarantee your pipes are sized correctly for any calculated cumulative load, preventing failure on site.
- The system forces you through the necessary calculation steps (room load -> building load -> minimum diameter), ensuring code adherence at every turn.
- By validating these calculations upfront, you drastically cut down on costly change orders and re-engineering time during construction.

## How It Works

The bottom line is you move from fixture count, to room load, to final pipe size in three clear steps.

1. Calculate the fixture load for each room individually using its fixtures and quantities.
2. Sum all these individual loads across every room to establish the total building load.
3. Feed that cumulative load into the pipe sizing tool to get the minimum required diameter for your pipes.

## Frequently Asked Questions

**How do I use calculate_room_fixture_load for a single bathroom?**
Input the specific fixture types and quantities (toilets, sinks) into `calculate_room_fixture_load`. It returns the combined DFU and WSFU totals for that room.

**Can I use aggregate_building_implements if my rooms are already calculated?**
Yes. If you have run `calculate_room_fixture_load` on several separate rooms, you feed those individual results into `aggregate_building_implements` to get the building total.

**What happens after I use aggregate_building_implements?**
You get the sum of all room loads across the entire structure. This combined load is what you must then pass to `estimate_minimum_pipe_diameter` to size your main pipes.

**Does estimate_minimum_pipe_diameter account for both DFU and WSFU?**
Yes, the tool considers the overall cumulative load derived from both drainage (DFU) and water supply (WSFU) requirements when determining the minimum required pipe size.

**If I use `calculate_room_fixture_load` and include an invalid or non-standard fixture, how should I handle the input?**
The tool throws a validation error for unrecognized fixtures. Before running, always confirm that your fixture type and model are listed in the current IPC/UPCA code tables to ensure accurate loads.

**When using `aggregate_building_implements`, do I need to provide both DFU and WSFU values for every room?**
Yes, you must supply separate data arrays containing the calculated Drainage Fixture Units (DFU) loads and Water Supply Fixture Units (WSFU) loads for each room listed.

**Does `estimate_minimum_pipe_diameter` allow me to specify pipe material types?**
Yes, the tool requires you to define the pipe material (e.g., PVC or cast iron). This is critical because different materials have varying load thresholds and standards.

**If my calculated building load using `aggregate_building_implements` results in zero units, what does the system recommend?**
The tool will return a total load of 0 DFU/WSFU. In this case, you should manually check local plumbing codes for minimum required drain sizes, as the calculation alone won't size the pipe.