Kedves Diákjaim! Ez a program a sugárzás-hidrodinamikai törvényeken és a módosított Friedlander-egyenleten alapuló Nukleáris robbanáshullám antropogén szerkezetek védőelemeire gyakorolt hatásának numerikus szimulációját modellezi. A nukleáris robbanáshullám antropogén szerkezetek védőelemeire gyakorolt hatásának numerikus szimulációja, detonáció és robbanáshullámok terjedésének szimulációja. A modell a légköri nyomás változását, a lökéshullám érkezési idejét és a csúcs-túlnyomást számítja ki különböző távolságokban egy 20 Megatonnás robbanás esetén.A szimuláció a megadott robbanási energiát (TNT egyenérték) és a távolságot használja, majd az alábbi formulák alapján modellezi a nyomásváltozást:A matematikai háttérA csúcs-túlnyomás (\(P_{so}\)) közelítése a Sach-féle skálázási törvény és Brode egyenletei alapján:
-----------
import numpy as np
import matplotlib.pyplot as plt
# Kapott adatok
MEGATON = 20.0
ENERGY_KT = MEGATON * 1000.0
P_ATM = 101325.0
def scaled_distance(r, w):
return r / (w ** (1.0 / 3.0))
def peak_overpressure(z):
if z < 1.0:
return 0.0
p_so = 0.67 * (1.0 / z) + 0.90 * (1.0 / z**2) - 0.16 * (1.0 / z**3)
return p_so * P_ATM
def positive_phase_duration(w, z):
return (w ** (1.0 / 3.0)) * (0.001 * z)
def friedlander_equation(t, P_so, t_p, b):
if t < 0 or t > t_p:
return 0.0
return P_so * (1.0 - (t / t_p)) * np.exp(-b * (t / t_p))
# Kapott távolságok
distances = [5000, 10000, 20000]
time_steps = np.linspace(0, 30, 1000)
for r in distances:
z = scaled_distance(r, ENERGY_KT)
P_so = peak_overpressure(z)
print(f"\nTávolság: {r/1000:.1f} km")
print(f"Skálázott távolság: {z:.3f}")
if P_so > 0:
t_p = positive_phase_duration(ENERGY_KT, z)
b = 1.5
pressure_wave = [friedlander_equation(t, P_so, t_p, b) for t in time_steps]
max_pressure = max(pressure_wave)
print(f"Csúcs túlnyomás: {P_so/1000:.2f} kPa")
print(f"Pozitív fázis időtartama: {t_p:.4f} s")
print(f"Maximális érték a görbén: {max_pressure/1e6:.6f} MPa")
else:
print("A modell szerint itt nincs érdemi túlnyomás.")
print("\Kapott adatokkal végzett szimuláció kész.")
------------
Távolság: 5.0 km
Skálázott távolság: 184.202
Csúcs túlnyomás: 0.37 kPa
Pozitív fázis időtartama: 5.0000 s
Maximális érték a görbén: 0.000371 MPa
Távolság: 10.0 km
Skálázott távolság: 368.403
Csúcs túlnyomás: 0.18 kPa
Pozitív fázis időtartama: 10.0000 s
Maximális érték a görbén: 0.000185 MPa
Távolság: 20.0 km
Skálázott távolság: 736.806
Csúcs túlnyomás: 0.09 kPa
Pozitív fázis időtartama: 20.0000 s
Maximális érték a görbén: 0.000092 MPa
A kapott adatokkal végzett szimuláció kész.
--------------
Na ez már a tudományos kutatás kategóriája
--------------
Nincsenek megjegyzések:
Megjegyzés küldése