Fault Loop Calculator !free! -

# Cold condition (no temp correction) r_cold, x_cold = calc.cable_impedance(cable, use_temp_correction=False) # Hot condition (fault temperature) r_hot, x_hot = calc.cable_impedance(cable, use_temp_correction=True)

def recommend_correction(self, fault_current: float, protection_rating: float, cable_length: float) -> str: """ Provide recommendations if fault loop impedance is too high """ required_current = 5 * protection_rating # For MCB Type C if fault_current < required_current: max_length = cable_length * (fault_current / required_current) return (f"Fault current ({fault_current:.1f}A) insufficient for " f"{protection_rating}A MCB. Reduce cable length to {max_length:.1f}m " f"or increase conductor size.") else: return "Fault loop impedance meets requirements." def main(): """Example usage of Fault Loop Calculator""" fault loop calculator

# Multiple cable segments example print("\n" + "=" * 60) print("MULTI-SEGMENT INSTALLATION EXAMPLE") print("=" * 60) # Cold condition (no temp correction) r_cold, x_cold = calc

multi_cables = [ CableData(length=30, cross_section_phase=16, cross_section_earth=16, material='copper'), CableData(length=20, cross_section_phase=6, cross_section_earth=6, material='copper'), CableData(length=15, cross_section_phase=2.5, cross_section_earth=2.5, material='copper') ] x_cold = calc.cable_impedance(cable

verification = calc.verify_disconnection_time( fault_current=result['prospective_fault_current'], protection_type='MCB', protection_rating=20 # 20A circuit breaker )

# Create calculator instance calc = FaultLoopCalculator(supply_voltage=230, frequency=50)

This calculator follows IEC 60364 standards and is suitable for domestic, commercial, and industrial electrical installations.