• Welcome to LiveOKE คาราโอเกะกีตาร์สด.

Fault Loop Calculator <TESTED ⟶>

# Temperature correction factors TEMP_FACTOR_OPERATING = 1.25 # for cables at operating temperature TEMP_FACTOR_FAULT = 1.50 # for fault condition class FaultLoopCalculator: """Calculates earth fault loop impedance and prospective fault current"""

for key, value in result.items(): print(f"{key.replace('_', ' ').title()}: {value}")

# Recommendation print("\n💡 RECOMMENDATION") print("-" * 40) fault loop calculator

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

# Temperature effects print("\n🌡️ TEMPERATURE EFFECTS") print("-" * 40) # Temperature correction factors TEMP_FACTOR_OPERATING = 1

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

def source_impedance(self, fault_current_available: float = 10000) -> Tuple[float, float]: """ Calculate source impedance from available fault current Args: fault_current_available: Available fault current at supply point (A) Returns: Tuple of (source resistance, source reactance) """ # Typical X/R ratio for LV systems xr_ratio = 0.15 # Low voltage typical value # Source impedance magnitude z_source = self.supply_voltage / fault_current_available # Calculate R and X from X/R ratio r_source = z_source / math.sqrt(1 + xr_ratio**2) x_source = xr_ratio * r_source return r_source, x_source value in result.items(): print(f"{key.replace('_'

def calculate_fault_loop_impedance(self, cables: list[CableData], available_fault_current: float = 10000) -> dict: """ Calculate total earth fault loop impedance (Zs) Args: cables: List of cable segments in the fault loop available_fault_current: Available fault current at origin (A) Returns: Dictionary with fault loop impedance details """ # Source impedance r_source, x_source = self.source_impedance(available_fault_current) total_r = r_source total_x = x_source # Add cable impedances for cable in cables: r_cable, x_cable = self.cable_impedance(cable) total_r += r_cable total_x += x_cable # Total impedance total_z = math.sqrt(total_r**2 + total_x**2) # Prospective fault current fault_current = self.supply_voltage / total_z return { 'total_resistance': round(total_r, 4), 'total_reactance': round(total_x, 4), 'total_impedance': round(total_z, 4), 'prospective_fault_current': round(fault_current, 2), 'source_impedance': round(math.sqrt(r_source**2 + x_source**2), 4), 'source_resistance': round(r_source, 4), 'source_reactance': round(x_source, 4) }