์๋ณด๋ฉด ๋น์ ๋ง ์ํด ํต์ตํฉ ์๋์ง ๋ฐ์ ํผํผ ํ๋ก๊ทธ๋จUltimate Fusion Energy Development Helper – See or Regret!"
ITER·KSTAR·NIF ๊ธฐ๋ฐ ์๋ฎฌ๋ ์ดํฐ
ํต์ตํฉ
์๋์ง ๋ฐ์
ํฌํผ ํ๋ก๊ทธ๋จ
D-T ๋ฐ์ ์๋๋ก์ง ๊ณ์ฐ · ํ๋ผ์ฆ๋ง ์์ ์ฑ · ํ ์นด๋ง ์๋ฎฌ๋ ์ด์
· ์ค์ฑ์ ์์ก ์์ธก
TRANSP·NUBEAM·Geant4 ๊ธ๋ก๋ฒ ํ์ค ๊ธฐ๋ฐ | ํ๊ตญ ๊ตญ๊ฐํต์ตํฉ์ฐ๊ตฌ์ KFE ์ฐธ์กฐ
D-T ๋ฐ์ ์๋์ง ๊ณ์ฐ๊ธฐ
ํต๋ฐ์ ์ ํ
²H + ³H → ⁴He (3.5 MeV) + n (14.1 MeV)
๊ณ์ฐ ๊ฒฐ๊ณผ (Lawson ๊ธฐ์ค)
Q = 1.84
๋ฐ์๋ฅ : 2.3×10⁻²² m³/s · ์ค์ฑ์ ์ถ๋ ฅ: 14.1 MeV
Lawson ๊ธฐ์ค nฯ: ๋ฏธ๋ฌ
Lawson ๊ธฐ์ค nฯ: ๋ฏธ๋ฌ
์๋์ง ๋ฐ์๋ฅ ๊ณก์ (ฯv)
ํต๋ฐ์ ๋งค๊ฐ๋ณ์
| ํ๋ผ๋ฏธํฐ | ๊ฐ | ๋จ์ |
|---|---|---|
| ์๊ณ ์ ํ ์จ๋ | 5.5 | keV |
| ์ต์ ๋ฐ์๋ฅ ์จ๋ | 65 | keV |
| ์ค์ฑ์ ์๋์ง | 14.1 | MeV |
| ์ํ ์ ์ ์๋์ง | 3.5 | MeV |
| Triple Product (nTฯ) | 1.03×10²¹ | m⁻³·keV·s |
Python ์๋ฎฌ๋ ์ด์
์ฝ๋ (TRANSP ์ฐธ์กฐ ๊ตฌํ)
"""
ํต์ตํฉ D-T ๋ฐ์ ์๋์ง ์ถ๋ ฅ ๊ณ์ฐ - TRANSP ์ฝ๋ ์ฐธ์กฐ ๊ตฌํ
์ฐธ์กฐ: ITER Physics Expert Group, Nucl. Fusion 39 (1999)
ํ๊ตญ ๊ตญ๊ฐํต์ตํฉ์ฐ๊ตฌ์ (KFE) KSTAR ํ๋ผ๋ฏธํฐ ๊ธฐ๋ฐ
"""
import numpy as np
from scipy import integrate
# ๋ฌผ๋ฆฌ ์์
E_ALPHA = 3.52e6 # eV (์ํ ์
์ ์๋์ง)
E_NEUTRON = 14.06e6 # eV (์ค์ฑ์ ์๋์ง)
E_TOTAL = E_ALPHA + E_NEUTRON # 17.58 MeV ์ด ๋ฐฉ์ถ ์๋์ง
def dt_reactivity(T_keV):
"""D-T ๋ฐ์๋ฅ <ฯv> [m³/s] - Bosch-Hale ํ๋ผ๋ฏธํฐํ"""
T = T_keV
# Bosch-Hale ๊ณ์ (1992)
C = [6.6610e-12, 643.41e-3, 15.136e-3,
75.189e-3, 4.6064e-3, 13.500e-3,
-0.10675e-3, 0.01366e-3]
theta = T / (1 - T * (0.01e-3)/(C[1] + T*(C[2]+T*(C[3]+T*C[4]))))
xi = (C[5] / theta) ** (1/3)
sigma_v = C[0] * theta * np.sqrt(xi/(T**3)) * np.exp(-3*xi) * 1e-6
return max(sigma_v, 1e-30)
class FusionReactor:
def __init__(self, n=1e20, T_keV=10, tau_E=0.1):
self.n = n # ์
์ ๋ฐ๋ [m⁻³]
self.T = T_keV # ์จ๋ [keV]
self.tau_E = tau_E # ์๋์ง ๊ตฌ์ ์๊ฐ [s]
self.eV = 1.602e-19 # J/eV
def fusion_power_density(self):
"""๋จ์ ๋ถํผ๋น ํต์ตํฉ ์ถ๋ ฅ [W/m³]"""
sigma_v = dt_reactivity(self.T)
P = (0.25 * self.n**2 * sigma_v * E_TOTAL * self.eV)
return P
def q_factor(self, P_heat):
"""Q = P_fusion / P_heat (์๋์ง ์ด๋ ๊ณ์)"""
P_fusion = self.fusion_power_density() * 840 # ITER ํ๋ผ์ฆ๋ง ๋ถํผ 840m³
return P_fusion / P_heat
def lawson_criterion(self):
"""Lawson ๊ธฐ์ค: nฯ [m⁻³·s]"""
return self.n * self.tau_E
# === ๋ฉ์ธ ์๋ฎฌ๋ ์ด์
===
reactor = FusionReactor(n=1e20, T_keV=10, tau_E=0.1)
P_density = reactor.fusion_power_density()
Q = reactor.q_factor(P_heat=50e6)
nTau = reactor.lawson_criterion()
triple = reactor.n * reactor.T * reactor.tau_E
print(f"ํต์ตํฉ ์ถ๋ ฅ ๋ฐ๋: {P_density:.2e} W/m³")
print(f"์๋์ง ์ด๋ Q: {Q:.2f}")
print(f"Lawson nฯ: {nTau:.2e} m⁻³·s")
print(f"Triple Product nTฯ: {triple:.2e} m⁻³·keV·s")
ํ ์นด๋ง ํ๋ผ์ฆ๋ง ์๋ฎฌ๋ ์ดํฐ
H-mode ๊ตฌ์ ํ์ฑ
ํ๋ผ์ฆ๋ง ์ํ ์ ์ด
ํ๋ผ์ฆ๋ง ํน์ฑ
์์ ์ธ์ q
3.2
ฮฒ (์๋ ฅ๋น)
2.1%
H ์ธ์
1.0
ฯ_E (ms)
385
์จ๋ ์ ๋ถํฌ
๊ณ ์ฒด์ก์ฒด๊ธฐ์ฒดํ๋ผ์ฆ๋งํต์ตํฉ์ ํ
ํ์ฌ: ํต์ตํฉ ํ๋ผ์ฆ๋ง ์์ญ (150 MK)
ํ ์นด๋ง ๋จ๋ฉด ์๋ฎฌ๋ ์ดํฐ
ITER ํ์ค ํ๋ผ๋ฏธํฐ ๊ธฐ๋ฐ D์ํ ํ ์นด๋ง ๋จ๋ฉด. ์ฌ๋ผ์ด๋๋ก ์๊ธฐ์ฅ·์ ๋ฅ ์กฐ์ ์ ํ๋ผ์ฆ๋ง ํฌ๊ธฐ๊ฐ ๋ฐ์ํฉ๋๋ค. NBI: ์ค์ฑ ๋น ์ฃผ์
๊ฐ์ด์ฅ์น.
NUBEAM ๊ณ ์ ์ด์จ Python ํฌํ
์ฝ๋
"""
NUBEAM ๋ชจ๋ Python ๋ฒ์ - ๊ณ ์ ์ด์จ ์
์ & ํต์ตํฉ ์ค์ฑ์ ๋ฐฉ์ถ ์์ธก
์ฐธ์กฐ: Pankin et al., CPC 159 (2004) | TRANSP/NUBEAM ๋ชจ๋
KSTAR NBI ํ๋ผ๋ฏธํฐ (์๋์ง: 120 keV, ์ ๋ฅ: 6 MW × 4 ๋น)
"""
import numpy as np
from scipy.stats import maxwell
class NubeamModule:
"""์ค์ฑ ๋น ์ฃผ์
(NBI) ๊ณ ์ ์ด์จ ์ฌ๋ก์๋ค์ด ์๋ฎฌ๋ ์ดํฐ"""
def __init__(self, E_beam_keV=120, P_nbi_MW=6, n_e=7e19, T_e_keV=8):
self.E_b = E_beam_keV # ๋น ์๋์ง [keV]
self.P_nbi = P_nbi_MW * 1e6 # ๋น ์ถ๋ ฅ [W]
self.n_e = n_e # ์ ์ ๋ฐ๋ [m⁻³]
self.T_e = T_e_keV # ์ ์ ์จ๋ [keV]
self.lnLambda = 18.0 # ์ฟจ๋กฑ ๋ก๊ทธ
self.eV = 1.602e-19
def slowing_down_time(self):
"""๊ณ ์ ์ด์จ ์ฌ๋ก์๋ค์ด ์๊ฐ ฯ_s [s]"""
m_D = 3.34e-27 # ์ค์์ ์ง๋ [kg]
m_e = 9.11e-31
E_keV_to_J = self.E_b * 1e3 * self.eV
v_b = np.sqrt(2 * E_keV_to_J / m_D)
tau_s = (3 * (np.pi)1.5 * m_D * self.T_e**1.5) / \
(2 * np.sqrt(2) * self.n_e * self.lnLambda * 2.8e-30)
return tau_s
def neutron_emission_rate(self, n_i=5e19, sigma_v=2.3e-22):
"""NBI ์ ๋ ์ค์ฑ์ ๋ฐฉ์ถ๋ฅ [์ค์ฑ์/s]"""
n_fast = self.P_nbi / (self.E_b * 1e3 * self.eV) * self.slowing_down_time()
R_neutron = n_fast * n_i * sigma_v # ๋น-ํ์ ๋ฐ์
return R_neutron
def fast_ion_profile(self, r_grid, a=2.0):
"""๊ณ ์ ์ด์จ ๋ฐ๋ ๋ฐ๊ฒฝ ๋ถํฌ (๊ฐ์ฐ์์ ํผํน)"""
r_norm = r_grid / a
n_fast_center = self.neutron_emission_rate() / (np.pi * a**2)
profile = n_fast_center * np.exp(-2.5 * r_norm**2)
return profile
# === KSTAR NBI ์๋ฎฌ๋ ์ด์
(4 ๋น × 6 MW = 24 MW) ===
nbi = NubeamModule(E_beam_keV=120, P_nbi_MW=6, n_e=7e19, T_e_keV=8)
tau = nbi.slowing_down_time()
R_n = nbi.neutron_emission_rate() * 4 # 4๊ฐ ๋น
r = np.linspace(0, 2.0, 100)
profile = nbi.fast_ion_profile(r)
print(f"์ฌ๋ก์๋ค์ด ์๊ฐ: {tau*1000:.1f} ms")
print(f"์ด ์ค์ฑ์ ๋ฐฉ์ถ๋ฅ : {R_n:.2e} n/s")
print(f"์ค์ฌ ๊ณ ์ ์ด์จ ๋ฐ๋: {profile[0]:.2e} m⁻³")
์ค์ฑ์ ์์ก ์๋ฎฌ๋ ์ดํฐ
Geant4 & OpenMC ๊ธฐ๋ฐ Monte Carlo ์ค์ฑ์ ์์ก Python ์ธํฐํ์ด์ค. ITER ๋ธ๋ญํท ์ค๊ณ ์ต์ ํ์ ํ์ฉ.
์ค์ฑ์ ์์ก ๊ฒฐ๊ณผ
์ค์ฑ์ ํ๋ญ์ค
4.1×10¹⁴
/cm²·s
์ผ์ค์์ ์ฆ์๋น
1.15
TBR (>1.0 ํ์)
์๋์ง ์ฆํญ M
1.28
๋ฐฉ์ฌ์ ์ฐจํ์จ
99.8%
์ค์ฑ์ ์คํํธ๋ผ ๋ถํฌ
์ฌ๋ฃ๋ณ ์ค์ฑ์ ์ฐจํ ์ฑ๋ฅ
๋ธ๋ญํท ์ฌ๋ฃ ๋น๊ต
Geant4 Python ๊ตฌํ ์ฝ๋
"""
ITER ๋ธ๋ญํท ์ค์ฑ์ ์์ก ์๋ฎฌ๋ ์ด์
์ฐธ์กฐ: Geant4 / OpenMC Python API
HCPB (ํฌ๋ฅจ ๋๊ฐ ํ๋ธ ๋ฒ ๋) ๋ธ๋ญํท ๋ชจ๋ธ
"""
import openmc
import numpy as np
# ์ฌ๋ฃ ์ ์
def create_hcpb_blanket(li6_enrich=0.60):
li4sio4 = openmc.Material(name='Li4SiO4_pebbles')
li4sio4.add_element('Li', 4, enrichment=li6_enrich*100,
enrichment_target='Li6', enrichment_type='ao')
li4sio4.add_element('Si', 1)
li4sio4.add_element('O', 4)
li4sio4.set_density('g/cm3', 2.32)
eurofer = openmc.Material(name='EUROFER_steel')
eurofer.add_element('Fe', 88.8, 'wo')
eurofer.add_element('Cr', 9.0, 'wo')
eurofer.add_element('W', 1.1, 'wo')
eurofer.set_density('g/cm3', 7.87)
return [li4sio4, eurofer]
# ๊ธฐํํ ์ค์ (์ค๋ฆฐ๋ ๋ชจ๋ธ)
plasma_surf = openmc.Sphere(r=620) # ํ๋ผ์ฆ๋ง ๋ฐ๊ฒฝ 620 cm
blanket_surf = openmc.Sphere(r=700) # ๋ธ๋ญํท ์ธ๋ถ 780 cm
shield_surf = openmc.Sphere(r=780)
outer_surf = openmc.Sphere(r=900, boundary_type='vacuum')
# ์
์ ์
plasma_cell = openmc.Cell(region=-plasma_surf, name='plasma')
blanket_cell = openmc.Cell(region=+plasma_surf & -blanket_surf, name='blanket')
shield_cell = openmc.Cell(region=+blanket_surf & -shield_surf, name='shield')
# 14.1 MeV ์ค์ฑ์ ์์ค
source = openmc.Source()
source.energy = openmc.stats.Discrete([14.1e6], [1.0])
source.space = openmc.stats.Point((0,0,0))
# ํ๋ฆฌ (์ผ์ค์์ ์ฆ์๋น)
tbr_tally = openmc.Tally(name='TBR')
tbr_tally.filters = [openmc.CellFilter(blanket_cell)]
tbr_tally.scores = ['(n,Xt)'] # ์ผ์ค์์ ๋ฐ์
settings = openmc.Settings()
settings.particles = 100000
settings.batches = 50
settings.run_mode = 'fixed source'
ํ๋ผ์ฆ๋ง MHD ๋ถ์์ ์ฑ ์์ธก
๋ถ์์ ์ฑ ์ํ๋ ์งํ
์์ ์ธ์ q ํ๋กํ์ผ
์๊ฐ ์งํ & ๋ฐฉ์ ๋ถ์
MHD ์์ ์ฑ Python ์ฝ๋
"""
ํต์ตํฉ ํ๋ผ์ฆ๋ง MHD ๋ถ์์ ์ฑ ๋ถ์
์ฐธ์กฐ: KFE (ํ๊ตญ ๊ตญ๊ฐํต์ตํฉ์ฐ๊ตฌ์) KSTAR ์ฝ๋๋ฒ ์ด์ค
"""
import numpy as np
from scipy.linalg import eig
class MHDStabilityAnalyzer:
def kink_stability(self, q0, q_edge, m=1):
"""Kink ๋ถ์์ ์ฑ: q < 1์ด๋ฉด ์ํ"""
return {'safe': q0 > m, 'q_min': q0}
def ballooning_stability(self, beta, alpha_MHD):
"""Ballooning: ฮฑ_MHD < ฮฑ_crit"""
alpha_crit = 0.5 # ์ด์ํ๋ ์๊ณ๊ฐ
return {'safe': alpha_MHD < alpha_crit}
def neoclassical_tearing(self, q_surface, beta_p):
"""NTM: ๊ณต๋ช
๋ฉด q=2/1, 3/2 ์ํ"""
q_res = [2/1, 3/2, 4/3]
risk = any(abs(q_surface - q) < 0.05 for q in q_res)
return {'ntm_risk': risk, 'beta_p': beta_p}
analyzer = MHDStabilityAnalyzer()
result = analyzer.kink_stability(q0=1.1, q_edge=5.0)
print(f"Kink ์์ : {result['safe']} (q_min={result['q_min']:.2f})")
๊ธ๋ก๋ฒ ํต์ตํฉ ๊ฐ๋ฐ ๋ก๋๋งต
1990s
TFTR·JET ์ธ๊ณ ๊ธฐ๋ก ๋ฌ์ฑ
Princeton TFTR 10.7 MW, JET 16 MW ํต์ตํฉ ์ถ๋ ฅ. D-T ์คํ ์๋ ๊ฐ๋ง. Q≈0.67 ๋ฌ์ฑ.
์๋ฃ
2010
KSTAR H-mode ์ต์ฅ ๊ธฐ๋ก
ํ๊ตญ KSTAR, H-mode 102์ด ์ธ๊ณ ์ต์ฅ ๊ธฐ๋ก ๋ฌ์ฑ(2024). ์ด์จ ์จ๋ 1์ต๋ ์ด๊ณผ.
์๋ฃ
2022
NIF ์ ํ ์ฑ๊ณต (Q>1)
๋ฏธ๊ตญ NIF ๊ด์ฑ๊ตฌ์ ํต์ตํฉ Q=1.5 ๋ฌ์ฑ. ๋ ์ด์ ์
๋ ฅ๋ณด๋ค ๋ง์ ์๋์ง ๋ฐฉ์ถ ์ธ๊ณ ์ต์ด.
๋ฌ์ฑ
2025~
ITER ์ฒซ ํ๋ผ์ฆ๋ง ์ด์
35๊ฐ๊ตญ ๊ณต๋ ๊ฑด์ค. Q=10 ๋ชฉํ, 500 MW ํต์ตํฉ ์ถ๋ ฅ. ์์·์ค์์ ๋จ๊ณ ์์.
์งํ์ค
2027
SPARC (Commonwealth Fusion)
HTS ๊ณ ์จ ์ด์ ๋ ์์ ํ์ฉ ์ํ ํ ์นด๋ง. Q>2 ๋ชฉํ. ๋ฏผ๊ฐ ํต์ตํฉ ํ์ ์ ๋.
์์
2030s
DEMO·K-DEMO ์ค๊ณ ์๋ฃ
ITER ์ฑ๊ณผ ๊ธฐ๋ฐ ์ค์ฆ๋ก. ํ๊ตญ K-DEMO 2035๋
์ฐฉ๊ณต ๋ชฉํ. ์ ๊ธฐ ์์ฐ ์์.
๊ณํ
2040s
์์
์ฉ ํต์ตํฉ ๋ฐ์ ์ (ARC)
CommonFusion ARC, TAE Technologies ๋ฑ ๋ฏผ๊ฐ๋ฒค์ฒ ์์
ํ. 1 GW๊ธ ํต์ตํฉ ๋ฐ์ ์ ๊ฐ๋.
๋ฏธ๋
Q-factor ๋ฐ์ ์ถ์ด
์ฃผ์ ์ฅ์น ๋น๊ต
| ์ฅ์น | ๊ตญ๊ฐ | ๋ฐฉ์ | Q ๋ชฉํ |
|---|---|---|---|
| ITER | ๊ตญ์ ๊ณต๋ | ํ ์นด๋ง | 10 |
| KSTAR | ๐ฐ๐ท ํ๊ตญ | ์ด์ ๋ ํ ์นด๋ง | ์ฐ๊ตฌ์ฉ |
| SPARC | ๐บ๐ธ ๋ฏธ๊ตญ | HTS ํ ์นด๋ง | >2 |
| W7-X | ๐ฉ๐ช ๋ ์ผ | ์คํ ๋ผ๋ ์ดํฐ | ์ฐ๊ตฌ์ฉ |
| NIF | ๐บ๐ธ ๋ฏธ๊ตญ | ๊ด์ฑ๊ตฌ์ | >1✓ |
| K-DEMO | ๐ฐ๐ท ํ๊ตญ | ํ ์นด๋ง ์ค์ฆ๋ก | >5 |
์คํ์์ค ํตํฉ ์๋ฎฌ๋ ์ดํฐ ์ฝ๋ (ITER Kepler ํ๋ซํผ ๊ธฐ๋ฐ)
"""
๋ฏผ๊ฐ ํต์ตํฉ ๋ฒค์ฒ·ITER ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ณ๋ ฌ ์๋ฎฌ๋ ์ดํฐ
์ฐธ์กฐ: IMAS (ITER Integrated Modelling & Analysis Suite)
Kepler ์ํฌํ๋ก์ฐ ํ๋ซํผ | OMAS Python ๋ผ์ด๋ธ๋ฌ๋ฆฌ
"""
import numpy as np
from concurrent.futures import ProcessPoolExecutor
import omas # pip install omas (ITER ๋ฐ์ดํฐ ํ์ค)
class IntegratedFusionSimulator:
"""
ITER Kepler ํ๋ซํผ ๋ณ๋ ฌ ํต์ตํฉ ์๋ฎฌ๋ ์ดํฐ
๋ชจ๋: MHDํํ → ์์ก → NBI → ์ค์ฑ์์์ก → ๊ฒฝ์ ์ฑ ๋ถ์
"""
def __init__(self, device='ITER', n_workers=8):
self.device = device
self.n_workers = n_workers
self.params = self._load_device_params(device)
def _load_device_params(self, device):
db = {
'ITER': {'R':6.2, 'a':2.0, 'Bt':5.3, 'Ip':15, 'Pfus_target':500},
'KSTAR':{'R':1.8, 'a':0.5, 'Bt':3.5, 'Ip':2, 'Pfus_target':0},
'SPARC':{'R':1.85,'a':0.57,'Bt':12.2,'Ip':8.7,'Pfus_target':140},
}
return db.get(device, db['ITER'])
def run_workflow(self, T_keV_range=(5,50)):
"""๋ณ๋ ฌ ํ๋ผ๋ฏธํฐ ์ค์บ: ์จ๋ ๋ฒ์๋ณ Q-factor ๊ณ์ฐ"""
temps = np.linspace(*T_keV_range, 50)
with ProcessPoolExecutor(max_workers=self.n_workers) as ex:
results = list(ex.map(self._single_run, temps))
return np.array(results)
def _single_run(self, T_keV):
sigma_v = 3.7e-18 * np.exp(-4.0/T_keV**0.5) / T_keV**0.5
P_fus = 0.25 * (1e20)**2 * sigma_v * 17.6e6 * 1.6e-19 * 840
Q = P_fus / (50e6)
return Q
# === ๋ณ๋ ฌ ์คํ ===
sim = IntegratedFusionSimulator(device='ITER', n_workers=8)
Q_array = sim.run_workflow(T_keV_range=(5, 80))
print(f"์ต๋ Q = {Q_array.max():.2f} at T = {5+Q_array.argmax()*75/49:.0f} keV")
๊ธ๋ก๋ฒ ์คํ์์ค ๋ ํผ๋ฐ์ค
์๋ฎฌ๋ ์ด์
์ฝ๋
OpenMC
Monte Carlo ์ค์ฑ์/๊ด์ ์์ก ์ฝ๋. Python API ์๋น. ITER ๋ธ๋ญํท ๋ถ์์ ํ์ฉ.
GitHub · MIT License
FreeGS
์์ ๊ฒฝ๊ณ MHD ํํ ์ฝ๋. ํ ์นด๋ง ํ๋ญ์ค ๋ฉด ๊ณ์ฐ. Python ์์ ๊ตฌํ.
GitHub · LGPL
OMAS (ITER IDS)
ITER ํตํฉ ๋ฐ์ดํฐ ๊ตฌ์กฐ. ํต์ตํฉ ์ฝ๋ ๊ฐ ๋ฐ์ดํฐ ๊ตํ ํ์ค. Kepler ์ํฌํ๋ก์ฐ ์ฐ๋.
GitHub · MIT
DESC (Princeton)
์คํ
๋ผ๋ ์ดํฐ·ํ ์นด๋ง 3D MHD ํํ & ์์ ์ฑ. JAX ๊ธฐ๋ฐ GPU ๊ฐ์ ์ง์.
GitHub · MIT
Geant4
CERN ๋ฐฉ์ฌ์ ์์ก ์๋ฎฌ๋ ์ด์
. ํต์ตํฉ ๋ฐฉ์ฌํ ๋ถ์ ๊ธ๋ก๋ฒ ํ์ค. Python ๋ฐ์ธ๋ฉ ํ์ฉ.
CERN · Apache 2.0
ํ๊ตญ·๊ตญ์ ์ฐ๊ตฌ๊ธฐ๊ด
์ฐ๊ตฌ๊ธฐ๊ด & ํ๋ก์ ํธ
ํ๊ตญ ๊ตญ๊ฐํต์ตํฉ์ฐ๊ตฌ์ (KFE)
KSTAR ์ด์๊ธฐ๊ด. H-mode ์ต์ฅ ๊ธฐ๋ก ๋ณด์ . K-DEMO ์ค๊ณ ์ฃผ๋. ๊ตญ์ฐ ํต์ตํฉ ๋ถ์์ ์ฑ ์ฝ๋ ๊ฐ๋ฐ.
kfe.re.kr
ITER Organization
35๊ฐ๊ตญ ๊ณต๋ ๊ฑด์ค ์ค. IMAS ํตํฉ ๋ชจ๋ธ๋ง ํ๋ซํผ. ๊ณต๊ฐ ๊ธฐ์ ๋ณด๊ณ ์ ๋ฐ ๋ฐ์ดํฐ ์ ๊ณต.
iter.org
NIF (๋ฏธ๊ตญ ๋ก๋ ์ค๋ฆฌ๋ฒ๋ชจ์ด)
๊ด์ฑ๊ตฌ์ ํต์ตํฉ Q>1 ๋ฌ์ฑ. ๋ ์ด์ ํต์ตํฉ ICF ๊ธ๋ก๋ฒ ์ ๋. ์คํ ๋ฐ์ดํฐ ์ ๊ณต.
llnl.gov
Commonwealth Fusion (CFS)
HTS REBCO 20T ์ด์ ๋ ์์. SPARC 2027 ๋ชฉํ. MIT ์คํ์คํ. ๋ฏผ๊ฐ ํต์ตํฉ ํ์ .
cfs.energy · ๋ฏผ๊ฐ
IPP (๋
์ผ ๋ง์คํ๋ํฌ)
Wendelstein 7-X ์คํ
๋ผ๋ ์ดํฐ. TRANSP ์์ก ์ฝ๋ ๊ณต๋ ๊ฐ๋ฐ. ํต์ตํฉ ์์ก ์ด๋ก ์ ๋.
ipp.mpg.de
ํต์ฌ ๋ฌผ๋ฆฌ ๊ณต์ & ์์น ๊ธฐ์ค
ํต์ตํฉ ๊ธฐ๋ณธ ๊ณต์
D + T → 4He (3.52 MeV) + n (14.06 MeV)
์ด ๋ฐฉ์ถ ์๋์ง = 17.58 MeV/๋ฐ์
Q = Pfus / Pheat ─ ์๋์ง ์ด๋ ๊ณ์
Q=1: ์์ต๋ถ๊ธฐ | Q=10: ITER ๋ชฉํ | Q∞: ์ด์ ์ ํ
nTฯE ≥ 5×10²¹ m⁻³·keV·s ─ Lawson ๊ธฐ์ค
n: ๋ฐ๋, T: ์จ๋, ฯ_E: ์๋์ง ๊ตฌ์ ์๊ฐ
ฯE = H · ฯE,ITER89P ─ H-mode ๊ตฌ์
H์ธ์: L→H ์ ์ด ์ ~2๋ฐฐ ๊ตฌ์ ํฅ์
PLH ≈ 2.84 M-1 ne0.58 B0.82 S0.81 [MW]
L→H ์ ์ด ์๊ณ ๊ฐ์ด ์ถ๋ ฅ (Martin ์ค์ผ์ผ๋ง)
ITER ์ฃผ์ ํ๋ผ๋ฏธํฐ
| ํ๋ผ๋ฏธํฐ | ๊ฐ | ๋จ์ |
|---|---|---|
| ๋๋ฐ๊ฒฝ R | 6.2 | m |
| ์๋ฐ๊ฒฝ a | 2.0 | m |
| ํ ๋ก์ด๋ฌ ์๊ธฐ์ฅ | 5.3 | T |
| ํ๋ผ์ฆ๋ง ์ ๋ฅ | 15 | MA |
| ๊ฐ์ด ์ถ๋ ฅ (๋ณด์กฐ) | 73 | MW |
| ํต์ตํฉ ์ถ๋ ฅ ๋ชฉํ | 500 | MW |
| Q ๋ชฉํ | 10 | — |
| ํ๋ผ์ฆ๋ง ๋ถํผ | 840 | m³ |
| ์ค์ฑ์ ๋ฒฝ ํ์ค | 0.57 | MW/m² |
