Get fundamental plasma physics parameters
バージョン 1.0.2 (10.4 KB) 作成者:
Rishabh Datta
Get fundamental plasma physics length scales, time scales, velocities, etc. using functions defined in the plasma physics formulary
Fundamental Plasma Functions - CGS gaussian units
Calculates characteristic lengths, times, velocities and frequencies relevant to plasma physics.
All inputs are in cgs gaussion units except Temperature which is in [eV]
Use cgs2SI and SI2cgs to convert between SI and cgs units
Use physicalConstants-SI and physicalConstants-cgs for values of constants
EXAMPLE USAGE:
B = SI2cgs(5,'Magnetic Field'); % Magnetic field, Gauss
n = SI2cgs(1e20, 'Density'); % Electron density [cm^-3]
F = FundamentalPlasma(); % create object
F.getElectronGyroFreq(B); % Electron gyro frequency, [s^-1]
cgs2SI(F.getIonGyroRadius(Ti,B,Z,A),'Length')) % Ion gyro radis in [m]
See TestScript.m for more examples.
Function List:
Characteristic Frequencies
getElectronGyroFreq(~,B) % Electron gyro-frequency
getIonGyroFreq(~,B,Z,A) % Ion gyro-frequency
getElecPlasmaFreq(~,ne) % Electron plasma freq.
getIonPlasmaFreq(~,ni,Z,A) % Ion plasma freq.
getElElCollFreq(obj,ne,Te) % Electron-Electron Collison Freq
getElIonCollFreq(obj,ne,Te) % Electrin-Ion Collision freq
getIonIonCollFreq(obj,ni,Z,A,Ti,Te) % Ion-Ion Collison Freq
getIonElCollFreq(obj,ne,Te,A) % Ion-Electron Collison Freq
Characteristic Times
getElElCollTime(obj,ne,Te)
getIonIonCollTime(obj,ni,Z,A,Ti,Te)
getEnergyEqmTime(obj,ne,Te,A) % Energy Equilibriation time
Lengths [cm]
getElecDeBrogLen(~,Te) % Electron de Broglie length
getClasMinApproach(~,Te) % Classic dist. of minimum approach
getElecGyroRadius(~,Te,B) % Electron Gyro-radius
getIonGyroRadius(~,Ti,B,Z,A) % Ion Gyro-Radius
getDebyeLen(~,n,T) % Debye length
getElecSkinDepth(obj,ne) % Electron Skin Depth
getIonSkinDepth(obj,ni,Z,A) % Ion Skin depth
getElElMfp(obj,ne,Te) % Electron-Electron mean free Path
getIonIonMfp(obj,ni,Z,A,Ti,Te) % Ion-Ion mfp
getElecInerLen(~,ne) % Electron inertial length
getIonInerLen(~,ni,Z,A) % Ion inertial length
Velocities [cm/s]
getElecThermalVel(~,Te) % Electron thermal velocity
getIonThermalVel(~,Ti,A) % Ion thermal velocity
getIonSoundSpeed(~,Te,Z,A,gamma) % Ion sound speed
getAlfvenSpeed(~,B,A,ni) % Alfven speed
Misc.
getBohmDiffConst(~,T,B) % Bohm diffusion const.
getTransSpitzerRes(obj,Z,T,n) % eta_perp, Transverse spitzer resitivity
getParSpitzerRes(obj,Z,T,n) % eta_perp, Transverse spitzer resitivity
getParIonViscosity(obj,ni,Ti,Te,Z,A) % Parallel viscosity [SI output]
getCoulombLog(obj,n,T) % Coulomb logarithm
getGamma(~,ni,Te)
Kinetic theory
getMaxwellDist1D(~,v,vth) % 1D Normalized Maxwellian Distribution
getMaxwellDist(~,v,vth) % 3D Normalized Maxwellian Distribution
Reference(s):
Shea, J. J. (2003). A plasma formulary for physics, technology, and astrophysics [Book Review]. IEEE Electrical Insulation Magazine, 19(1). https://doi.org/10.1109/mei.2003.1178121
引用
Rishabh Datta (2024). Get fundamental plasma physics parameters (https://www.mathworks.com/matlabcentral/fileexchange/95358-get-fundamental-plasma-physics-parameters), MATLAB Central File Exchange. 取得済み .
MATLAB リリースの互換性
作成:
R2021a
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linuxタグ
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!