Overview
The CB Overload Protection Coordination calculator verifies that a circuit breaker and cable combination satisfies the two overload protection conditions specified in AS/NZS 3000 Clause 2.5.3 (IEC 60364-4-43 Clause 433.1). This ensures that cables are protected from sustained overloads that could cause thermal damage to insulation.
The calculator provides:
- Two-condition coordination check — verifies both Condition 2.1 and Condition 2.2
- Circuit breaker size/setting matrix — shows all valid CB frame size and thermal setting combinations
- Cable selection matrix — evaluates all cable sizes against the selected CB
- MCB curve recommendation — suggests B, C, or D curve based on load type
Input Parameters
| Parameter | Type | Default | Range | Description |
|---|---|---|---|---|
load_current |
Number | 45 A | 0.1 – 10000 | Design current (IB) — the current for which the circuit is designed |
load_type |
Enum | general | resistive / general / inductive | Determines recommended MCB curve type (B / C / D) |
cb_frame_size |
Number | 63 A | 6 – 800 | Nominal rated current of the circuit breaker frame (IN) |
thermal_setting |
Number | 1.00 | 0.40 – 1.00 | Thermal current setting as a multiplier of the frame size. Effective IN = frame × setting |
cable_size |
Number | 16 mm² | 1 – 500 | Conductor cross-sectional area. Current ratings per AS/NZS 3008.1 |
parallel_cables |
Integer | 1 | 1 – 6 | Number of identical cables run in parallel per phase |
derating_factor |
Number | 0.87 | 0.1 – 1.0 | Combined derating factor for installation conditions (grouping, temperature, etc.) |
Output Results
| Output | Symbol | Unit | Description |
|---|---|---|---|
| Effective IN | INeff | A | CB frame size × thermal setting |
| Cable Capacity | Iz | A | Base rating × derating factor × parallel cables |
| Operating Current | I2 | A | 1.45 × INeff — conventional operating current for CBs |
| Maximum I2 | 1.45 × Iz | A | Maximum allowable operating current |
| Condition 2.1 | — | PASS / FAIL | IB ≤ IN ≤ Iz |
| Condition 2.2 | — | PASS / FAIL | I2 ≤ 1.45 × Iz |
| Overall Result | — | PASS / FAIL | Both conditions must pass |
| Curve Recommendation | — | B / C / D | Recommended MCB curve based on load type |
Formulas
Condition 2.1 — Current Coordination
The protective device must be rated at or above the design current, but not exceed the cable capacity:
IB ≤ IN ≤ Iz
Where:
- IB = Design current (maximum demand of the circuit)
- IN = Nominal current of the protective device (effective: frame × thermal setting)
- Iz = Current-carrying capacity of the conductor (base rating × derating × parallel count)
Condition 2.2 — Operating Current Limit
The conventional operating current must not exceed 1.45 times the cable capacity:
I2 ≤ 1.45 × Iz
For circuit breakers, I2 = 1.45 × IN. Substituting:
1.45 × IN ≤ 1.45 × Iz → IN ≤ Iz
Note: For circuit breakers, Condition 2.2 simplifies to IN ≤ Iz, which is already part of Condition 2.1. However, both are checked independently for completeness and to support future extension to fuses (where I2 ≠ 1.45 × IN).
Worked Examples
The 8 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_protection; worked examples for every calculation).
| # | Case | IB (A) | In (A) | Iz (A) | I2 / 1.45 Iz (A) | Curve | Result |
|---|---|---|---|---|---|---|---|
| 1 | 45 A load, 50 A breaker on 25 mm² XLPE | 45 | 50.0 | 103.53 | 72.5 / 150.1 | C | PASS |
| 2 | 63 A frame turned down to 0.8 on 16 mm² | 45 | 50.4 | 62.64 | 73.1 / 90.8 | C | PASS |
| 3 | 63 A frame at full setting on 16 mm² fails | 45 | 63.0 | 62.64 | 91.3 / 90.8 | C | FAIL |
| 4 | Load above the breaker rating (resistive, B curve) | 70 | 63.0 | 103.53 | 91.3 / 150.1 | B | FAIL |
| 5 | Boundary: Ib equal to In on 10 mm² | 50 | 50.0 | 51.30 | 72.5 / 74.4 | C | PASS |
| 6 | 160 A frame at 0.63 on derated 35 mm² | 95 | 100.8 | 102.90 | 146.2 / 149.2 | C | PASS |
| 7 | Heavy derating 0.6 on 35 mm² fails | 80 | 100.0 | 88.20 | 145.0 / 127.9 | C | FAIL |
| 8 | 400 A breaker on 2 × 120 mm² in parallel (motor, D curve) | 380 | 400.0 | 528.00 | 580.0 / 765.6 | D | PASS |
Example 1 — 45 A load, 50 A breaker on 25 mm² XLPE
The default 0.87 derating on a 25 mm² XLPE cable leaves ample margin above a 50 A breaker.
Given: Design current IB = 45 A (general load); 50 A circuit breaker at thermal setting 1; 1 × 25 mm² copper multicore cable, installation derating 0.87.
| Device current | In = rating × setting = 50 × 1 = 50.00 A |
|---|---|
| Cable capacity | Tabulated rating for 25 mm² XLPE multicore Cu in air = 119 A; Iz = 119 × 0.87 × 1 = 103.53 A |
| Operating current | I2 = 1.45 × In = 1.45 × 50.00 = 72.50 A (circuit-breaker conventional tripping current); limit 1.45 × Iz = 1.45 × 103.53 = 150.12 A |
| Ib ≤ In | Device rated for the design current: IB vs In → 45.00 vs limit 50.00 A PASS |
| In ≤ Iz | Device no larger than the cable rating: In vs Iz → 50.00 vs limit 103.53 A PASS |
| I2 ≤ 1.45 Iz | Device operates before 1.45 × the cable rating: I2 vs 1.45 Iz → 72.50 vs limit 150.12 A PASS |
| MCB curve | General load → type C (AS/NZS 60898.1 instantaneous band 5–10 × In = 250.0–500.0 A) |
| Alternatives | smallest cable with Iz ≥ 50.00 A at this derating: 16 mm²; largest rating × setting with IB ≤ In ≤ 103.53 A on this cable: 100.8 A |
| Result | 3/3 checks pass → PASS; IB 45 A, In 50.0 A, Iz 103.53 A; governing: ib le in |
| Reference | Hand calculation (AS/NZS 3000 cl 2.5.3 / IEC 60364-4-43 cl 433.1): In = 50 × 1 = 50 A; Iz = 119 A (component table, 25 mm²) × 0.87 × 1 = 103.53 A; Ib 45 ≤ In 50; In 50 ≤ Iz 103.53; I2 = 1.45 × 50 = 72.50 A ≤ 1.45 Iz = 150.12 A; curve C (AS/NZS 60898.1 instantaneous 250–500 A); smallest table size with Iz ≥ 50 A is 16 mm² (validation case c0033-45a-50a-25mm2-passes) |
Example 2 — 63 A frame turned down to 0.8 on 16 mm²
An adjustable thermal setting (63 × 0.8 = 50.4 A) brings the breaker inside a 16 mm² cable's rating.
Given: Design current IB = 45 A (general load); 63 A circuit breaker at thermal setting 0.8; 1 × 16 mm² copper multicore cable, installation derating 0.87.
| Device current | In = rating × setting = 63 × 0.8 = 50.40 A |
|---|---|
| Cable capacity | Tabulated rating for 16 mm² PVC multicore Cu in air = 72 A; Iz = 72 × 0.87 × 1 = 62.64 A |
| Operating current | I2 = 1.45 × In = 1.45 × 50.40 = 73.08 A (circuit-breaker conventional tripping current); limit 1.45 × Iz = 1.45 × 62.64 = 90.83 A |
| Ib ≤ In | Device rated for the design current: IB vs In → 45.00 vs limit 50.40 A PASS |
| In ≤ Iz | Device no larger than the cable rating: In vs Iz → 50.40 vs limit 62.64 A PASS |
| I2 ≤ 1.45 Iz | Device operates before 1.45 × the cable rating: I2 vs 1.45 Iz → 73.08 vs limit 90.83 A PASS |
| MCB curve | General load → type C (AS/NZS 60898.1 instantaneous band 5–10 × In = 252.0–504.0 A) |
| Alternatives | smallest cable with Iz ≥ 50.40 A at this derating: 16 mm²; largest rating × setting with IB ≤ In ≤ 62.64 A on this cable: 62.5 A |
| Result | 3/3 checks pass → PASS; IB 45 A, In 50.4 A, Iz 62.64 A; governing: ib le in |
| Reference | Hand calculation (AS/NZS 3000 cl 2.5.3 / IEC 60364-4-43 cl 433.1): In = 63 × 0.8 = 50.4 A; Iz = 72 A (component table, 16 mm²) × 0.87 × 1 = 62.64 A; Ib 45 ≤ In 50.4; In 50.4 ≤ Iz 62.64; I2 = 1.45 × 50.4 = 73.08 A ≤ 1.45 Iz = 90.83 A; curve C (AS/NZS 60898.1 instantaneous 252–504 A); smallest table size with Iz ≥ 50.4 A is 16 mm² (validation case c0033-63a-setting-0-8-16mm2-passes) |
Example 3 — 63 A frame at full setting on 16 mm² fails
The same circuit with the setting left at 1.0: In = 63 A exceeds Iz = 62.64 A, so both In ≤ Iz and I2 ≤ 1.45 Iz fail.
Given: Design current IB = 45 A (general load); 63 A circuit breaker at thermal setting 1; 1 × 16 mm² copper multicore cable, installation derating 0.87.
| Device current | In = rating × setting = 63 × 1 = 63.00 A |
|---|---|
| Cable capacity | Tabulated rating for 16 mm² PVC multicore Cu in air = 72 A; Iz = 72 × 0.87 × 1 = 62.64 A |
| Operating current | I2 = 1.45 × In = 1.45 × 63.00 = 91.35 A (circuit-breaker conventional tripping current); limit 1.45 × Iz = 1.45 × 62.64 = 90.83 A |
| Ib ≤ In | Device rated for the design current: IB vs In → 45.00 vs limit 63.00 A PASS |
| In ≤ Iz | Device no larger than the cable rating: In vs Iz → 63.00 vs limit 62.64 A FAIL |
| I2 ≤ 1.45 Iz | Device operates before 1.45 × the cable rating: I2 vs 1.45 Iz → 91.35 vs limit 90.83 A FAIL |
| MCB curve | General load → type C (AS/NZS 60898.1 instantaneous band 5–10 × In = 315.0–630.0 A) |
| Alternatives | smallest cable with Iz ≥ 63.00 A at this derating: 25 mm²; largest rating × setting with IB ≤ In ≤ 62.64 A on this cable: 62.5 A |
| Result | 1/3 checks pass → FAIL; IB 45 A, In 63.0 A, Iz 62.64 A; governing: in le iz. Reduce circuit breaker setting or increase cable size. The circuit breaker operating current exceeds cable protection limit. Consider a larger cable or smaller breaker. |
| Reference | Hand calculation (AS/NZS 3000 cl 2.5.3 / IEC 60364-4-43 cl 433.1): In = 63 × 1 = 63 A; Iz = 72 A (component table, 16 mm²) × 0.87 × 1 = 62.64 A; Ib 45 ≤ In 63; In 63 > Iz 62.64; I2 = 1.45 × 63 = 91.35 A > 1.45 Iz = 90.83 A; curve C (AS/NZS 60898.1 instantaneous 315–630 A); smallest table size with Iz ≥ 63 A is 25 mm² (validation case c0033-45a-63a-16mm2-fails) |
Example 4 — Load above the breaker rating (resistive, B curve)
A 70 A heating load on a 63 A breaker fails Ib ≤ In even though the 25 mm² cable is ample; B-curve band for resistive load.
Given: Design current IB = 70 A (resistive load); 63 A circuit breaker at thermal setting 1; 1 × 25 mm² copper multicore cable, installation derating 0.87.
| Device current | In = rating × setting = 63 × 1 = 63.00 A |
|---|---|
| Cable capacity | Tabulated rating for 25 mm² XLPE multicore Cu in air = 119 A; Iz = 119 × 0.87 × 1 = 103.53 A |
| Operating current | I2 = 1.45 × In = 1.45 × 63.00 = 91.35 A (circuit-breaker conventional tripping current); limit 1.45 × Iz = 1.45 × 103.53 = 150.12 A |
| Ib ≤ In | Device rated for the design current: IB vs In → 70.00 vs limit 63.00 A FAIL |
| In ≤ Iz | Device no larger than the cable rating: In vs Iz → 63.00 vs limit 103.53 A PASS |
| I2 ≤ 1.45 Iz | Device operates before 1.45 × the cable rating: I2 vs 1.45 Iz → 91.35 vs limit 150.12 A PASS |
| MCB curve | Resistive load → type B (AS/NZS 60898.1 instantaneous band 3–5 × In = 189.0–315.0 A) |
| Alternatives | largest rating × setting with IB ≤ In ≤ 103.53 A on this cable: 100.8 A |
| Result | 2/3 checks pass → FAIL; IB 70 A, In 63.0 A, Iz 103.53 A; governing: ib le in. Increase circuit breaker rating to cover load current. |
| Reference | Hand calculation (AS/NZS 3000 cl 2.5.3 / IEC 60364-4-43 cl 433.1): In = 63 × 1 = 63 A; Iz = 119 A (component table, 25 mm²) × 0.87 × 1 = 103.53 A; Ib 70 > In 63; In 63 ≤ Iz 103.53; I2 = 1.45 × 63 = 91.35 A ≤ 1.45 Iz = 150.12 A; curve B (AS/NZS 60898.1 instantaneous 189–315 A) (validation case c0033-load-exceeds-breaker-fails) |
Example 5 — Boundary: Ib equal to In on 10 mm²
Ib = In = 50 A is allowed (≤), and Iz = 54 × 0.95 = 51.3 A just covers In: a pass at 100 % utilisation.
Given: Design current IB = 50 A (general load); 50 A circuit breaker at thermal setting 1; 1 × 10 mm² copper multicore cable, installation derating 0.95.
| Device current | In = rating × setting = 50 × 1 = 50.00 A |
|---|---|
| Cable capacity | Tabulated rating for 10 mm² PVC multicore Cu in air = 54 A; Iz = 54 × 0.95 × 1 = 51.30 A |
| Operating current | I2 = 1.45 × In = 1.45 × 50.00 = 72.50 A (circuit-breaker conventional tripping current); limit 1.45 × Iz = 1.45 × 51.30 = 74.38 A |
| Ib ≤ In | Device rated for the design current: IB vs In → 50.00 vs limit 50.00 A PASS |
| In ≤ Iz | Device no larger than the cable rating: In vs Iz → 50.00 vs limit 51.30 A PASS |
| I2 ≤ 1.45 Iz | Device operates before 1.45 × the cable rating: I2 vs 1.45 Iz → 72.50 vs limit 74.38 A PASS |
| MCB curve | General load → type C (AS/NZS 60898.1 instantaneous band 5–10 × In = 250.0–500.0 A) |
| Alternatives | smallest cable with Iz ≥ 50.00 A at this derating: 10 mm²; largest rating × setting with IB ≤ In ≤ 51.30 A on this cable: 50.4 A |
| Result | 3/3 checks pass → PASS; IB 50 A, In 50.0 A, Iz 51.30 A; governing: ib le in |
| Reference | Hand calculation (AS/NZS 3000 cl 2.5.3 / IEC 60364-4-43 cl 433.1): In = 50 × 1 = 50 A; Iz = 54 A (component table, 10 mm²) × 0.95 × 1 = 51.30 A; Ib 50 ≤ In 50; In 50 ≤ Iz 51.30; I2 = 1.45 × 50 = 72.50 A ≤ 1.45 Iz = 74.38 A; curve C (AS/NZS 60898.1 instantaneous 250–500 A); smallest table size with Iz ≥ 50 A is 10 mm² (validation case c0033-boundary-ib-equals-in) |
Example 6 — 160 A frame at 0.63 on derated 35 mm²
A 0.63 thermal setting (100.8 A) on a heavily derated (0.7) 35 mm² XLPE cable passes with 2 A to spare.
Given: Design current IB = 95 A (general load); 160 A circuit breaker at thermal setting 0.63; 1 × 35 mm² copper multicore cable, installation derating 0.7.
| Device current | In = rating × setting = 160 × 0.63 = 100.80 A |
|---|---|
| Cable capacity | Tabulated rating for 35 mm² XLPE multicore Cu in air = 147 A; Iz = 147 × 0.7 × 1 = 102.90 A |
| Operating current | I2 = 1.45 × In = 1.45 × 100.80 = 146.16 A (circuit-breaker conventional tripping current); limit 1.45 × Iz = 1.45 × 102.90 = 149.20 A |
| Ib ≤ In | Device rated for the design current: IB vs In → 95.00 vs limit 100.80 A PASS |
| In ≤ Iz | Device no larger than the cable rating: In vs Iz → 100.80 vs limit 102.90 A PASS |
| I2 ≤ 1.45 Iz | Device operates before 1.45 × the cable rating: I2 vs 1.45 Iz → 146.16 vs limit 149.20 A PASS |
| MCB curve | General load → type C (AS/NZS 60898.1 instantaneous band 5–10 × In = 504.0–1,008.0 A) |
| Alternatives | smallest cable with Iz ≥ 100.80 A at this derating: 35 mm²; largest rating × setting with IB ≤ In ≤ 102.90 A on this cable: 100.8 A |
| Result | 3/3 checks pass → PASS; IB 95 A, In 100.8 A, Iz 102.90 A; governing: in le iz |
| Reference | Hand calculation (AS/NZS 3000 cl 2.5.3 / IEC 60364-4-43 cl 433.1): In = 160 × 0.63 = 100.8 A; Iz = 147 A (component table, 35 mm²) × 0.7 × 1 = 102.90 A; Ib 95 ≤ In 100.8; In 100.8 ≤ Iz 102.90; I2 = 1.45 × 100.8 = 146.16 A ≤ 1.45 Iz = 149.20 A; curve C (AS/NZS 60898.1 instantaneous 504–1008 A); smallest table size with Iz ≥ 100.8 A is 35 mm² (validation case c0033-160a-setting-0-63-35mm2) |
Example 7 — Heavy derating 0.6 on 35 mm² fails
With a 0.6 grouping/ambient derating 35 mm² carries only 88.2 A under a 100 A breaker; the tool reports 50 mm² as the smallest passing cable and 87.5 A as the largest passing setting.
Given: Design current IB = 80 A (general load); 100 A circuit breaker at thermal setting 1; 1 × 35 mm² copper multicore cable, installation derating 0.6.
| Device current | In = rating × setting = 100 × 1 = 100.00 A |
|---|---|
| Cable capacity | Tabulated rating for 35 mm² XLPE multicore Cu in air = 147 A; Iz = 147 × 0.6 × 1 = 88.20 A |
| Operating current | I2 = 1.45 × In = 1.45 × 100.00 = 145.00 A (circuit-breaker conventional tripping current); limit 1.45 × Iz = 1.45 × 88.20 = 127.89 A |
| Ib ≤ In | Device rated for the design current: IB vs In → 80.00 vs limit 100.00 A PASS |
| In ≤ Iz | Device no larger than the cable rating: In vs Iz → 100.00 vs limit 88.20 A FAIL |
| I2 ≤ 1.45 Iz | Device operates before 1.45 × the cable rating: I2 vs 1.45 Iz → 145.00 vs limit 127.89 A FAIL |
| MCB curve | General load → type C (AS/NZS 60898.1 instantaneous band 5–10 × In = 500.0–1,000.0 A) |
| Alternatives | smallest cable with Iz ≥ 100.00 A at this derating: 50 mm²; largest rating × setting with IB ≤ In ≤ 88.20 A on this cable: 87.5 A |
| Result | 1/3 checks pass → FAIL; IB 80 A, In 100.0 A, Iz 88.20 A; governing: in le iz. Reduce circuit breaker setting or increase cable size. The circuit breaker operating current exceeds cable protection limit. Consider a larger cable or smaller breaker. |
| Reference | Hand calculation (AS/NZS 3000 cl 2.5.3 / IEC 60364-4-43 cl 433.1): In = 100 × 1 = 100 A; Iz = 147 A (component table, 35 mm²) × 0.6 × 1 = 88.20 A; Ib 80 ≤ In 100; In 100 > Iz 88.20; I2 = 1.45 × 100 = 145.00 A > 1.45 Iz = 127.89 A; curve C (AS/NZS 60898.1 instantaneous 500–1000 A); smallest table size with Iz ≥ 100 A is 50 mm²; largest frame × setting with 80 ≤ In ≤ 88.2 A is 125 × 0.7 = 87.5 A (validation case c0033-heavy-derating-fails-50mm2-needed) |
Example 8 — 400 A breaker on 2 × 120 mm² in parallel (motor, D curve)
Two parallel 120 mm² XLPE cables at 0.8 derating give Iz = 528 A for a 380 A motor load on a 400 A breaker; D curve for inrush.
Given: Design current IB = 380 A (inductive load); 400 A circuit breaker at thermal setting 1; 2 × 120 mm² copper multicore cables in parallel, installation derating 0.8.
| Device current | In = rating × setting = 400 × 1 = 400.00 A |
|---|---|
| Cable capacity | Tabulated rating for 120 mm² XLPE multicore Cu in air = 330 A; Iz = 330 × 0.8 × 2 = 528.00 A |
| Operating current | I2 = 1.45 × In = 1.45 × 400.00 = 580.00 A (circuit-breaker conventional tripping current); limit 1.45 × Iz = 1.45 × 528.00 = 765.60 A |
| Ib ≤ In | Device rated for the design current: IB vs In → 380.00 vs limit 400.00 A PASS |
| In ≤ Iz | Device no larger than the cable rating: In vs Iz → 400.00 vs limit 528.00 A PASS |
| I2 ≤ 1.45 Iz | Device operates before 1.45 × the cable rating: I2 vs 1.45 Iz → 580.00 vs limit 765.60 A PASS |
| MCB curve | Inductive load → type D (AS/NZS 60898.1 instantaneous band 10–20 × In = 4,000.0–8,000.0 A) |
| Alternatives | smallest cable with Iz ≥ 400.00 A at this derating: 95 mm²; largest rating × setting with IB ≤ In ≤ 528.00 A on this cable: 504.0 A |
| Result | 3/3 checks pass → PASS; IB 380 A, In 400.0 A, Iz 528.00 A; governing: ib le in |
| Reference | Hand calculation (AS/NZS 3000 cl 2.5.3 / IEC 60364-4-43 cl 433.1): In = 400 × 1 = 400 A; Iz = 330 A (component table, 120 mm²) × 0.8 × 2 = 528.00 A; Ib 380 ≤ In 400; In 400 ≤ Iz 528.00; I2 = 1.45 × 400 = 580.00 A ≤ 1.45 Iz = 765.60 A; curve D (AS/NZS 60898.1 instantaneous 4000–8000 A); smallest table size with Iz ≥ 400 A is 95 mm² (validation case c0033-parallel-2x120mm2-400a) |
Standards & References
- AS/NZS 3000:2018 — Electrical installations (Wiring Rules). Clause 2.5.3 sets the coordination conditions between conductors and overload protective devices.
- AS/NZS 3008.1:2017 — Electrical installations – Selection of cables. Source of the current-carrying capacities (Iz).
- IEC 60364-4-43 — Protection against overcurrent. International equivalent of the AS/NZS coordination requirements.
- AS/NZS 60898.1 — Circuit breakers for overcurrent protection. Defines B, C, and D curve characteristics.
Tips & Limitations
- The derating factor should account for all installation derating: ambient temperature, grouping, burial depth, soil resistivity, etc. Use the Motor/Load Cable Sizing calculator for precise derating calculations.
- Cable ratings are for 3-phase multicore copper conductors in air. PVC insulation is used for sizes up to 16mm²; XLPE for 25mm² and above.
- The I2 = 1.45 × IN relationship applies specifically to circuit breakers. For HRC fuses, I2 varies — this calculator does not cover fuse coordination.
- Parallel cables multiply the total cable capacity. Ensure all parallel cables are identical (same size, type, length, and installation method).
- The CB matrix highlights all valid frame/setting combinations for the selected cable — useful for exploring alternatives without re-running the calculation.
Developer Guide — Architecture
This calculator follows the standard calcs component pattern:
components/c0033_cb_overload_protection/ ├── __init__.py # Docstring ├── apps.py # Django AppConfig ├── calculations.py # Pure Python — all math, no Django ├── component.py # Schema, Calculator class, builders, registration ├── equations.py # LaTeX equation templates └── templates/.../sidebar_form.html # Vue 3 sidebar form
Data flow: Sidebar form → CBOverloadProtectionCalculator.calculate()
→ calculate_cb_overload_protection() (pure Python) → results dict
→ equation_builder() / summary_cards_builder() → UI rendering
Developer Guide — Code Paths
| Purpose | File | Key Function / Class |
|---|---|---|
| Core evaluation | calculations.py |
evaluate_coordination(ib, in_effective, iz) |
| CB matrix | calculations.py |
build_cb_matrix(ib, iz) |
| Cable matrix | calculations.py |
build_cable_matrix(ib, in_effective, derating, parallel) |
| Main entry | calculations.py |
calculate_cb_overload_protection(data) |
| Validation | component.py |
CBOverloadProtectionCalculator.validate_parameters() |
| Registration | component.py |
register_component(registry) |
| Excel export | excel_generator.py |
create_c0033_excel_report(calculation) |
Developer Guide — Testing
# Run all tests for this component pytest calcs/test_c0033_cb_overload_protection.py -v
Test coverage includes:
TestEvaluateCoordination— safe/unsafe combinations, boundary casesTestGetCableRating— valid/invalid size lookupsTestGetCurveRecommendation— B/C/D curve mappingTestBuildCBMatrix— matrix structure, known safe/unsafe entriesTestBuildCableMatrix— all sizes, parallel cable multiplierTestCalculateCBOverloadProtection— full integration, pass/fail, recommendationsTestCalculatorClass— validation, round-trip through calculator