Dane Sabo 943066540c Auto sync: 2025-11-10 18:04:37 (36 files changed)
M  .task/backlog.data

M  .task/completed.data

M  .task/pending.data

M  .task/undo.data

A  Class_Work/nuce2101/exam2/NUCE2101_SABO/Submission.pdf

A  Class_Work/nuce2101/exam2/NUCE2101_SABO/problem1.py

A  Class_Work/nuce2101/exam2/NUCE2101_SABO/problem1_equal_loading.png

A  Class_Work/nuce2101/exam2/NUCE2101_SABO/problem1_unequal_loading.png
2025-11-10 18:04:37 -05:00

100 lines
3.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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}"
)