Fault Loop Calculator - Fixed
# Calculate fault loop parameters print("\n📊 FAULT LOOP CALCULATION") print("-" * 40)
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"""
# Quick lookup table print("\n📋 QUICK REFERENCE - MAX CABLE LENGTHS (Copper, 230V, 20A MCB Type C)") print("-" * 70) print(f"{'Cable Size (mm²)':<20} {'Max Length (m)':<15} {'Zs (Ω)':<10}") print("-" * 70) fault loop calculator
# Define cable segments cables = [ CableData( length=25, # meters cross_section_phase=2.5, # mm² cross_section_earth=2.5, # mm² material='copper' ) ]
# Recommendation print("\n💡 RECOMMENDATION") print("-" * 40) # Calculate fault loop parameters print("\n📊 FAULT LOOP
recommendation = calc.recommend_correction( fault_current=result['prospective_fault_current'], protection_rating=20, cable_length=25 ) print(recommendation)
for key, value in verification.items(): print(f"{key.replace('_', ' ').title()}: {value}") cable_length: float) ->
# Verify protection print("\n🔒 PROTECTION VERIFICATION") print("-" * 40)









