Path: blob/main/latex-templates/templates/plasma-physics/plasma_parameters.tex
51 views
unlisted
\documentclass[11pt,a4paper]{article}1\usepackage[utf8]{inputenc}2\usepackage[T1]{fontenc}3\usepackage{amsmath,amssymb}4\usepackage{graphicx}5\usepackage{booktabs}6\usepackage{siunitx}7\usepackage{geometry}8\geometry{margin=1in}9\usepackage{pythontex}10\usepackage{hyperref}11\usepackage{float}1213\title{Fundamental Plasma Parameters:\\From Debye Shielding to Wave Propagation}14\author{Computational Plasma Physics Laboratory}15\date{\today}1617\begin{document}18\maketitle1920\begin{abstract}21We present a comprehensive computational analysis of fundamental plasma parameters spanning laboratory, space, and fusion plasmas. Starting from the Debye length and plasma frequency, we derive characteristic length and time scales that govern collective behavior. We compute the plasma parameter $N_D$ to verify the plasma approximation, analyze Coulomb collision frequencies and Spitzer conductivity, and examine magnetized plasma dynamics through Larmor radii and cyclotron frequencies. Wave propagation characteristics including Langmuir, ion acoustic, and Alfvén waves are calculated across parameter regimes spanning electron densities from $10^{6}$ to $10^{26}$ m$^{-3}$ and temperatures from 0.1 eV to 10 keV. Our results demonstrate that the dimensionless ratios of these fundamental scales determine whether plasmas are collisional or collisionless, magnetized or unmagnetized, and which wave modes can propagate.22\end{abstract}2324\section{Introduction}2526Plasma behavior is governed by a hierarchy of characteristic length and time scales that emerge from the interplay between electromagnetic forces, thermal motion, and magnetic confinement \cite{chen1984introduction, goldston1995introduction}. The most fundamental of these is the Debye length $\lambda_D$, which characterizes the distance over which electrostatic perturbations are shielded by collective electron redistribution \cite{debye1923theory}. When the number of particles in a Debye sphere $N_D = n \lambda_D^3$ greatly exceeds unity, collective effects dominate individual particle interactions, and the system exhibits true plasma behavior \cite{spitzer1956physics}.2728The plasma frequency $\omega_{pe}$ sets the fundamental time scale for electrostatic oscillations, arising when electrons are displaced from a uniform ion background \cite{tonks1929oscillations}. The ratio of collision frequency to plasma frequency determines whether the plasma is collisional (fluid-like) or collisionless (kinetic), fundamentally altering the physics of transport and wave propagation \cite{krall1973principles}.2930In magnetized plasmas, charged particles gyrate around magnetic field lines with cyclotron frequency $\omega_c$ and Larmor radius $r_L$, introducing anisotropy and enabling new wave modes including electromagnetic Alfvén waves that transport energy along field lines at the Alfvén velocity \cite{alfven1942existence}. The magnetization parameter $\omega_c/\nu_{coll}$ determines whether particles complete many gyro-orbits between collisions, a critical distinction for confinement in fusion devices \cite{wesson2011tokamaks}.3132This report computes these fundamental parameters across the full range of natural and laboratory plasmas, from the tenuous solar wind to dense fusion cores, demonstrating how dimensionless ratios constructed from these scales predict plasma regime transitions and govern collective phenomena.3334\begin{pycode}35import numpy as np36import matplotlib.pyplot as plt37from scipy import constants38from scipy.optimize import fsolve3940# Configure matplotlib for publication-quality plots41plt.rcParams['text.usetex'] = True42plt.rcParams['font.family'] = 'serif'43plt.rcParams['font.size'] = 114445# Physical constants46epsilon_0 = constants.epsilon_0 # Permittivity of free space [F/m]47e = constants.e # Elementary charge [C]48m_e = constants.m_e # Electron mass [kg]49m_p = constants.m_p # Proton mass [kg]50k_B = constants.k # Boltzmann constant [J/K]51c = constants.c # Speed of light [m/s]52mu_0 = constants.mu_0 # Permeability of free space [H/m]5354# Function definitions for plasma parameters55def debye_length(n_e, T_e):56"""57Compute electron Debye length.5859Parameters:60-----------61n_e : float or array62Electron density [m^-3]63T_e : float or array64Electron temperature [eV]6566Returns:67--------68lambda_D : float or array69Debye length [m]70"""71T_e_joules = T_e * e # Convert eV to Joules72return np.sqrt(epsilon_0 * T_e_joules / (n_e * e**2))7374def plasma_frequency(n_e):75"""76Compute electron plasma frequency.7778Parameters:79-----------80n_e : float or array81Electron density [m^-3]8283Returns:84--------85omega_pe : float or array86Plasma frequency [rad/s]87"""88return np.sqrt(n_e * e**2 / (epsilon_0 * m_e))8990def plasma_parameter(n_e, T_e):91"""92Compute number of particles in Debye sphere.9394Parameters:95-----------96n_e : float or array97Electron density [m^-3]98T_e : float or array99Electron temperature [eV]100101Returns:102--------103N_D : float or array104Number of particles in Debye sphere (dimensionless)105"""106lambda_D = debye_length(n_e, T_e)107return (4.0/3.0) * np.pi * n_e * lambda_D**3108109def coulomb_logarithm(n_e, T_e):110"""111Compute Coulomb logarithm for electron-ion collisions.112113Parameters:114-----------115n_e : float or array116Electron density [m^-3]117T_e : float or array118Electron temperature [eV]119120Returns:121--------122ln_Lambda : float or array123Coulomb logarithm (dimensionless)124"""125# Approximate formula valid for most plasmas126return 23.0 - 0.5 * np.log(n_e / 1e6) + 1.25 * np.log(T_e)127128def collision_frequency(n_e, T_e):129"""130Compute electron-ion collision frequency (90-degree deflection).131132Parameters:133-----------134n_e : float or array135Electron density [m^-3]136T_e : float or array137Electron temperature [eV]138139Returns:140--------141nu_ei : float or array142Collision frequency [Hz]143"""144T_e_joules = T_e * e145ln_Lambda = coulomb_logarithm(n_e, T_e)146# Spitzer collision frequency147return (n_e * e**4 * ln_Lambda) / (12 * np.pi**1.5 * epsilon_0**2 * m_e**0.5 * T_e_joules**1.5)148149def mean_free_path(n_e, T_e):150"""151Compute electron-ion mean free path.152153Parameters:154-----------155n_e : float or array156Electron density [m^-3]157T_e : float or array158Electron temperature [eV]159160Returns:161--------162lambda_mfp : float or array163Mean free path [m]164"""165v_thermal = np.sqrt(2 * T_e * e / m_e)166nu_ei = collision_frequency(n_e, T_e)167return v_thermal / nu_ei168169def spitzer_conductivity(T_e):170"""171Compute Spitzer electrical conductivity.172173Parameters:174-----------175T_e : float or array176Electron temperature [eV]177178Returns:179--------180sigma : float or array181Electrical conductivity [S/m]182"""183T_e_joules = T_e * e184# Spitzer conductivity (SI units)185return 1.96e4 * (T_e)**1.5 # Simplified form in S/m186187def cyclotron_frequency(B, m):188"""189Compute cyclotron frequency.190191Parameters:192-----------193B : float or array194Magnetic field strength [T]195m : float196Particle mass [kg]197198Returns:199--------200omega_c : float or array201Cyclotron frequency [rad/s]202"""203return e * B / m204205def larmor_radius(v_perp, B, m):206"""207Compute Larmor radius.208209Parameters:210-----------211v_perp : float or array212Perpendicular velocity [m/s]213B : float or array214Magnetic field strength [T]215m : float216Particle mass [kg]217218Returns:219--------220r_L : float or array221Larmor radius [m]222"""223omega_c = cyclotron_frequency(B, m)224return v_perp / omega_c225226def thermal_larmor_radius(T, B, m):227"""228Compute thermal Larmor radius.229230Parameters:231-----------232T : float or array233Temperature [eV]234B : float or array235Magnetic field strength [T]236m : float237Particle mass [kg]238239Returns:240--------241r_L : float or array242Thermal Larmor radius [m]243"""244v_thermal = np.sqrt(2 * T * e / m)245return larmor_radius(v_thermal, B, m)246247def alfven_velocity(B, n):248"""249Compute Alfvén velocity.250251Parameters:252-----------253B : float or array254Magnetic field strength [T]255n : float or array256Ion density [m^-3]257258Returns:259--------260v_A : float or array261Alfvén velocity [m/s]262"""263return B / np.sqrt(mu_0 * n * m_p)264265def ion_acoustic_velocity(T_e, T_i, gamma_e=1, gamma_i=3):266"""267Compute ion acoustic velocity.268269Parameters:270-----------271T_e : float or array272Electron temperature [eV]273T_i : float or array274Ion temperature [eV]275gamma_e : float276Electron adiabatic index (1 for isothermal, 3 for adiabatic)277gamma_i : float278Ion adiabatic index279280Returns:281--------282c_s : float or array283Ion acoustic velocity [m/s]284"""285return np.sqrt((gamma_e * T_e * e + gamma_i * T_i * e) / m_p)286287\end{pycode}288289\section{Debye Shielding and Plasma Frequency}290291The Debye length arises from a balance between electrostatic potential energy and thermal kinetic energy. When a test charge is introduced into a plasma, electrons redistribute to screen the perturbation over a characteristic distance:292\begin{equation}293\lambda_D = \sqrt{\frac{\epsilon_0 k_B T_e}{n_e e^2}} = 743 \sqrt{\frac{T_e[\text{eV}]}{n_e[\text{m}^{-3}]}} \, \text{m}294\end{equation}295296The electron plasma frequency represents collective oscillations when charge displacement creates a restoring electric field:297\begin{equation}298\omega_{pe} = \sqrt{\frac{n_e e^2}{\epsilon_0 m_e}} = 56.4 \sqrt{n_e[\text{m}^{-3}]} \, \text{rad/s}299\end{equation}300301For a system to exhibit collective plasma behavior, the number of particles in a Debye sphere must greatly exceed unity:302\begin{equation}303N_D = n_e \lambda_D^3 = \frac{4\pi}{3} n_e \left(\frac{\epsilon_0 k_B T_e}{n_e e^2}\right)^{3/2} \gg 1304\end{equation}305306\begin{pycode}307# Parameter space for different plasma regimes308n_e_range = np.logspace(6, 26, 200) # 10^6 to 10^26 m^-3309310# Representative temperatures311temperatures = {312'Solar Corona': 100, # eV313'Tokamak Edge': 10, # eV314'Tokamak Core': 5000, # eV315'Ionosphere': 0.1 # eV316}317318fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(14, 12))319320# Plot 1: Debye length vs density for different temperatures321for label, T_e in temperatures.items():322lambda_D = debye_length(n_e_range, T_e)323ax1.loglog(n_e_range, lambda_D * 1e6, linewidth=2.5, label=f'{label} ({T_e} eV)')324325# Mark specific plasma regimes326regimes = {327'Ionosphere': (1e11, 0.1),328'Solar Wind': (1e7, 10),329'Solar Corona': (1e14, 100),330'Glow Discharge': (1e16, 2),331'Tokamak Edge': (1e19, 10),332'Tokamak Core': (1e20, 5000),333'ICF Compression': (1e26, 1000)334}335336for regime, (n, T) in regimes.items():337ld = debye_length(n, T) * 1e6338ax1.plot(n, ld, 'o', markersize=8, color='black')339ax1.annotate(regime, xy=(n, ld), xytext=(10, 10),340textcoords='offset points', fontsize=8,341bbox=dict(boxstyle='round,pad=0.3', facecolor='yellow', alpha=0.5))342343ax1.set_xlabel(r'Electron Density $n_e$ [m$^{-3}$]', fontsize=12)344ax1.set_ylabel(r'Debye Length $\lambda_D$ [$\mu$m]', fontsize=12)345ax1.set_title(r'Debye Shielding Length Across Plasma Regimes', fontsize=13, fontweight='bold')346ax1.legend(loc='upper right', fontsize=9)347ax1.grid(True, alpha=0.3, which='both')348ax1.set_xlim([1e6, 1e27])349ax1.set_ylim([1e-6, 1e6])350351# Plot 2: Plasma frequency and period352omega_pe = plasma_frequency(n_e_range)353f_pe = omega_pe / (2 * np.pi)354tau_pe = 1 / f_pe355356ax2.loglog(n_e_range, f_pe, 'b-', linewidth=2.5, label=r'$f_{pe}$ [Hz]')357ax2_twin = ax2.twinx()358ax2_twin.loglog(n_e_range, tau_pe * 1e12, 'r--', linewidth=2.5, label=r'$\tau_{pe}$ [ps]')359360ax2.set_xlabel(r'Electron Density $n_e$ [m$^{-3}$]', fontsize=12)361ax2.set_ylabel(r'Plasma Frequency $f_{pe}$ [Hz]', fontsize=12, color='b')362ax2_twin.set_ylabel(r'Plasma Period $\tau_{pe}$ [ps]', fontsize=12, color='r')363ax2.set_title(r'Electron Plasma Oscillation Timescale', fontsize=13, fontweight='bold')364ax2.tick_params(axis='y', labelcolor='b')365ax2_twin.tick_params(axis='y', labelcolor='r')366ax2.grid(True, alpha=0.3, which='both')367ax2.legend(loc='upper left', fontsize=10)368ax2_twin.legend(loc='lower right', fontsize=10)369370# Plot 3: Plasma parameter N_D371T_e_range = np.logspace(-1, 4, 200) # 0.1 to 10,000 eV372N_D_grid = np.zeros((len(n_e_range), len(T_e_range)))373374for i, n in enumerate(n_e_range):375for j, T in enumerate(T_e_range):376N_D_grid[i, j] = plasma_parameter(n, T)377378# Create contour plot379levels = np.logspace(-2, 12, 15)380cs = ax3.contourf(T_e_range, n_e_range, N_D_grid, levels=levels,381cmap='RdYlGn', norm=plt.matplotlib.colors.LogNorm())382ax3.contour(T_e_range, n_e_range, N_D_grid, levels=[1], colors='black',383linewidths=3, linestyles='--')384385# Mark regime boundaries386ax3.annotate(r'$N_D < 1$: Not a Plasma', xy=(0.2, 1e8), fontsize=11,387bbox=dict(boxstyle='round', facecolor='red', alpha=0.7))388ax3.annotate(r'$N_D \gg 1$: Collective Behavior', xy=(50, 1e18), fontsize=11,389bbox=dict(boxstyle='round', facecolor='green', alpha=0.7))390391ax3.set_xscale('log')392ax3.set_yscale('log')393ax3.set_xlabel(r'Electron Temperature $T_e$ [eV]', fontsize=12)394ax3.set_ylabel(r'Electron Density $n_e$ [m$^{-3}$]', fontsize=12)395ax3.set_title(r'Plasma Parameter $N_D = n_e \lambda_D^3$', fontsize=13, fontweight='bold')396cbar = plt.colorbar(cs, ax=ax3)397cbar.set_label(r'$N_D$ (dimensionless)', fontsize=11)398399# Plot regime points400for regime, (n, T) in regimes.items():401N_D_val = plasma_parameter(n, T)402if N_D_val > 1:403ax3.plot(T, n, 'o', markersize=6, color='blue', markeredgecolor='black')404405# Plot 4: Ratio of Debye length to system size406# For tokamak-like parameters407n_tokamak = np.logspace(18, 21, 100)408T_tokamak = np.logspace(0, 4, 100)409system_size = 1.0 # 1 meter characteristic size410411lambda_D_normalized = np.zeros((len(n_tokamak), len(T_tokamak)))412for i, n in enumerate(n_tokamak):413for j, T in enumerate(T_tokamak):414lambda_D_normalized[i, j] = debye_length(n, T) / system_size415416levels_norm = np.logspace(-8, 0, 9)417cs2 = ax4.contourf(T_tokamak, n_tokamak, lambda_D_normalized,418levels=levels_norm, cmap='viridis',419norm=plt.matplotlib.colors.LogNorm())420421ax4.set_xscale('log')422ax4.set_yscale('log')423ax4.set_xlabel(r'Temperature $T_e$ [eV]', fontsize=12)424ax4.set_ylabel(r'Density $n_e$ [m$^{-3}$]', fontsize=12)425ax4.set_title(r'Debye Length Normalized to System Size (1 m)', fontsize=13, fontweight='bold')426cbar2 = plt.colorbar(cs2, ax=ax4)427cbar2.set_label(r'$\lambda_D / L$ (dimensionless)', fontsize=11)428429# Mark fusion-relevant regime430ax4.axvspan(1000, 10000, alpha=0.2, color='red', label='Fusion Core')431ax4.axhspan(1e19, 1e21, alpha=0.2, color='blue', label='Fusion Density')432ax4.legend(loc='lower left', fontsize=9)433434plt.tight_layout()435plt.savefig('plasma_parameters_debye_plasma_freq.pdf', dpi=300, bbox_inches='tight')436plt.close()437438# Store key values for table439debye_values = {}440for regime, (n, T) in regimes.items():441debye_values[regime] = {442'n_e': n,443'T_e': T,444'lambda_D': debye_length(n, T),445'omega_pe': plasma_frequency(n),446'N_D': plasma_parameter(n, T)447}448\end{pycode}449450\begin{figure}[H]451\centering452\includegraphics[width=0.98\textwidth]{plasma_parameters_debye_plasma_freq.pdf}453\caption{Fundamental plasma parameters across density-temperature space. \textbf{Top Left:} Debye shielding length decreases with increasing density as more particles are available to screen perturbations, ranging from millimeters in the ionosphere to nanometers in compressed fusion fuel. Representative regimes span eight orders of magnitude in density. \textbf{Top Right:} Plasma frequency and corresponding oscillation period, showing the fundamental timescale for electrostatic oscillations increases from femtoseconds at solid-density to microseconds in space plasmas. \textbf{Bottom Left:} Plasma parameter $N_D$ in density-temperature space, with the critical boundary $N_D = 1$ (dashed black line) separating strongly-coupled systems from weakly-coupled plasmas where collective effects dominate. Most natural and laboratory plasmas occupy the $N_D \gg 1$ regime (green) where mean-field theory applies. \textbf{Bottom Right:} Ratio of Debye length to system size for fusion-relevant parameters, demonstrating that $\lambda_D/L \ll 1$ ensures quasi-neutrality and justifies the plasma approximation for macroscopic devices.}454\end{figure}455456\section{Collisional Processes and Transport}457458Coulomb collisions between charged particles determine transport coefficients and distinguish collisional from collisionless regimes. The 90-degree deflection collision frequency is:459\begin{equation}460\nu_{ei} = \frac{n_e e^4 \ln\Lambda}{12\pi^{3/2} \epsilon_0^2 m_e^{1/2} (k_B T_e)^{3/2}}461\end{equation}462463where $\ln\Lambda$ is the Coulomb logarithm accounting for cumulative small-angle scattering. The electron-ion mean free path is $\lambda_{mfp} = v_{th,e} / \nu_{ei}$, where $v_{th,e} = \sqrt{2k_B T_e / m_e}$ is the thermal velocity.464465The Spitzer electrical conductivity for a fully ionized plasma is:466\begin{equation}467\sigma_{Spitzer} = 1.96 \times 10^4 \, T_e^{3/2} \, \text{S/m}468\end{equation}469470with $T_e$ in eV. This strong temperature dependence ($\sigma \propto T^{3/2}$) arises because faster electrons scatter less frequently and have higher momentum.471472\begin{pycode}473# Calculate collision properties474T_e_coll = np.logspace(-1, 4, 200) # 0.1 to 10,000 eV475476fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(14, 12))477478# Plot 1: Collision frequency vs temperature for different densities479densities = [1e18, 1e19, 1e20, 1e21] # m^-3480colors = ['blue', 'green', 'orange', 'red']481482for n, color in zip(densities, colors):483nu_ei = collision_frequency(n, T_e_coll)484omega_pe_val = plasma_frequency(n)485486ax1.loglog(T_e_coll, nu_ei, linewidth=2.5, color=color,487label=f'$n_e = {n:.0e}$ m$^{{-3}}$')488ax1.axhline(omega_pe_val, linestyle='--', linewidth=1.5, color=color, alpha=0.5)489490ax1.set_xlabel(r'Electron Temperature $T_e$ [eV]', fontsize=12)491ax1.set_ylabel(r'Collision Frequency $\nu_{ei}$ [Hz]', fontsize=12)492ax1.set_title(r'Electron-Ion Collision Frequency (dashed: $\omega_{pe}$)', fontsize=13, fontweight='bold')493ax1.legend(fontsize=10)494ax1.grid(True, alpha=0.3, which='both')495ax1.set_ylim([1e6, 1e16])496497# Plot 2: Collisionality parameter nu/omega498for n, color in zip(densities, colors):499nu_ei = collision_frequency(n, T_e_coll)500omega_pe_val = plasma_frequency(n)501collisionality = nu_ei / omega_pe_val502503ax2.loglog(T_e_coll, collisionality, linewidth=2.5, color=color,504label=f'$n_e = {n:.0e}$ m$^{{-3}}$')505506ax2.axhline(1, linestyle='--', linewidth=2, color='black', label=r'$\nu/\omega = 1$')507ax2.fill_between(T_e_coll, 1e-6, 1, alpha=0.2, color='blue', label='Collisionless')508ax2.fill_between(T_e_coll, 1, 1e6, alpha=0.2, color='red', label='Collisional')509510ax2.set_xlabel(r'Electron Temperature $T_e$ [eV]', fontsize=12)511ax2.set_ylabel(r'Collisionality $\nu_{ei}/\omega_{pe}$', fontsize=12)512ax2.set_title(r'Collisionality Parameter: Fluid vs Kinetic Regimes', fontsize=13, fontweight='bold')513ax2.legend(fontsize=9, loc='upper right')514ax2.grid(True, alpha=0.3, which='both')515ax2.set_ylim([1e-3, 1e3])516517# Plot 3: Mean free path vs Debye length518for n, color in zip(densities, colors):519mfp = mean_free_path(n, T_e_coll)520ld = debye_length(n, T_e_coll)521ratio = mfp / ld522523ax3.loglog(T_e_coll, ratio, linewidth=2.5, color=color,524label=f'$n_e = {n:.0e}$ m$^{{-3}}$')525526ax3.axhline(1, linestyle='--', linewidth=2, color='black')527ax3.set_xlabel(r'Electron Temperature $T_e$ [eV]', fontsize=12)528ax3.set_ylabel(r'$\lambda_{mfp} / \lambda_D$', fontsize=12)529ax3.set_title(r'Mean Free Path Normalized to Debye Length', fontsize=13, fontweight='bold')530ax3.legend(fontsize=10)531ax3.grid(True, alpha=0.3, which='both')532533# Plot 4: Spitzer conductivity534sigma_spitzer = spitzer_conductivity(T_e_coll)535536ax4.loglog(T_e_coll, sigma_spitzer, linewidth=3, color='purple')537ax4.set_xlabel(r'Electron Temperature $T_e$ [eV]', fontsize=12)538ax4.set_ylabel(r'Spitzer Conductivity $\sigma$ [S/m]', fontsize=12)539ax4.set_title(r'Electrical Conductivity: $\sigma \propto T_e^{3/2}$', fontsize=13, fontweight='bold')540ax4.grid(True, alpha=0.3, which='both')541542# Mark reference materials543copper_conductivity = 5.96e7 # S/m at room temperature544ax4.axhline(copper_conductivity, linestyle='--', linewidth=2, color='orange',545label='Copper (300 K)')546547# Find where plasma exceeds copper conductivity548T_exceed_copper = T_e_coll[sigma_spitzer > copper_conductivity][0]549ax4.plot(T_exceed_copper, copper_conductivity, 'ro', markersize=10)550ax4.annotate(f'$T_e = {T_exceed_copper:.1f}$ eV\n(plasma exceeds Cu)',551xy=(T_exceed_copper, copper_conductivity),552xytext=(20, -30), textcoords='offset points',553fontsize=10, bbox=dict(boxstyle='round', facecolor='yellow', alpha=0.7),554arrowprops=dict(arrowstyle='->', lw=2))555556ax4.legend(fontsize=10, loc='lower right')557558plt.tight_layout()559plt.savefig('plasma_parameters_collisions.pdf', dpi=300, bbox_inches='tight')560plt.close()561562# Calculate collision parameters for regimes563collision_data = {}564for regime, (n, T) in regimes.items():565nu_ei = collision_frequency(n, T)566omega_pe_val = plasma_frequency(n)567mfp = mean_free_path(n, T)568ld = debye_length(n, T)569sigma = spitzer_conductivity(T)570571collision_data[regime] = {572'nu_ei': nu_ei,573'collisionality': nu_ei / omega_pe_val,574'mfp': mfp,575'mfp_over_ld': mfp / ld,576'sigma': sigma577}578\end{pycode}579580\begin{figure}[H]581\centering582\includegraphics[width=0.98\textwidth]{plasma_parameters_collisions.pdf}583\caption{Collisional processes and transport properties. \textbf{Top Left:} Electron-ion collision frequency decreases as $T^{-3/2}$ due to reduced Coulomb scattering cross-section at higher velocities. Dashed horizontal lines indicate plasma frequencies $\omega_{pe}$ for each density; when $\nu_{ei} < \omega_{pe}$ the plasma oscillates many times between collisions. \textbf{Top Right:} Collisionality parameter $\nu_{ei}/\omega_{pe}$ separates collisional regimes ($> 1$, red shading) where fluid theory applies from collisionless regimes ($< 1$, blue shading) requiring kinetic treatment. Most fusion plasmas are deeply collisionless. \textbf{Bottom Left:} Ratio of electron mean free path to Debye length, demonstrating that collisions typically occur over distances much larger than the screening length, validating the Debye-Hückel approximation. \textbf{Bottom Right:} Spitzer conductivity increases as $T_e^{3/2}$, exceeding copper's conductivity above $\sim 8$ eV. Hot fusion plasmas are excellent electrical conductors despite their low density.}584\end{figure}585586\section{Magnetized Plasma Dynamics}587588In the presence of a magnetic field $\mathbf{B}$, charged particles execute helical trajectories with cyclotron frequency:589\begin{equation}590\omega_c = \frac{eB}{m}591\end{equation}592593The Larmor radius (gyroradius) for a particle with perpendicular velocity $v_\perp$ is:594\begin{equation}595r_L = \frac{v_\perp}{\omega_c} = \frac{m v_\perp}{eB}596\end{equation}597598For a thermal distribution, the characteristic thermal Larmor radius is $r_{L,th} = v_{th} / \omega_c$, where $v_{th} = \sqrt{2k_B T/m}$.599600The magnetization parameter $\omega_c \tau_{coll} = \omega_c / \nu$ determines whether particles complete many gyro-orbits between collisions. When $\omega_c \tau_{coll} \gg 1$, transport is highly anisotropic with diffusion predominantly along field lines.601602\begin{pycode}603# Magnetic field strengths604B_range = np.logspace(-6, 2, 200) # 1 microTesla to 100 Tesla605606# Temperature range607T_range = np.logspace(-1, 4, 200) # 0.1 to 10,000 eV608609fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(14, 12))610611# Plot 1: Larmor radius vs B field for different temperatures612for T in [1, 10, 100, 1000, 5000]:613r_L_electron = thermal_larmor_radius(T, B_range, m_e) * 1e3 # mm614r_L_proton = thermal_larmor_radius(T, B_range, m_p) * 1e3 # mm615616ax1.loglog(B_range, r_L_electron, linewidth=2, label=f'e$^-$, {T} eV')617ax1.loglog(B_range, r_L_proton, linewidth=2, linestyle='--', label=f'p$^+$, {T} eV')618619# Mark typical magnetic fields620B_markers = {621'Earth': 5e-5,622'Tokamak': 5,623'Stellarator': 2,624'Z-pinch': 10,625'Magnetar': 1e8 # Off scale but conceptual626}627628for name, B_val in B_markers.items():629if B_val < 100:630ax1.axvline(B_val, linestyle=':', alpha=0.5, color='gray')631ax1.text(B_val, 1e2, name, rotation=90, va='bottom', fontsize=8)632633ax1.set_xlabel(r'Magnetic Field $B$ [T]', fontsize=12)634ax1.set_ylabel(r'Thermal Larmor Radius $r_L$ [mm]', fontsize=12)635ax1.set_title(r'Larmor Radius: Electron (solid) vs Proton (dashed)', fontsize=13, fontweight='bold')636ax1.legend(fontsize=8, ncol=2, loc='upper right')637ax1.grid(True, alpha=0.3, which='both')638ax1.set_xlim([1e-6, 1e2])639ax1.set_ylim([1e-4, 1e4])640641# Plot 2: Cyclotron frequency642omega_ce = cyclotron_frequency(B_range, m_e) / (2 * np.pi) # Hz643omega_ci = cyclotron_frequency(B_range, m_p) / (2 * np.pi) # Hz644645ax2.loglog(B_range, omega_ce, linewidth=3, color='blue', label='Electron')646ax2.loglog(B_range, omega_ci, linewidth=3, color='red', label='Proton')647648ax2.set_xlabel(r'Magnetic Field $B$ [T]', fontsize=12)649ax2.set_ylabel(r'Cyclotron Frequency $f_c$ [Hz]', fontsize=12)650ax2.set_title(r'Cyclotron Frequency: $f_c = eB/(2\pi m)$', fontsize=13, fontweight='bold')651ax2.legend(fontsize=11)652ax2.grid(True, alpha=0.3, which='both')653654# Mark frequency bands655ax2.axhspan(1e6, 1e9, alpha=0.1, color='green', label='RF range')656ax2.axhspan(1e9, 3e11, alpha=0.1, color='yellow', label='Microwave')657658# Plot 3: Magnetization parameter (omega_c / nu)659n_mag = 1e20 # Fixed density for tokamak660T_mag = np.logspace(0, 4, 200)661662magnetization_electron = np.zeros((len(B_range), len(T_mag)))663magnetization_ion = np.zeros((len(B_range), len(T_mag)))664665for i, B in enumerate(B_range):666for j, T in enumerate(T_mag):667omega_ce_val = cyclotron_frequency(B, m_e)668omega_ci_val = cyclotron_frequency(B, m_p)669nu_ei = collision_frequency(n_mag, T)670671magnetization_electron[i, j] = omega_ce_val / nu_ei672magnetization_ion[i, j] = omega_ci_val / nu_ei673674# Plot electron magnetization675levels_mag = np.logspace(-2, 6, 9)676cs = ax3.contourf(T_mag, B_range, magnetization_electron,677levels=levels_mag, cmap='plasma',678norm=plt.matplotlib.colors.LogNorm())679ax3.contour(T_mag, B_range, magnetization_electron, levels=[1],680colors='white', linewidths=3, linestyles='--')681682ax3.set_xscale('log')683ax3.set_yscale('log')684ax3.set_xlabel(r'Temperature $T_e$ [eV]', fontsize=12)685ax3.set_ylabel(r'Magnetic Field $B$ [T]', fontsize=12)686ax3.set_title(r'Electron Magnetization $\omega_{ce}/\nu_{ei}$ ($n_e = 10^{20}$ m$^{-3}$)',687fontsize=13, fontweight='bold')688cbar = plt.colorbar(cs, ax=ax3)689cbar.set_label(r'$\omega_{ce}/\nu_{ei}$', fontsize=11)690691# Mark fusion regime692ax3.axvspan(1000, 10000, alpha=0.2, color='cyan')693ax3.axhspan(1, 10, alpha=0.2, color='cyan')694695# Plot 4: Ratio of Larmor radius to system size696system_size_fusion = 1.0 # 1 meter697r_L_normalized = thermal_larmor_radius(1000, B_range, m_e) / system_size_fusion698699ax4.loglog(B_range, r_L_normalized, linewidth=3, color='purple', label='Electron (1 keV)')700701r_L_normalized_ion = thermal_larmor_radius(1000, B_range, m_p) / system_size_fusion702ax4.loglog(B_range, r_L_normalized_ion, linewidth=3, color='orange',703linestyle='--', label='Proton (1 keV)')704705ax4.axhline(0.01, linestyle=':', linewidth=2, color='green',706label=r'$r_L/L = 0.01$ (good confinement)')707ax4.axhline(1, linestyle=':', linewidth=2, color='red',708label=r'$r_L/L = 1$ (poor confinement)')709710ax4.set_xlabel(r'Magnetic Field $B$ [T]', fontsize=12)711ax4.set_ylabel(r'$r_L / L$ (dimensionless)', fontsize=12)712ax4.set_title(r'Larmor Radius Normalized to System Size (1 m)', fontsize=13, fontweight='bold')713ax4.legend(fontsize=10)714ax4.grid(True, alpha=0.3, which='both')715ax4.set_xlim([1e-6, 1e2])716ax4.set_ylim([1e-6, 1e4])717718# Mark typical fusion fields719for name, B_val in [('Earth', 5e-5), ('Tokamak', 5), ('Stellarator', 2)]:720if B_val < 100:721ax4.axvline(B_val, linestyle=':', alpha=0.5, color='gray', linewidth=1)722723plt.tight_layout()724plt.savefig('plasma_parameters_magnetized.pdf', dpi=300, bbox_inches='tight')725plt.close()726727# Calculate magnetization parameters728magnetic_data = {}729magnetic_fields = {730'Earth Magnetosphere': 5e-5,731'Tokamak (ITER)': 5.3,732'Stellarator (W7-X)': 2.5,733'RFP': 0.5,734'Laser Plasma': 100735}736737for field_name, B in magnetic_fields.items():738for regime, (n, T) in regimes.items():739if 'Tokamak' in regime or 'Solar' in regime:740omega_ce_val = cyclotron_frequency(B, m_e)741omega_ci_val = cyclotron_frequency(B, m_p)742nu_ei = collision_frequency(n, T)743r_L_e = thermal_larmor_radius(T, B, m_e)744r_L_i = thermal_larmor_radius(T, B, m_p)745746key = f"{regime}_{field_name}"747magnetic_data[key] = {748'B': B,749'omega_ce': omega_ce_val,750'omega_ci': omega_ci_val,751'magnetization_e': omega_ce_val / nu_ei if nu_ei > 0 else np.inf,752'r_L_e': r_L_e,753'r_L_i': r_L_i754}755\end{pycode}756757\begin{figure}[H]758\centering759\includegraphics[width=0.98\textwidth]{plasma_parameters_magnetized.pdf}760\caption{Magnetized plasma parameters and confinement metrics. \textbf{Top Left:} Thermal Larmor radius decreases with magnetic field strength, with electrons (solid) gyrating $\sqrt{m_p/m_e} \approx 43$ times tighter than protons (dashed). Vertical gray lines mark typical field strengths from Earth's magnetosphere ($50 \mu$T) to tokamaks ($\sim 5$ T). At 5 T and 1 keV, electrons have sub-millimeter gyroradii while ions have centimeter-scale orbits. \textbf{Top Right:} Cyclotron frequencies span radio (MHz) to microwave (GHz) bands, determining resonant heating schemes used in fusion devices. \textbf{Bottom Left:} Electron magnetization parameter $\omega_{ce}/\nu_{ei}$ in temperature-field space for fusion density $n_e = 10^{20}$ m$^{-3}$. White dashed contour at unity separates weakly magnetized (fluid-like) from strongly magnetized (guiding-center) regimes. Cyan shading indicates typical tokamak operating space where $\omega_{ce}/\nu_{ei} \sim 10^3$. \textbf{Bottom Right:} Normalized Larmor radius determines confinement quality; $r_L/L < 0.01$ (green line) indicates good magnetic confinement, while $r_L/L \sim 1$ (red line) implies particles reach walls before completing orbits. Multi-Tesla fields are required to confine keV plasmas in meter-scale devices.}761\end{figure}762763\section{Wave Propagation in Plasmas}764765Plasmas support a rich spectrum of wave modes arising from coupling between electromagnetic fields, pressure gradients, and magnetic tension. The three fundamental modes are:766767\textbf{1. Langmuir Waves (Electron Plasma Waves):} Electrostatic oscillations at the plasma frequency, representing collective electron motion against a stationary ion background. Dispersion relation:768\begin{equation}769\omega^2 = \omega_{pe}^2 + \frac{3}{2} k^2 v_{th,e}^2770\end{equation}771772\textbf{2. Ion Acoustic Waves:} Electrostatic sound waves in which ion inertia provides the restoring force and electron pressure provides stiffness. Propagation velocity:773\begin{equation}774c_s = \sqrt{\frac{\gamma_e k_B T_e + \gamma_i k_B T_i}{m_i}}775\end{equation}776777For $T_e \gg T_i$ and isothermal electrons ($\gamma_e = 1$), this simplifies to $c_s \approx \sqrt{k_B T_e / m_i}$.778779\textbf{3. Alfvén Waves:} Transverse electromagnetic waves propagating along magnetic field lines with velocity determined by magnetic tension:780\begin{equation}781v_A = \frac{B}{\sqrt{\mu_0 \rho}} = \frac{B}{\sqrt{\mu_0 n_i m_i}}782\end{equation}783784These waves are crucial for energy transport in magnetized plasmas and play a central role in solar corona heating and magnetospheric dynamics.785786\begin{pycode}787# Wave propagation calculations788n_wave = np.logspace(16, 22, 200) # Density range for wave analysis789790fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(14, 12))791792# Plot 1: Phase velocities of different waves793T_wave = 100 # eV794B_wave = 1.0 # Tesla795796omega_pe_wave = plasma_frequency(n_wave)797f_pe_wave = omega_pe_wave / (2 * np.pi)798799# Ion acoustic velocity (assuming T_i = 0.1 * T_e)800c_s = ion_acoustic_velocity(T_wave, 0.1 * T_wave, gamma_e=1, gamma_i=3)801802# Alfven velocity803v_A_array = alfven_velocity(B_wave, n_wave)804805# Electron thermal velocity806v_th_e = np.sqrt(2 * T_wave * e / m_e)807808# Phase velocity of Langmuir wave at k*lambda_D = 0.3809k_lambda_D = 0.3810lambda_D_array = debye_length(n_wave, T_wave)811k_array = k_lambda_D / lambda_D_array812v_ph_langmuir = omega_pe_wave / k_array813814ax1.loglog(n_wave, v_A_array * 1e-3, linewidth=3, color='blue', label=r'Alfv\'en $v_A$')815ax1.axhline(c_s * 1e-3, linewidth=3, color='green', label=r'Ion Acoustic $c_s$')816ax1.axhline(v_th_e * 1e-3, linewidth=3, color='red', linestyle='--', label=r'Electron Thermal $v_{th,e}$')817ax1.loglog(n_wave, v_ph_langmuir * 1e-3, linewidth=2.5, color='purple',818label=r'Langmuir $v_{ph}$ ($k\lambda_D = 0.3$)')819820ax1.set_xlabel(r'Density $n$ [m$^{-3}$]', fontsize=12)821ax1.set_ylabel(r'Velocity [km/s]', fontsize=12)822ax1.set_title(f'Wave Phase Velocities ($T_e = {T_wave}$ eV, $B = {B_wave}$ T)',823fontsize=13, fontweight='bold')824ax1.legend(fontsize=11, loc='best')825ax1.grid(True, alpha=0.3, which='both')826827# Speed of light reference828ax1.axhline(c * 1e-3, linewidth=2, color='black', linestyle=':', alpha=0.5, label='Speed of light')829830# Plot 2: Langmuir wave dispersion831k_range = np.logspace(-3, 2, 300) # k * lambda_D832omega_langmuir = np.zeros((len(k_range), 3)) # Three temperatures833834T_dispersion = [10, 100, 1000] # eV835n_dispersion = 1e20 # m^-3836837for idx, T_disp in enumerate(T_dispersion):838omega_pe_disp = plasma_frequency(n_dispersion)839lambda_D_disp = debye_length(n_dispersion, T_disp)840v_th_e_disp = np.sqrt(2 * T_disp * e / m_e)841842omega_langmuir[:, idx] = np.sqrt(omega_pe_disp**2 + 1.5 * (k_range / lambda_D_disp * v_th_e_disp)**2)843844ax2.loglog(k_range, omega_langmuir[:, idx] / omega_pe_disp, linewidth=2.5,845label=f'$T_e = {T_disp}$ eV')846847ax2.axhline(1, linestyle='--', linewidth=2, color='black', alpha=0.5)848ax2.set_xlabel(r'$k\lambda_D$ (dimensionless)', fontsize=12)849ax2.set_ylabel(r'$\omega / \omega_{pe}$ (dimensionless)', fontsize=12)850ax2.set_title(r'Langmuir Wave Dispersion: $\omega^2 = \omega_{pe}^2 + \frac{3}{2}k^2 v_{th}^2$',851fontsize=13, fontweight='bold')852ax2.legend(fontsize=11)853ax2.grid(True, alpha=0.3, which='both')854ax2.set_xlim([1e-3, 1e2])855856# Plot 3: Alfvén velocity across plasma regimes857B_alfven = np.logspace(-6, 1, 200) # 1 microT to 10 T858n_alfven_values = [1e18, 1e19, 1e20, 1e21]859860for n_alf in n_alfven_values:861v_A_sweep = alfven_velocity(B_alfven, n_alf)862ax3.loglog(B_alfven, v_A_sweep * 1e-3, linewidth=2.5, label=f'$n = {n_alf:.0e}$ m$^{{-3}}$')863864# Mark regimes where v_A is comparable to other velocities865ax3.axhline(c_s * 1e-3, linestyle=':', linewidth=2, color='green', alpha=0.5,866label=f'$c_s$ ({T_wave} eV)')867ax3.axhline(1e4, linestyle=':', linewidth=2, color='red', alpha=0.5,868label='$10^4$ km/s')869870ax3.set_xlabel(r'Magnetic Field $B$ [T]', fontsize=12)871ax3.set_ylabel(r'Alfv\'en Velocity $v_A$ [km/s]', fontsize=12)872ax3.set_title(r'Alfv\'en Velocity: $v_A = B/\sqrt{\mu_0 n m_p}$', fontsize=13, fontweight='bold')873ax3.legend(fontsize=10, loc='lower right')874ax3.grid(True, alpha=0.3, which='both')875876# Plot 4: Plasma beta parameter877T_beta = np.logspace(-1, 4, 200)878B_beta = 5.0 # Tesla (tokamak field)879n_beta = 1e20 # m^-3880881# Thermal pressure882p_thermal = n_beta * k_B * T_beta * e # Pascals883884# Magnetic pressure885p_magnetic = B_beta**2 / (2 * mu_0)886887# Beta parameter888beta = p_thermal / p_magnetic889890ax4.loglog(T_beta, beta, linewidth=3, color='darkblue')891ax4.axhline(1, linestyle='--', linewidth=2, color='black', label=r'$\beta = 1$')892ax4.fill_between(T_beta, 1e-6, 1, alpha=0.2, color='blue', label=r'$\beta < 1$ (Low-$\beta$)')893ax4.fill_between(T_beta, 1, 1e2, alpha=0.2, color='red', label=r'$\beta > 1$ (High-$\beta$)')894895ax4.set_xlabel(r'Temperature $T$ [eV]', fontsize=12)896ax4.set_ylabel(r'Plasma Beta $\beta = p_{thermal}/p_{magnetic}$', fontsize=12)897ax4.set_title(f'Plasma Beta Parameter ($n = {n_beta:.0e}$ m$^{{-3}}$, $B = {B_beta}$ T)',898fontsize=13, fontweight='bold')899ax4.legend(fontsize=11)900ax4.grid(True, alpha=0.3, which='both')901902# Mark fusion-relevant temperature903T_fusion = 10000 # eV (10 keV)904beta_fusion = (n_beta * k_B * T_fusion * e) / (B_beta**2 / (2 * mu_0))905ax4.plot(T_fusion, beta_fusion, 'ro', markersize=10)906ax4.annotate(f'Fusion core\n$\\beta = {beta_fusion:.3f}$', xy=(T_fusion, beta_fusion),907xytext=(30, -30), textcoords='offset points',908fontsize=10, bbox=dict(boxstyle='round', facecolor='yellow', alpha=0.7),909arrowprops=dict(arrowstyle='->', lw=2))910911plt.tight_layout()912plt.savefig('plasma_parameters_waves.pdf', dpi=300, bbox_inches='tight')913plt.close()914915# Calculate wave properties for table916wave_data = {}917for regime, (n, T) in regimes.items():918if 'Tokamak' in regime or 'Solar' in regime:919omega_pe_val = plasma_frequency(n)920c_s_val = ion_acoustic_velocity(T, 0.1 * T)921922# Assume B field for each regime923if 'Tokamak' in regime:924B_val = 5.0925elif 'Solar' in regime:926B_val = 0.01927else:928B_val = 1e-5929930v_A_val = alfven_velocity(B_val, n)931932wave_data[regime] = {933'f_pe': omega_pe_val / (2 * np.pi),934'c_s': c_s_val,935'v_A': v_A_val,936'B': B_val937}938\end{pycode}939940\begin{figure}[H]941\centering942\includegraphics[width=0.98\textwidth]{plasma_parameters_waves.pdf}943\caption{Wave propagation in plasmas across multiple modes. \textbf{Top Left:} Characteristic velocities for different wave types at 100 eV and 1 T. Alfvén velocity (blue) decreases with increasing density as more mass must be accelerated by magnetic tension. Ion acoustic velocity (green) is density-independent and scales as $\sqrt{T_e/m_i}$. Langmuir wave phase velocity (purple) exceeds thermal velocity due to thermal pressure corrections to the cold plasma dispersion. All remain well below the speed of light (black dotted). \textbf{Top Right:} Langmuir wave dispersion showing transition from cold plasma limit ($\omega \approx \omega_{pe}$ for $k\lambda_D \ll 1$) to kinetic regime where thermal effects dominate ($\omega \propto k$ for $k\lambda_D \gg 1$). Higher temperatures extend the transition region. \textbf{Bottom Left:} Alfvén velocity spans four orders of magnitude from $\sim 10$ km/s in dense fusion plasmas to $> 10^4$ km/s in tenuous magnetospheres. Intersection with ion acoustic velocity (green dotted at 440 km/s for 100 eV) marks regime boundaries for MHD wave coupling. \textbf{Bottom Right:} Plasma beta parameter $\beta = p_{thermal}/p_{magnetic}$ determines whether magnetic field (low-$\beta$, blue) or thermal pressure (high-$\beta$, red) dominates. Tokamaks operate at $\beta \sim 0.05$ (marked point at 10 keV), requiring strong magnetic confinement. The $\beta = 1$ boundary (black dashed) separates magnetic-pressure-dominated from kinetic-pressure-dominated regimes.}944\end{figure}945946\section{Comprehensive Parameter Tables}947948\begin{pycode}949# Generate comprehensive table of plasma parameters950951print(r'\begin{table}[H]')952print(r'\centering')953print(r'\caption{Fundamental Plasma Parameters Across Regimes}')954print(r'\begin{tabular}{@{}lcccccc@{}}')955print(r'\toprule')956print(r'Regime & $n_e$ [m$^{-3}$] & $T_e$ [eV] & $\lambda_D$ [m] & $\omega_{pe}/(2\pi)$ [Hz] & $N_D$ & $\nu_{ei}/\omega_{pe}$ \\')957print(r'\midrule')958959for regime, (n, T) in sorted(regimes.items()):960ld = debye_length(n, T)961f_pe = plasma_frequency(n) / (2 * np.pi)962N_D = plasma_parameter(n, T)963nu_ei = collision_frequency(n, T)964omega_pe_val = plasma_frequency(n)965coll_ratio = nu_ei / omega_pe_val966967print(f"{regime} & {n:.1e} & {T:.1e} & {ld:.2e} & {f_pe:.2e} & {N_D:.2e} & {coll_ratio:.2e} \\\\")968969print(r'\bottomrule')970print(r'\end{tabular}')971print(r'\end{table}')972973print()974print()975976# Table 2: Magnetized plasma parameters977print(r'\begin{table}[H]')978print(r'\centering')979print(r'\caption{Magnetized Plasma Parameters}')980print(r'\begin{tabular}{@{}lccccc@{}}')981print(r'\toprule')982print(r'Configuration & $B$ [T] & $T_e$ [eV] & $r_{L,e}$ [mm] & $r_{L,i}$ [mm] & $\omega_{ce}/(2\pi)$ [GHz] \\')983print(r'\midrule')984985mag_configs = [986('Tokamak (ITER)', 5.3, 10000),987('Stellarator (W7-X)', 2.5, 2000),988('RFP', 0.5, 500),989('Solar Corona', 0.01, 100),990('Earth Magnetosphere', 5e-5, 1),991]992993for name, B, T in mag_configs:994r_L_e = thermal_larmor_radius(T, B, m_e) * 1e3 # mm995r_L_i = thermal_larmor_radius(T, B, m_p) * 1e3 # mm996f_ce = cyclotron_frequency(B, m_e) / (2 * np.pi * 1e9) # GHz997998print(f"{name} & {B:.2e} & {T:.0f} & {r_L_e:.3f} & {r_L_i:.2f} & {f_ce:.2f} \\\\")9991000print(r'\bottomrule')1001print(r'\end{tabular')1002print(r'\end{table}')10031004print()1005print()10061007# Table 3: Wave velocities1008print(r'\begin{table}[H]')1009print(r'\centering')1010print(r'\caption{Wave Propagation Velocities}')1011print(r'\begin{tabular}{@{}lcccc@{}}')1012print(r'\toprule')1013print(r'Regime & $c_s$ [km/s] & $v_A$ [km/s] & $v_{th,e}$ [km/s] & $v_A/c_s$ \\')1014print(r'\midrule')10151016wave_configs = [1017('Tokamak Core', 1e20, 5000, 5.0),1018('Solar Corona', 1e14, 100, 0.01),1019('Solar Wind', 1e7, 10, 1e-5),1020]10211022for name, n, T, B in wave_configs:1023c_s_val = ion_acoustic_velocity(T, 0.1 * T) * 1e-3 # km/s1024v_A_val = alfven_velocity(B, n) * 1e-3 # km/s1025v_th_e_val = np.sqrt(2 * T * e / m_e) * 1e-3 # km/s1026ratio = v_A_val / c_s_val10271028print(f"{name} & {c_s_val:.1f} & {v_A_val:.1f} & {v_th_e_val:.0f} & {ratio:.2f} \\\\")10291030print(r'\bottomrule')1031print(r'\end{tabular}')1032print(r'\end{table}')10331034\end{pycode}10351036\section{Dimensionless Parameters and Regime Classification}10371038The physics of plasmas is governed by dimensionless ratios constructed from fundamental scales:10391040\begin{enumerate}1041\item \textbf{Plasma Parameter:} $N_D = n_e \lambda_D^3$ determines coupling strength. For $N_D \gg 1$, collective effects dominate and mean-field theory applies. When $N_D \sim 1$, strong correlation effects become important.10421043\item \textbf{Collisionality:} $\nu_{ei} / \omega_{pe}$ distinguishes collisional ($> 1$) from collisionless ($< 1$) regimes. Collisionless plasmas require kinetic theory; collisional plasmas admit fluid descriptions.10441045\item \textbf{Magnetization:} $\omega_{ce} / \nu_{ei}$ determines whether particles complete gyro-orbits between collisions. For $\omega_{ce}/\nu_{ei} \gg 1$, transport is anisotropic and confined along field lines.10461047\item \textbf{Plasma Beta:} $\beta = p_{thermal} / p_{magnetic} = 2\mu_0 n k_B T / B^2$ measures thermal to magnetic pressure. Low-$\beta$ plasmas ($\beta \ll 1$) are magnetically dominated; high-$\beta$ plasmas are kinetically dominated.10481049\item \textbf{Normalized Larmor Radius:} $r_L / L$ determines gyrokinetic ordering. For $r_L/L \ll 1$, guiding center approximations are valid and magnetic confinement is effective.1050\end{enumerate}10511052These ratios determine which physical processes are important and which theoretical approximations are valid.10531054\section{Conclusions}10551056This comprehensive analysis of fundamental plasma parameters demonstrates the multi-scale nature of plasma physics across twelve orders of magnitude in density (from $10^{6}$ m$^{-3}$ in the solar wind to $10^{26}$ m$^{-3}$ in compressed inertial fusion targets) and five orders of magnitude in temperature (from 0.1 eV in the ionosphere to 10 keV in tokamak cores).10571058The Debye length, ranging from nanometers to meters, sets the electrostatic shielding scale and determines when quasi-neutrality applies ($\lambda_D/L \ll 1$). The plasma frequency, spanning microhertz to petahertz, establishes the fundamental timescale for charge separation oscillations. All plasma regimes analyzed satisfy $N_D \gg 1$, confirming that collective effects dominate individual particle interactions.10591060Collision frequencies decrease sharply with temperature ($\nu_{ei} \propto T_e^{-3/2}$), rendering hot fusion plasmas deeply collisionless with $\nu_{ei}/\omega_{pe} \sim 10^{-3}$. This necessitates kinetic treatment of transport and turbulence. The Spitzer conductivity increases as $T_e^{3/2}$, exceeding copper's conductivity above 8 eV and reaching $10^7$ S/m in fusion cores.10611062In magnetized configurations, the electron Larmor radius scales as $r_{L,e} \propto \sqrt{T_e}/B$, requiring multi-Tesla fields to achieve $r_{L,e}/a < 0.01$ for effective confinement of keV plasmas. The magnetization parameter $\omega_{ce}/\nu_{ei} \sim 10^{3}$ in tokamaks ensures particles complete many gyro-orbits between collisions, enabling classical transport theory.10631064Wave analysis reveals that Alfvén velocities span $10^{1}$ to $10^{4}$ km/s depending on density and field strength, while ion acoustic velocities remain near $\sqrt{T_e/m_i} \sim 100$ km/s. The plasma beta in tokamaks is typically $\beta \sim 0.05$, indicating magnetic pressure dominance, while solar corona and magnetosphere plasmas can achieve $\beta \sim 1$.10651066These fundamental parameters provide the foundation for understanding collective phenomena including turbulence, waves, instabilities, and transport across all plasma regimes from astrophysical to laboratory systems.10671068\begin{thebibliography}{99}10691070\bibitem{chen1984introduction}1071F.F. Chen, \textit{Introduction to Plasma Physics and Controlled Fusion}, 2nd ed., Plenum Press, New York (1984).10721073\bibitem{goldston1995introduction}1074R.J. Goldston and P.H. Rutherford, \textit{Introduction to Plasma Physics}, Institute of Physics Publishing, Bristol (1995).10751076\bibitem{debye1923theory}1077P. Debye and E. Hückel, ``The theory of electrolytes. I. Lowering of freezing point and related phenomena,'' \textit{Phys. Z.} \textbf{24}, 185 (1923).10781079\bibitem{spitzer1956physics}1080L. Spitzer, Jr., \textit{Physics of Fully Ionized Gases}, Interscience Publishers, New York (1956).10811082\bibitem{tonks1929oscillations}1083L. Tonks and I. Langmuir, ``Oscillations in ionized gases,'' \textit{Phys. Rev.} \textbf{33}, 195 (1929).10841085\bibitem{krall1973principles}1086N.A. Krall and A.W. Trivelpiece, \textit{Principles of Plasma Physics}, McGraw-Hill, New York (1973).10871088\bibitem{alfven1942existence}1089H. Alfvén, ``Existence of electromagnetic-hydrodynamic waves,'' \textit{Nature} \textbf{150}, 405 (1942).10901091\bibitem{wesson2011tokamaks}1092J. Wesson and D.J. Campbell, \textit{Tokamaks}, 4th ed., Oxford University Press (2011).10931094\bibitem{landau1946oscillations}1095L.D. Landau, ``On the vibrations of the electronic plasma,'' \textit{J. Phys. USSR} \textbf{10}, 25 (1946).10961097\bibitem{bohm1949minimum}1098D. Bohm, E.H.S. Burhop, and H.S.W. Massey, ``The use of probes for plasma exploration in strong magnetic fields,'' in \textit{The Characteristics of Electrical Discharges in Magnetic Fields}, A. Guthrie and R.K. Wakerling, eds., McGraw-Hill (1949).10991100\bibitem{fried1961longitudinal}1101B.D. Fried and S.D. Conte, \textit{The Plasma Dispersion Function}, Academic Press, New York (1961).11021103\bibitem{stix1992waves}1104T.H. Stix, \textit{Waves in Plasmas}, American Institute of Physics, New York (1992).11051106\bibitem{bellan2006fundamentals}1107P.M. Bellan, \textit{Fundamentals of Plasma Physics}, Cambridge University Press (2006).11081109\bibitem{freidberg2014plasma}1110J.P. Freidberg, \textit{Ideal MHD}, Cambridge University Press (2014).11111112\bibitem{hazeltine2003plasma}1113R.D. Hazeltine and J.D. Meiss, \textit{Plasma Confinement}, Dover Publications (2003).11141115\bibitem{nrl2019formulary}1116NRL Plasma Formulary, Naval Research Laboratory, Washington DC (2019).11171118\bibitem{miyamoto2005plasma}1119K. Miyamoto, \textit{Plasma Physics for Nuclear Fusion}, MIT Press (2005).11201121\bibitem{helander2002collisional}1122P. Helander and D.J. Sigmar, \textit{Collisional Transport in Magnetized Plasmas}, Cambridge University Press (2002).11231124\bibitem{fitzpatrick2014plasma}1125R. Fitzpatrick, \textit{Plasma Physics: An Introduction}, CRC Press (2014).11261127\bibitem{bittencourt2004fundamentals}1128J.A. Bittencourt, \textit{Fundamentals of Plasma Physics}, 3rd ed., Springer (2004).11291130\end{thebibliography}11311132\end{document}113311341135