Overview
Calculates maximum demand for commercial and industrial electrical panels per AS/NZS 3000:2018 Appendix C (Tables C2 and C3). Supports two modes: a detailed mode with per-equipment diversity factors applied by load group, and a simple mode using a single user-specified diversity factor. For three-phase supplies the calculator tracks per-phase loading, reports phase imbalance, and selects a standard main switch rating.
Input Parameters
Installation Configuration
| Parameter | Type | Default | Range | Description |
|---|---|---|---|---|
installation_type |
Enum | commercial_industrial | — | Installation type per AS/NZS 3000 Table C2 or C1. Options: residential_institution (col 2), commercial_industrial (col 3), blocks_of_units_2_5, blocks_of_units_6_20, blocks_of_units_21_plus |
supply_type |
Enum | three_phase_400v | — | Electrical supply configuration: single_phase_230v or three_phase_400v |
Load Input Mode
| Parameter | Type | Default | Range | Description |
|---|---|---|---|---|
use_simple_load |
Boolean | false | — | When true, uses a single total load and diversity factor instead of the detailed equipment list |
equipment_list |
JSON string | (see below) | — | JSON array of equipment objects (detailed mode). Each object requires:
load_group, description, phase (A/B/C),
rating_value, rating_unit (W/kW/A/points),
quantity, power_factor.
Optional: duty_cycle (0–100, for resistance welders) |
simple_total_load_w |
Number | 50,000 | 0 – 10,000,000 W | Total connected load in watts (simple mode) |
simple_diversity_factor |
Number | 0.75 | 0.1 – 1.0 | Overall diversity factor (simple mode) |
Additional Parameters
| Parameter | Type | Default | Range | Description |
|---|---|---|---|---|
future_growth_factor |
Number | 1.1 | 1.0 – 2.0 | Multiplier for future load growth allowance |
Voltage & Motor Parameters
| Parameter | Type | Default | Range | Description |
|---|---|---|---|---|
nominal_voltage_1ph |
Number | 230 | 230 / 240 V | Nominal single-phase voltage |
nominal_voltage_3ph |
Number | 400 | 400 / 415 V | Nominal three-phase line-to-line voltage |
motor_power_factor |
Number | 0.86 | 0.5 – 1.0 | Power factor applied to motor loads for VA conversion |
motor_efficiency |
Number | 0.95 | 0.5 – 1.0 | Efficiency applied to motor loads for VA conversion |
Load Groups (Table C2)
Each equipment item references a load_group that determines
which diversity rule is applied. The supported groups are:
| Load Group Key | Code | Name | Column 2 Rule (Residential Inst.) | Column 3 Rule (Commercial/Industrial) |
|---|---|---|---|---|
lighting_general |
a | Lighting, General | 75% connected load | 100% connected load |
socket_10a_general |
bi | Socket 10A, General (No HVAC) | 1000W first + 400W each additional | 1000W first + 750W each additional |
socket_10a_hvac_room |
bii | Socket 10A, General (HVAC Room) | 1000W first + 100W each additional | |
socket_15a_plus |
biii | Socket 15A and larger | Largest 100%, remaining 50% | Largest 100%, remaining 75% |
cooking_range / cooking_other |
ci | Cooking | Largest 100%, remaining 50% | Largest 100%, remaining 75% |
air_conditioner / hw_instantaneous |
ci | Air Conditioning / Instantaneous HW | Largest 100%, remaining 50% | Largest 100%, remaining 75% |
ev_charger |
cii | Electric Vehicle Charger | Largest 100%, remaining 75% | |
motor_general |
d | Motor, General | Largest 100%, remaining 50% | Largest 100%, next 75%, remaining 50% |
motor_lift |
e | Motor, Lift | Largest 125%, next 75%, remaining 50% | |
motor_fuel_dispensing |
fi | Motor, Fuel Dispensing | Largest 100%, next 50%, remaining 25% | |
hw_storage / storage_heater / space_heater / pool_heater |
g | Storage/Space/Pool Heaters, Storage HW | 100% connected load | |
welder_arc |
hi | Welder, Arc | 2 largest 100%, next 85%, next 70%, remaining 60% | |
welder_resistance |
hii | Welder, Resistance | Each welder: rated VA × √(duty_cycle). Set duty_cycle per item (0–100%) |
|
other_equipment / xray_equipment / fuel_dispensing_lights |
fii/i/j | Other / X-Ray / Fuel Dispensing Lights | 100% connected load | |
Output Results
| Output | Unit | Description |
|---|---|---|
total_connected_va |
VA | Sum of all equipment ratings before diversity |
total_diversified_va |
VA | Total after diversity factors and future growth applied |
overall_diversity_factor |
— | Ratio of diversified to connected load (before growth factor) |
max_demand_va |
VA | Final maximum demand including growth factor |
max_demand_a |
A | Maximum demand current (highest loaded phase for 3-phase) |
recommended_main_switch_a |
A | Next standard switch rating ≥ calculated current |
main_switch_utilization_percent |
% | Ratio of demand current to selected switch rating |
phase_a_diversified_va |
VA | Diversified load on Phase A (three-phase only) |
phase_b_diversified_va |
VA | Diversified load on Phase B (three-phase only) |
phase_c_diversified_va |
VA | Diversified load on Phase C (three-phase only) |
phase_imbalance_percent |
% | Phase current imbalance percentage (three-phase only) |
load_groups_summary |
list | Per-group breakdown with connected VA, diversified VA, and diversity factor |
compliant |
Boolean | Calculation validity status |
Formulas
Rating Conversion to VA
Load rated in watts:
\[ S = P \quad (\text{VA}) \]Load rated in kilowatts:
\[ S = P \times 1000 \quad (\text{VA}) \]Load rated in amperes:
\[ S = I \times V \quad (\text{VA}) \]Motor load (W or kW input):
\[ S = \frac{P}{\cos\phi \times \eta} \quad (\text{VA}) \]Where \(\cos\phi\) is the motor power factor and \(\eta\) is the motor efficiency.
Diversity — Lighting (Table C2, Row a)
Column 2 (Residential institutions):
\[ S_{\text{div}} = S_{\text{conn}} \times 0.75 \]Column 3 (Commercial/industrial):
\[ S_{\text{div}} = S_{\text{conn}} \times 1.00 \]Diversity — 10A Socket Outlets (Table C2, Row bi)
Column 2 (Residential institutions):
\[ S_{\text{div}} = 1000 + (n - 1) \times 400 \quad (\text{W}) \]Column 3 (Commercial/industrial):
\[ S_{\text{div}} = 1000 + (n - 1) \times 750 \quad (\text{W}) \]Where \(n\) is the number of socket outlet points.
Diversity — 10A Sockets in HVAC Rooms (Table C2, Row bii)
Diversity — Largest Plus Percentage (Table C2, Row biii/ci)
Applies to socket outlets ≥15A, cooking, air conditioning, and instantaneous hot water.
Column 2:
\[ S_{\text{div}} = S_1 \times 1.00 + \sum_{i=2}^{n} S_i \times 0.50 \]Column 3:
\[ S_{\text{div}} = S_1 \times 1.00 + \sum_{i=2}^{n} S_i \times 0.75 \]Where loads are sorted descending, \(S_1\) is the largest.
Diversity — General Motors (Table C2, Row d)
Column 2:
\[ S_{\text{div}} = S_1 \times 1.00 + \sum_{i=2}^{n} S_i \times 0.50 \]Column 3:
\[ S_{\text{div}} = S_1 \times 1.00 + S_2 \times 0.75 + \sum_{i=3}^{n} S_i \times 0.50 \]Diversity — Lift Motors (Table C2, Row e)
Diversity — EV Chargers (Table C2, Row cii)
Diversity — Fuel Dispensing Motors (Table C2, Row fi)
Diversity — Arc Welders (Table C2, Row hi)
Where loads are sorted descending by rated primary current.
Diversity — Resistance Welders (Table C2, Row hii)
Where \(d_i\) is the duty cycle percentage (0–100%) for each welder and \(q_i\) is the quantity.
Set the duty_cycle field per equipment item (default 100%).
Future Growth
Where \(k_{\text{growth}}\) is the future growth factor (default 1.10).
Maximum Demand Current
Single-phase:
\[ I = \frac{S_{\text{final}}}{V_{1\phi}} \]Three-phase (per-phase method):
\[ I_{\phi} = \frac{S_{\phi,\text{div}}}{V_{1\phi}} \] \[ I_{\text{max}} = \max(I_A,\; I_B,\; I_C) \]Simple mode (three-phase):
\[ I = \frac{S_{\text{final}}}{\sqrt{3} \times V_{3\phi}} \]Phase Imbalance
Main Switch Selection
The standard rating series used is:
25, 32, 40, 50, 63, 80, 100, 125, 160, 200, 250, 315, 400, 500, 630, 800, 1000, 1250, 1600, 2000 A
\[ I_{\text{main}} = \min\{ I_{\text{std}} \;|\; I_{\text{std}} \geq I_{\text{max}} \} \]Worked Examples
The 6 examples below are the validation cases for this calculation. Each one was produced by the calculation engine from the inputs shown, every figure was checked against the independent reference quoted at the end of the example, and the same cases are run against every engine build (see validation scorecard, tool fe_calc_max_demand; worked examples for every calculation).
| # | Case | Method | Demand (kVA) | Current (A) | Main switch / rating (A) | Result |
|---|---|---|---|---|---|---|
| 1 | Residential institution, single phase | Table C2 col. 2, 1φ | 16.10 | 70.00 | 80 | PASS |
| 2 | Commercial premises, three phase | Table C2 col. 3, 3φ | 37.25 | 55.43 (B) | 63 | PASS |
| 3 | Office loads all on one phase, growth 1.1 | Table C2 col. 3, 3φ | 32.45 | 141.09 (A) | 160 | PASS |
| 4 | Three motors, column 3 tiers | Table C2 col. 3, 3φ | 27.69 | 120.40 (C) | 125 | PASS |
| 5 | Hotel (column 2) with lifts and kitchen | Table C2 col. 2, 3φ | 104.03 | 157.23 (B) | 160 | PASS |
| 6 | Fabrication workshop with welders | Table C2 col. 3, 3φ | 61.63 | 99.98 (A) | 100 | PASS |
Example 1 — Residential institution, single phase
Column 2 rules: lighting at 75 % and 10 A sockets at 1000 W for the first point plus 400 W for each further point.
Given: Single-phase 230 V supply, residential institution (column 2), AS/NZS 3000 Table C2. Loads: lighting 10 kW; 10 A socket outlets 20 points.
| Lighting | 10 kW = 10,000 VA × 75 % = 7,500.0 VA |
|---|---|
| 10 A socket outlets | 20 points → 1,000 + (20 − 1) × 400 = 8,600 W |
| Total | S = 7,500.0 + 8,600.0 = 16,100.0 VA = 16,100.0 VA; I = 16,100.0 / 230 = 70.00 A |
| Main switch | next standard rating ≥ 70.00 A → 80 A → 70.00 vs limit 80.00 A PASS |
| Result | 1/1 checks pass → PASS; maximum demand 70.00 A → 80 A main switch; governing: main switch |
| Reference | Hand calculation, AS/NZS 3000:2018 Table C2 column 2: lighting 10 kW × 75 % = 7500 W; 10 A sockets 20 points = 1000 W + 19 × 400 W = 8600 W; total 16 100 VA ÷ 230 V = 70.0 A (validation case c0023-non-domestic-col2-1ph) |
Example 2 — Commercial premises, three phase
Column 3: two air conditioners take the largest in full plus 75 % of the other, and each group's diversity is shared back to phases by connected load.
Given: Three-phase 400/230 V supply, factory, shop or office (column 3), AS/NZS 3000 Table C2. Loads: lighting 4 kW on A; lighting 4 kW on B; lighting 4 kW on C; 10 A socket outlets 10 points on A; air conditioning 10 kW on B; air conditioning 10 kW on C.
| Lighting (A/B/C) | (4 kW + 4 kW + 4 kW) = 12,000 VA × 100 % = 12,000.0 VA |
|---|---|
| 10 A socket outlets (A) | 10 points → 1,000 + (10 − 1) × 750 = 7,750 W |
| Air conditioning (B/C) | largest 100 %, rest 75 %: 10,000.0 × 1 + 10,000.0 × 0.75 = 17,500.0 VA |
| Phase sharing | Group diversity shared back pro rata to connected VA: lighting A 4,000.0 / B 4,000.0 / C 4,000.0; air conditioning B 8,750.0 / C 8,750.0 VA |
| Per phase | A: 4,000.0 + 7,750.0 = 11,750.0 VA ÷ 230 V = 51.09 A; B: 4,000.0 + 8,750.0 = 12,750.0 VA ÷ 230 V = 55.43 A; C: 4,000.0 + 8,750.0 = 12,750.0 VA ÷ 230 V = 55.43 A → maximum demand = phase B, 55.43 A |
| Total | S = Σ phases = 37,250.0 VA (37.250 kVA) |
| Main switch | next standard rating ≥ 55.43 A → 63 A → 55.43 vs limit 63.00 A PASS |
| Phase imbalance | (55.43 − 51.09) / 55.43 × 100 (informative; the component warns above 20 %) → 7.8 vs limit 20.0 % INFO |
| Result | 1/1 checks pass → PASS; maximum demand 55.43 A (B) → 63 A main switch; governing: main switch |
| Reference | Hand calculation, AS/NZS 3000:2018 Table C2 column 3: lighting 12 kW at 100 %; 10 A sockets 10 points = 1000 W + 9 × 750 W = 7750 W (phase A); air conditioners largest 10 kW at 100 % + 10 kW at 75 % = 17.5 kW shared B/C; A = 4000 + 7750 = 11 750 VA = 51.09 A; B = C = 4000 + 8750 = 12 750 VA = 55.43 A at 230 V (validation case c0023-non-domestic-col3-3ph) |
Example 3 — Office loads all on one phase, growth 1.1
Column 3 counts lighting in full and sockets at 1000 W + 750 W per extra point; with everything on phase A the imbalance warning fires.
Given: Three-phase 400/230 V supply, factory, shop or office (column 3), AS/NZS 3000 Table C2. Loads: lighting 6,000 W on A; 10 A socket outlets 15 points on A; air conditioning 12,000 W on A. Growth factor 1.1.
| Lighting (A) | 6,000 W = 6,000 VA × 100 % = 6,000.0 VA |
|---|---|
| 10 A socket outlets (A) | 15 points → 1,000 + (15 − 1) × 750 = 11,500 W |
| Air conditioning (A) | largest 100 %, rest 75 %: 12,000.0 × 1 = 12,000.0 VA |
| Per phase | A: 6,000.0 + 11,500.0 + 12,000.0 = 29,500.0 VA × 1.1 = 32,450.0 VA ÷ 230 V = 141.09 A; B: no load, 0 A; C: no load, 0 A → maximum demand = phase A, 141.09 A |
| Total | S = Σ phases = 32,450.0 VA (32.450 kVA) |
| Main switch | next standard rating ≥ 141.09 A → 160 A → 141.09 vs limit 160.00 A PASS |
| Phase imbalance | (141.09 − 0.00) / 141.09 × 100 (informative; the component warns above 20 %) → 100.0 vs limit 20.0 % INFO |
| Result | 1/1 checks pass → PASS; maximum demand 141.09 A (A) → 160 A main switch; governing: main switch. Phase imbalance is high (100.0%) |
| Reference | Hand calculation, AS/NZS 3000:2018 Table C2 column 3: lighting 6 000 W × 100 % = 6 000 VA; 10 A sockets 15 points = 1 000 + 14 × 750 = 11 500 W; one air conditioner 12 000 W at 100 %; 29 500 VA × 1.10 = 32 450 VA, all on phase A: 32 450 ÷ 230 = 141.09 A → 160 A main switch; phases B and C carry nothing, imbalance 100 %. (Former hand-written help-page Example 1.) (validation case c0023-non-domestic-office-one-phase-loaded) |
Example 4 — Three motors, column 3 tiers
Column 3 motors: largest 100 %, next 75 %, remainder 50 %, after converting kW to VA with pf 0.86 and η 0.95.
Given: Three-phase 400/230 V supply, factory, shop or office (column 3), AS/NZS 3000 Table C2. Loads: motors 15 kW (Motor 1) on C; motors 7.5 kW (Motor 2) on C; motors 4 kW (Motor 3) on C. Motor pf 0.86, η 0.95.
| Motors (C) | S = P/(0.86 × 0.95); largest 100 %, next 75 %, rest 50 %: 18,359.9 × 1 + 9,179.9 × 0.75 + 4,896.0 × 0.5 = 27,692.8 VA |
|---|---|
| Per phase | A: no load, 0 A; B: no load, 0 A; C: 27,692.8 VA ÷ 230 V = 120.40 A → maximum demand = phase C, 120.40 A |
| Total | S = Σ phases = 27,692.8 VA (27.693 kVA) |
| Main switch | next standard rating ≥ 120.40 A → 125 A → 120.40 vs limit 125.00 A PASS |
| Phase imbalance | (120.40 − 0.00) / 120.40 × 100 (informative; the component warns above 20 %) → 100.0 vs limit 20.0 % INFO |
| Result | 1/1 checks pass → PASS; maximum demand 120.40 A (C) → 125 A main switch; governing: main switch. Phase imbalance is high (100.0%) |
| Reference | Hand calculation, AS/NZS 3000:2018 Table C2 column 3 row D: S = P/(0.86 × 0.95 = 0.817): 15 kW → 18 359.85 VA, 7.5 kW → 9 179.93 VA, 4 kW → 4 895.96 VA; 18 359.85 × 1.00 + 9 179.93 × 0.75 + 4 895.96 × 0.50 = 27 692.78 VA on phase C ÷ 230 = 120.40 A → 125 A. (Former hand-written help-page Example 3.) (validation case c0023-non-domestic-motors-col3) |
Example 5 — Hotel (column 2) with lifts and kitchen
Column 2: lighting at 75 %, sockets at 1000 W + 400 W per extra point, lifts at 125 % / 75 %, ranges largest + 50 %; diversity shared back to phases by connected load.
Given: Three-phase 400/230 V supply, residential institution (column 2), AS/NZS 3000 Table C2. Loads: lighting 6 kW on A; lighting 6 kW on B; lighting 6 kW on C; 10 A socket outlets 20 points on A; 10 A socket outlets 20 points on B; 10 A socket outlets 20 points on C; lift motors 11 kW (Lift 1) on A; lift motors 11 kW (Lift 2) on B; ranges 3 × 10 kW (Kitchen ranges) on C; storage water heating 9 kW on A; storage water heating 10 kW on B. Motor pf 0.86, η 0.95; supply rating 200 A.
| Lighting (A/B/C) | (6 kW + 6 kW + 6 kW) = 18,000 VA × 75 % = 13,500.0 VA |
|---|---|
| 10 A socket outlets (A/B/C) | 60 points → 1,000 + (60 − 1) × 400 = 24,600 W |
| Lift motors (A/B) | S = P/(0.86 × 0.95); largest 125 %, next 75 %, rest 50 %: 13,463.9 × 1.25 + 13,463.9 × 0.75 = 26,927.8 VA |
| Ranges (C) | largest 100 %, rest 50 %: 10,000.0 × 1 + 10,000.0 × 0.5 + 10,000.0 × 0.5 = 20,000.0 VA |
| Storage water heating (A/B) | (9 kW + 10 kW) = 19,000 VA × 100 % = 19,000.0 VA |
| Phase sharing | Group diversity shared back pro rata to connected VA: lighting A 4,500.0 / B 4,500.0 / C 4,500.0; 10 A socket outlets A 8,200.0 / B 8,200.0 / C 8,200.0; lift motors A 13,463.9 / B 13,463.9; storage water heating A 9,000.0 / B 10,000.0 VA |
| Per phase | A: 4,500.0 + 8,200.0 + 13,463.9 + 9,000.0 = 35,163.9 VA ÷ 230 V = 152.89 A; B: 4,500.0 + 8,200.0 + 13,463.9 + 10,000.0 = 36,163.9 VA ÷ 230 V = 157.23 A; C: 4,500.0 + 8,200.0 + 20,000.0 = 32,700.0 VA ÷ 230 V = 142.17 A → maximum demand = phase B, 157.23 A |
| Total | S = Σ phases = 104,027.8 VA (104.028 kVA) |
| Main switch | next standard rating ≥ 157.23 A → 160 A → 157.23 vs limit 160.00 A PASS |
| Supply rating | I = 157.23 A against the given supply rating → 157.23 vs limit 200.00 A PASS |
| Phase imbalance | (157.23 − 142.17) / 157.23 × 100 (informative; the component warns above 20 %) → 9.6 vs limit 20.0 % INFO |
| Result | 2/2 checks pass → PASS; maximum demand 157.23 A (B) → 160 A main switch; governing: supply rating |
| Reference | Hand calculation, AS/NZS 3000:2018 Table C2 column 2 at 230 V: lighting 18 kW × 75 % = 13 500 VA (4 500 per phase); 10 A sockets 60 points = 1 000 + 59 × 400 = 24 600 W (8 200 per phase); lifts 11 000/0.817 = 13 463.89 VA each → 13 463.89 × 1.25 + 13 463.89 × 0.75 = 26 927.78 VA (half to A, half to B); ranges 3 × 10 kW → 10 000 + 2 × 5 000 = 20 000 VA (C); storage HW 9 kW (A) and 10 kW (B) at 100 %. A = 4 500 + 8 200 + 13 463.89 + 9 000 = 35 163.89 VA = 152.89 A; B = 36 163.89 VA = 157.23 A; C = 32 700 VA = 142.17 A → 160 A main switch, 200 A supply passes. (validation case c0023-non-domestic-hotel-col2) |
Example 6 — Fabrication workshop with welders
Arc welders take 100/100/85/70/60 %, a resistance welder its rating × √duty cycle, plant-room sockets 1000 W + 100 W per point; each group is shared back to phases by connected load.
Given: Three-phase 400/230 V supply, factory, shop or office (column 3), AS/NZS 3000 Table C2. Loads: lighting 3 kW on A; lighting 3 kW on B; lighting 3 kW on C; arc welders 2 × 32 A × 230 V (MIG 1-2) on A; arc welders 32 A × 230 V (MIG 3) on B; arc welders 25 A × 230 V (Stick welder) on B; arc welders 32 A × 230 V (MIG 4) on C; resistance welders 80 A × 230 V (Spot welder) at 25 % duty on C; 10 A sockets, plant rooms 12 points on A; motors 5.5 kW (Compressor) on A; motors 4 kW (Saw) on B; motors 2.2 kW (Drill) on C. Motor pf 0.86, η 0.95; supply rating 160 A.
| Lighting (A/B/C) | (3 kW + 3 kW + 3 kW) = 9,000 VA × 100 % = 9,000.0 VA |
|---|---|
| Arc welders (A/B/C) | two largest 100 %, then 85 %, 70 %, rest 60 %: 7,360.0 × 1 + 7,360.0 × 1 + 7,360.0 × 0.85 + 7,360.0 × 0.7 + 5,750.0 × 0.6 = 29,578.0 VA |
| Resistance welders (C) | Seff = S × √(duty): 80 A × 230 V × √(25/100) = 9,200.0 VA |
| 10 A sockets, plant rooms (A) | 12 points → 1,000 + (12 − 1) × 100 = 2,100 W |
| Motors (A/B/C) | S = P/(0.86 × 0.95); largest 100 %, next 75 %, rest 50 %: 6,731.9 × 1 + 4,896.0 × 0.75 + 2,692.8 × 0.5 = 11,750.3 VA |
| Phase sharing | Group diversity shared back pro rata to connected VA: lighting A 3,000.0 / B 3,000.0 / C 3,000.0; arc welders A 12,372.5 / B 11,019.3 / C 6,186.2; motors A 5,523.6 / B 4,017.2 / C 2,209.5 VA |
| Per phase | A: 3,000.0 + 12,372.5 + 2,100.0 + 5,523.6 = 22,996.1 VA ÷ 230 V = 99.98 A; B: 3,000.0 + 11,019.3 + 4,017.2 = 18,036.5 VA ÷ 230 V = 78.42 A; C: 3,000.0 + 6,186.2 + 9,200.0 + 2,209.5 = 20,595.7 VA ÷ 230 V = 89.55 A → maximum demand = phase A, 99.98 A |
| Total | S = Σ phases = 61,628.3 VA (61.628 kVA) |
| Main switch | next standard rating ≥ 99.98 A → 100 A → 99.98 vs limit 100.00 A PASS |
| Supply rating | I = 99.98 A against the given supply rating → 99.98 vs limit 160.00 A PASS |
| Phase imbalance | (99.98 − 78.42) / 99.98 × 100 (informative; the component warns above 20 %) → 21.6 vs limit 20.0 % INFO |
| Result | 2/2 checks pass → PASS; maximum demand 99.98 A (A) → 100 A main switch; governing: supply rating. Phase imbalance is high (21.6%) |
| Reference | Hand calculation, AS/NZS 3000:2018 Table C2 column 3 at 230 V: arc welders 4 × 32 A (7 360 VA) + 25 A (5 750 VA) → 7 360 × (1 + 1 + 0.85 + 0.70) + 5 750 × 0.60 = 29 578.00 VA of 35 190 VA connected; spot welder 80 A × 230 × √0.25 = 9 200 VA; plant-room sockets 12 points = 1 000 + 11 × 100 = 2 100 W; motors (5 500 + 0.75 × 4 000 + 0.5 × 2 200)/0.817 = 11 750.31 VA; lighting 3 kW per phase at 100 %. Shared pro rata: welders A 14 720/35 190, B 13 110/35 190, C 7 360/35 190; motors by kW 5.5/4/2.2 of 11.7. A 99.98 A, B 78.42 A, C 89.55 A → maximum A 99.98 A, 100 A main switch; 160 A supply passes. (validation case c0023-non-domestic-workshop-welders) |
Standards & References
- AS/NZS 3000:2018 — Electrical installations (known as the Wiring Rules)
- Appendix C — Maximum demand assessment
- Table C1 — Diversity for blocks of units (residential)
- Table C2 (Column 2) — Diversity for residential institutions, hotels, hospitals, boarding houses
- Table C2 (Column 3) — Diversity for factories, shops, offices, schools, churches
- Table C3 — Energy-demand method (alternative)
- AS/NZS 3008.1.1:2017 — Cable selection (for downstream cable sizing)
Tips & Limitations
Tips
- Distribute loads evenly across phases to minimise imbalance — aim for <10% imbalance.
- The future growth factor of 1.10 (10%) is a common allowance. Increase for installations where expansion is planned.
- 10A socket outlets are entered as points, not watts. The diversity rule is point-count based, not load based.
- For motor loads, the calculator automatically converts from kW to VA using the specified power factor and efficiency.
- Use the detailed mode for formal design submissions — the simple mode is intended for preliminary estimates only.
- Column 2 (residential institution) applies more aggressive diversity than Column 3 (commercial/industrial) for most load groups.
Limitations
- Appendix C only — Table C2/C3 diversity factors are for guidance. The local distribution network service provider (DNSP) may impose different requirements.
- Arc welders — Implemented per Table C2 row hi (2 largest 100%, next 85%, next 70%, remaining 60% of rated primary current).
- Resistance welders — Implemented using
sqrt(duty_cycle) method per Table C2 row hii. Set the
duty_cyclefield (0–100%) on each equipment item. - No harmonic derating — The calculation does not apply neutral harmonic derating for non-linear loads (e.g., LED lighting, VFDs).
- Phase assignment is manual — The calculator does not automatically balance loads across phases. Three-phase loads should be split manually by the user.
- Blocks of units — Table C1 diversity factors are loaded from the database (webcalcs StandardTable system). The factors must be populated via admin before blocks-of-units calculations will apply additional diversity beyond Table C2 base rules. A warning is shown when table data is missing.
- Large loads over 200 A should be coordinated with the DNSP for supply upgrade and metering requirements.
Developer Guide
Architecture
File layout:
components/c0023_commercial_panel/component.py— Component registration, parameter schema,LOAD_GROUPS_C2definitions, SVG generators, summary cards buildercomponents/c0023_commercial_panel/calculations.py— Pure calculation functions and diversity logic (no Django dependencies)components/c0023_commercial_panel/equations.py— LaTeX equation builder for step-by-step outputcomponents/c0023_commercial_panel/excel_generator.py— Excel export for panel schedule
The calculator class is CommercialPanelCalculator
(extends ElectricalCalculator). It delegates to the pure
function calculate_commercial_panel_demand() in
calculations.py.
Key data structures:
LOAD_GROUPS_C2— dict mapping load group keys to metadata (code, name, description, diversity rules)- Equipment list items — JSON objects with fields:
load_group,description,phase,rating_value,rating_unit,quantity,power_factor - Results dict — flat dictionary with per-phase totals,
overall demand, and
load_groups_summarylist
Code Paths
Key functions in calculations.py:
| Function | Purpose |
|---|---|
calculate_commercial_panel_demand(data) |
Main entry point — orchestrates simple or detailed calculation |
convert_rating_to_va(rating_value, rating_unit, voltage) |
Convert equipment ratings (W, kW, A, points) to VA |
apply_diversity_lighting_c2(loads, voltage, inst_type) |
Table C2 row a — 75%/100% lighting diversity |
apply_diversity_socket_10a_general(loads, voltage, inst_type) |
Table C2 row bi — 10A socket point-based diversity |
apply_diversity_socket_10a_hvac(loads, voltage) |
Table C2 row bii — HVAC room socket diversity |
apply_diversity_largest_plus_percentage(loads, voltage, inst_type) |
Generic largest 100% + remaining X% pattern (rows biii, ci) |
apply_diversity_motors_general_c2(loads, voltage, inst_type, pf, eff) |
Table C2 row d — general motor three-tier diversity |
apply_diversity_motors_lift(loads, voltage, pf, eff) |
Table C2 row e — lift motor diversity (125%/75%/50%) |
apply_diversity_ev_chargers(loads, voltage) |
Table C2 row cii — EV charger diversity |
apply_diversity_fuel_dispensing_motors(loads, voltage, pf, eff) |
Table C2 row fi — fuel dispensing motor diversity (100/50/25%) |
apply_diversity_welder_arc(loads, voltage) |
Table C2 row hi — arc welder diversity (100/100/85/70/60%) |
apply_diversity_welder_resistance(loads, voltage) |
Table C2 row hii — resistance welder sqrt(duty_cycle) method |
get_table_c1_diversity(block_tier, load_group) |
Look up Table C1 diversity factor from DB |
calculate_diversity_for_load_group_c2(load_group, loads, ...) |
Dispatcher — routes to the correct diversity function by load group |
select_standard_main_switch_rating(current_a) |
Select next standard switch rating from series |
Key functions in component.py:
| Function | Purpose |
|---|---|
build_summary_cards(results) |
Build summary card data (max demand, load summary, phase balance) |
generate_load_breakdown_svg(params, results) |
SVG pie chart of diversified load by group |
generate_phase_balance_svg(params, results) |
SVG bar chart of three-phase loading with imbalance indicator |
register_component(registry) |
Register calc type, schema, SVG generators, and builders |
Testing
Running tests:
pytest calcs/test_c0023_commercial.py -v
Worked examples: the examples above are generated from the validation corpus
(mcp_public/validation/cases/fe_calc_max_demand/) by
python manage.py generate_help_examples --tool fe_calc_max_demand, which writes
_commercial_panel_examples.html. Add or change a case there, then regenerate; the
fragment is never edited by hand.
How to extend:
- Add new load groups by extending the
LOAD_GROUPS_C2dict incomponent.pyand adding a corresponding diversity function or branch incalculate_diversity_for_load_group_c2(). - To implement Table C1 (blocks of units) diversity, add dedicated
functions in
calculations.pyand route via theinstallation_typeparameter. - Add new standard switch ratings by extending the
standard_ratingslist inselect_standard_main_switch_rating(). - For welder diversity (rows hi/hii), implement duty-cycle-based calculation and add test cases covering the rated primary current method.
- Write tests covering each diversity rule with known inputs and expected outputs from AS/NZS 3000 Table C2.