import numpy as np import matplotlib.pyplot as plt # Problem 4: PWR Power Increase Transient (25% → 50% Steam Load) print("=" * 70) print("Problem 4: PWR Power Increase Transient") print("=" * 70) # Given Initial Conditions (25% power steady state) T_ave_initial = 500 # °F - Average temperature T_h_initial = 510 # °F - Hot leg temperature T_c_initial = 490 # °F - Cold leg temperature P_initial = 25 # % - Initial power level P_final = 50 # % - Final power level print("\n--- Initial Conditions (25% Power) ---") print(f"T_ave = {T_ave_initial} °F") print(f"T_h = {T_h_initial} °F") print(f"T_c = {T_c_initial} °F") print(f"Power = {P_initial}%") # Calculate initial ΔT across core DeltaT_initial = T_h_initial - T_c_initial print(f"ΔT across core = {DeltaT_initial} °F") print("\n" + "=" * 70) print("Part A: Chronological Physical Impacts") print("=" * 70) print("\n" + "=" * 70) print("Part B: Final State Comparison") print("=" * 70) # For a PWR at steady state: # Power ∝ mass flow rate × Cp × ΔT # If flow rate is constant (no pump speed change): # P_new / P_old = ΔT_new / ΔT_old # Calculate new ΔT DeltaT_final = DeltaT_initial * (P_final / P_initial) print(f"\nΔT calculation:") print(f"ΔT_initial = {DeltaT_initial} °F at {P_initial}% power") print(f"ΔT_final = ΔT_initial × (P_final/P_initial)") print(f"ΔT_final = {DeltaT_initial} × ({P_final}/{P_initial}) = {DeltaT_final} °F") # Estimate final temperatures # Assume T_ave returns to approximately initial value (no automatic control, # but moderator feedback will drive it back toward equilibrium) # This is a simplification - in reality, T_ave might be slightly different # Method 1: Assume T_ave = constant (strong moderator feedback) T_ave_final_method1 = T_ave_initial T_h_final_method1 = T_ave_final_method1 + DeltaT_final / 2 T_c_final_method1 = T_ave_final_method1 - DeltaT_final / 2 print(f"\n--- Method 1: Assume T_ave constant (strong moderator feedback) ---") print(f"T_ave_final = {T_ave_final_method1} °F") print( f"T_h_final = T_ave + ΔT/2 = {T_ave_final_method1} + {DeltaT_final/2} = {T_h_final_method1} °F" ) print( f"T_c_final = T_ave - ΔT/2 = {T_ave_final_method1} - {DeltaT_final/2} = {T_c_final_method1} °F" ) # Method 2: More realistic - Tc drops somewhat, Th rises more # The SG cooling will lower Tc, but not back to initial Tc # Let's estimate Tc drops by ~5-10°F, then Th rises to accommodate ΔT T_c_drop = 5 # °F - estimated drop in Tc due to increased SG cooling T_c_final_method2 = T_c_initial - T_c_drop T_h_final_method2 = T_c_final_method2 + DeltaT_final T_ave_final_method2 = (T_h_final_method2 + T_c_final_method2) / 2 print(f"\n--- Method 2: Estimate Tc drop due to SG cooling ---") print(f"Assume Tc drops by ~{T_c_drop}°F due to increased steam flow") print(f"T_c_final = {T_c_final_method2} °F") print( f"T_h_final = T_c + ΔT = {T_c_final_method2} + {DeltaT_final} = {T_h_final_method2} °F" ) print(f"T_ave_final = {T_ave_final_method2} °F") print(f"\n--- Comparison Table ---") print( f"{'Parameter':<20} {'Initial (25%)':<20} {'Final (50%) M1':<20} {'Final (50%) M2':<20}" ) print(f"{'-'*80}") print(f"{'Power':<20} {P_initial:<20} {P_final:<20} {P_final:<20}") print( f"{'T_h (°F)':<20} {T_h_initial:<20} {T_h_final_method1:<20.1f} {T_h_final_method2:<20.1f}" ) print( f"{'T_c (°F)':<20} {T_c_initial:<20} {T_c_final_method1:<20.1f} {T_c_final_method2:<20.1f}" ) print( f"{'T_ave (°F)':<20} {T_ave_initial:<20} {T_ave_final_method1:<20.1f} {T_ave_final_method2:<20.1f}" ) print( f"{'ΔT (°F)':<20} {DeltaT_initial:<20} {DeltaT_final:<20.1f} {DeltaT_final:<20.1f}" )