La línea W44_133 solo existe donde hay W⁴⁴⁺, y esa fracción depende de Te.
Este módulo calcula dónde está el W⁴⁴⁺ en cada perfil y simula una LBO de
juguete para separar los efectos atómicos de los de transporte. Se usa en
notebooks/10W3-10W4/10W4.ipynb.
from aug.analysis.atomic import load_w_atom_data, w44_profile_metrics, toy_lbo_signal, signal_metrics
from aug.io import read_lbo_profiles
atom = load_w_atom_data(subset_path="cache/w_adf11_subset.txt")
p = read_lbo_profiles(shot.lbo_paths[0])
rho = p["Te"].rho
ne = np.interp(rho, p["ne"].rho, p["ne"].value)
m = w44_profile_metrics(rho, ne, p["Te"].value, atom)
m["f44_axis"], m["rho_peak"], m["S_Te_w"]
sim = toy_lbo_signal(rho, ne, p["Te"].value, atom, D=0.7)
signal_metrics(sim["t"], sim["signal"])
Datos atómicos
- ADF11 de OPEN-ADAS:
scd50_w.dat(ionización, CADW) yacd50_w.dat
(recombinación, ADPAK). Con Aurora instalado,load_w_atom_data()los
descarga la primera vez. - Sin red,
subset_pathapunta a un subconjunto en texto de esos mismos
archivos: scd a una sola densidad, porque no depende de ne, y acd en
log ne = 13 y 14, que cubre 1e19 a 1e20 m⁻³. En esos nodos los valores son
idénticos a los de los archivos originales (verificado con sumas de
control).
Instalar Aurora
El wheel de PyPI (aurorafusion 3.0.6) no compila con scikit-build-core ≥
0.8. Desde el repo:
brew install gcc # gfortran
git clone https://github.com/fsciortino/Aurora && cd Aurora
sed -i '' 's/cmake.minimum-version = "3.17.2"/cmake.version = ">=3.17.2"/; s/ninja.minimum-version = "1.10"/ninja.version = ">=1.10"/' pyproject.toml
uv pip install --no-deps .
Sin Aurora, w_fractional_abundance hace la misma cuenta en numpy.
Métricas (w44_profile_metrics)
| Clave | Significado |
|---|---|
f44_axis, f44_max, rho_peak |
fracción de W⁴⁴⁺ en el eje, su máximo y dónde está |
shell |
máximo en ρ > 0.15 y en el eje < ½ del máximo |
rho_emis, rho_emis_w |
máximo y centroide de ne²·f44 (dónde mira la línea; sin PEC ni geometría) |
S_Te_axis, S_Te_w |
d ln f44 / d ln Te en el eje y ponderado por la emisividad. Con S < 0, si Te baja la señal sube aunque el W no cambie |
Zmean_axis |
carga media del W en el eje |
LBO de juguete (toy_lbo_signal)
Cilindro de radio a = 0.5 m, ∂n/∂t = (1/r)∂ᵣr(D∂ᵣn − v n) + S, n(a) = 0,
con la fuente en ρ = 0.97. El transporte (D, v) es el mismo para cualquier
perfil y solo cambia la ventana f44(ρ). Señal = Σ n_W·ne·f44 dρ (cuerda
central), con equilibrio coronal instantáneo. Opciones:
dTe_frac: Te baja en proporción al W total (enfriamiento) y la ventana se
mueve en el tiempo.src_dur,src_tau: entrada prolongada del W (reservorio de borde).D_ped,v_ped: barrera de transporte en el pedestal.
Es un límite simple y no una predicción. Sirve para decir qué efectos pueden
producir una forma de curva y cuáles no.
Referencias: F. Sciortino et al., Plasma Phys. Control. Fusion 63,
112001 (2021) (Aurora); T. Pütterich et al., Plasma Phys. Control. Fusion
50, 085016 (2008) (espectros y balance de ionización del W en AUG).