image thumbnail

Get fundamental plasma physics parameters

version 1.0.2 (10.4 KB) by Rishabh Datta
Get fundamental plasma physics length scales, time scales, velocities, etc. using functions defined in the plasma physics formulary

12 Downloads

Updated 27 Aug 2021

View License

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

Cite As

Rishabh Datta (2021). Get fundamental plasma physics parameters (https://www.mathworks.com/matlabcentral/fileexchange/95358-get-fundamental-plasma-physics-parameters), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2021a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!