Fault Loop Calculator [upd] -

# Calculate fault loop parameters print("\nšŸ“Š FAULT LOOP CALCULATION") print("-" * 40)

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 fault loop calculator

def verify_disconnection_time(self, fault_current: float, protection_type: str, protection_rating: float) -> dict: """ Verify disconnection time meets safety requirements Args: fault_current: Prospective fault current (A) protection_type: 'MCB', 'RCD', or 'fuse' protection_rating: Rated current of protection device (A) Returns: Verification result """ # Standard disconnection time requirements (IEC 60364) max_disconnection_time = { 'TN_230': 0.4, # seconds for 230V TN system 'TT_230': 0.2, # seconds for 230V TT system 'final_circuit': 0.4 } # Simple MCB tripping curve estimation (Type C) if protection_type == 'MCB': if fault_current >= 10 * protection_rating: # Instantaneous trip disconnection_time = 0.02 # 20ms elif fault_current >= 5 * protection_rating: disconnection_time = 0.1 else: disconnection_time = 5.0 # Thermal trip, may not clear quickly elif protection_type == 'RCD': disconnection_time = 0.04 # 40ms for RCD else: # fuse disconnection_time = 0.4 # Approximate meets_requirement = disconnection_time <= max_disconnection_time['TN_230'] return { 'disconnection_time': disconnection_time, 'max_allowed_time': max_disconnection_time['TN_230'], 'meets_requirement': meets_requirement, 'recommendation': 'Compliant' if meets_requirement else 'Non-compliant - Increase conductor size or reduce length' } # Calculate fault loop parameters print("\nšŸ“Š FAULT LOOP

for key, value in result.items(): print(f"{key.replace('_', ' ').title()}: {value}") fault_current_available: float = 10000) -&gt

SocialWe are on social media
8K-HD CLUB is a unique source of documentaries for download. 8K Ultra HD and 4K Ultra HD movies. Subscribe to our social networks to be notified when new movies are released.