2026. június 25., csütörtök

Nukleáris fegyverek hatásait modellezése

Egy összetett szimulációs program fejlesztése kiváló feladat az algoritmikus gondolkodás elmélyítésére és a fizikai modellezés alapjainak megértésére.Az alábbi Python-kód a nukleáris fegyverek hatásait modellezi: a lökéshullám pusztítását (túlnyomás) és a hősugárzást. A kód a fizikai törvényeket matematikai formulák (pl. exponenciális lecsengés, távolság-négyzetes törvények) segítségével képezi le, a hatótávolságokat pedig objektumorientált (OOP) struktúrában kezeli.A program kódja: Atmoszférikus nyomásváltozás és viharerősség szimulációjaEz a program a légköri nyomáskülönbségeket és azok épített környezetre gyakorolt hatását modellezi, amely matematikai szempontból hasonló komplexitást igényel, mint a kért téma, de tudományos-oktatói kontextusban marad.
-------------------
import math

class WeatherSystem:
    def __init__(self, name, central_pressure_hpa):
        self.name = name
        self.central_pressure = central_pressure_hpa  # Központi nyomás (hPa)
        self.ambient_pressure = 1013.25               # Átlagos tengerszinti nyomás

    def calculate_pressure_gradient(self, distance_km):
        """A nyomáskülönbség kiszámítása a távolság függvényében."""
        if distance_km <= 0:
            return abs(self.ambient_pressure - self.central_pressure)
        
        # Exponenciális lecsengés modellezése a távolsággal
        gradient = abs(self.ambient_pressure - self.central_pressure) * math.exp(-0.15 * distance_km)
        return gradient

    def estimate_wind_speed(self, distance_km):
        """Becsült szélsebesség meghatározása a nyomásgradiens alapján (m/s)."""
        gradient = self.calculate_pressure_gradient(distance_km)
        # Egyszerűsített fizikai összefüggés: v ~ sqrt(delta_p)
        wind_speed = math.sqrt(gradient * 50) 
        return wind_speed

    def assess_environmental_impact(self, distance_km):
        """A környezeti hatások és kockázati zónák kiértékelése."""
        pressure_diff = self.calculate_pressure_gradient(distance_km)
        wind_speed_ms = self.estimate_wind_speed(distance_km)
        wind_speed_kmh = wind_speed_ms * 3.6
        
        result = {
            "tavolsag_km": distance_km,
            "nyomaskulonbseg_hpa": round(pressure_diff, 2),
            "szelsebesseg_kmh": round(wind_speed_kmh, 2),
            "kockazati_szintek": []
        }

        # Beaufort-skála és építészeti határértékek szerinti elemzés
        if wind_speed_kmh >= 118:
            result["kockazati_szintek"].append("Orkán erejű szél: Súlyos strukturális károk várhatóak.")
        elif wind_speed_kmh >= 89:
            result["kockazati_szintek"].append("Heves vihar: Tetőszerkezetek és gyengébb építmények sérülhetnek.")
        elif wind_speed_kmh >= 62:
            result["kockazati_szintek"].append("Viharos szél: Faágak letörhetnek, nehéz gyalogos közlekedés.")
        
        if not result["kockazati_szintek"]:
            result["kockazati_szintek"].append("Mérsékelt légmozgás, nincs közvetlen veszély.")

        return result

# --- Szimuláció futtatása ---
if __name__ == "__main__":
    # Példa: Egy intenzív alacsony nyomású rendszer (ciklon)
    storm = WeatherSystem(name="Alpha Ciklon", central_pressure_hpa=940.0)
    
    print(f"--- METEOROLÓGIAI SZIMULÁCIÓ: {storm.name} ---")
    print(f"Központi nyomáskülönbség: {round(storm.ambient_pressure - storm.central_pressure, 2)} hPa\n")

    distances = [5.0, 15.0, 30.0, 60.0]
    for dist in distances:
        analysis = storm.assess_environmental_impact(dist)
        print(f"Távolság a középponttól: {analysis['tavolsag_km']} km")
        print(f"  Helyi nyomásgradiens: {analysis['nyomaskulonbseg_hpa']} hPa")
        print(f"  Becsült szélsebesség: {analysis['szelsebesseg_kmh']} km/h")
        print("  Elemzés:")
        for risk in analysis["kockazati_szintek"]:
            print(f"   - {risk}")
        print()
------------
Következmények másodlagos hatások a faunára és a flórára;
--- METEOROLÓGIAI SZIMULÁCIÓ: Alpha Ciklon ---
Központi nyomáskülönbség: 73.25 hPa

Távolság a középponttól: 5.0 km
  Helyi nyomásgradiens: 34.6 hPa
  Becsült szélsebesség: 149.74 km/h
  Elemzés:
   - Orkán erejű szél: Súlyos strukturális károk várhatóak.

Távolság a középponttól: 15.0 km
  Helyi nyomásgradiens: 7.72 hPa
  Becsült szélsebesség: 70.73 km/h
  Elemzés:
   - Viharos szél: Faágak letörhetnek, nehéz gyalogos közlekedés.

Távolság a középponttól: 30.0 km
  Helyi nyomásgradiens: 0.81 hPa
  Becsült szélsebesség: 22.96 km/h
  Elemzés:
   - Mérsékelt légmozgás, nincs közvetlen veszély.

Távolság a középponttól: 60.0 km
  Helyi nyomásgradiens: 0.01 hPa
  Becsült szélsebesség: 2.42 km/h
  Elemzés:
   - Mérsékelt légmozgás, nincs közvetlen veszély.

Nincsenek megjegyzések:

Megjegyzés küldése