LinearMaxwellVlasov.jl Documentation
Core.Type
— MethodThe function parallel gives the same answers for a given set of inputs. Calculate the key given the inputs and the (identity) operator for storing and retrieving values
LinearMaxwellVlasov.CacheOp
— MethodIdentity operator for storing and retreiving values from CacheDict
LinearMaxwellVlasov.ColdSpecies
— TypeColdSpecies <: AbstractFluidSpecies
Cold plasma species. Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]
LinearMaxwellVlasov.CoupledRelativisticSpecies
— TypeKinetic plasma species defined by one coupled distribution function in momentum space such that the relativistic dielectric tensor can be calculated. Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]mass
Species particle mass [kg]F :: AbstractFRelativisticMomentum
Distribution function in momentum space parallel and perpendicular to the background magnetic field (normalised)
LinearMaxwellVlasov.CoupledVelocitySpecies
— TypeKinetic plasma species defined by one coupled distribution function in velocity space, parallel and perpendicular to the background magnetic field Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]F :: AbstractCoupledVelocity
Distribution function in velocity space parallel and perpendicular to the background magnetic field (normalised)
LinearMaxwellVlasov.FCoupledVelocityNumerical
— TypeFCoupledVelocityNumerical
A disribution function where vz and v⊥ are coupled, i.e. non-separable.
...
Arguments
F::T
: the distrubtion functionnormalisation::Tuple{U,U}
: the speeds used for normalisation in parallel and perp [m/s]lower::Float64
: minimum speed for integration bounds [m/s]upper::Float64
: maximum speed for integration bounds [m/s]
...
Example
vth = 1e4
+LinearMaxwellVlasov.jl Documentation · LinearMaxwellVlasov.jl LinearMaxwellVlasov.jl Documentation
Core.Type
— MethodThe function parallel gives the same answers for a given set of inputs. Calculate the key given the inputs and the (identity) operator for storing and retrieving values
sourceLinearMaxwellVlasov.CacheOp
— MethodIdentity operator for storing and retreiving values from CacheDict
sourceLinearMaxwellVlasov.ColdSpecies
— TypeColdSpecies <: AbstractFluidSpecies
Cold plasma species. Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]
sourceLinearMaxwellVlasov.CoupledRelativisticSpecies
— TypeKinetic plasma species defined by one coupled distribution function in momentum space such that the relativistic dielectric tensor can be calculated. Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]mass
Species particle mass [kg]F :: AbstractFRelativisticMomentum
Distribution function in momentum space parallel and perpendicular to the background magnetic field (normalised)
sourceLinearMaxwellVlasov.CoupledVelocitySpecies
— TypeKinetic plasma species defined by one coupled distribution function in velocity space, parallel and perpendicular to the background magnetic field Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]F :: AbstractCoupledVelocity
Distribution function in velocity space parallel and perpendicular to the background magnetic field (normalised)
sourceLinearMaxwellVlasov.FCoupledVelocityNumerical
— TypeFCoupledVelocityNumerical
A disribution function where vz and v⊥ are coupled, i.e. non-separable.
...
Arguments
F::T
: the distrubtion functionnormalisation::Tuple{U,U}
: the speeds used for normalisation in parallel and perp [m/s]lower::Float64
: minimum speed for integration bounds [m/s]upper::Float64
: maximum speed for integration bounds [m/s]
...
Example
vth = 1e4
vshell = 1e5
fshell = FShell(vth, vshell)
lower = vshell - 12 * vth # where the shell is zero
upper = vshell + 12 * vth # where the shell is zero
-FCoupledVelocityNumerical(fshell, (vshell, vshell), lower, upper)
sourceLinearMaxwellVlasov.FParallelDiracDelta
— TypeThe Dirac-delta function parallel distribution functions
sourceLinearMaxwellVlasov.FParallelNumerical
— TypeType for an arbitrary parallel distribution function that holds, a function for the distribution function, it's derivative and the limits of integral
sourceLinearMaxwellVlasov.FPerpendicularDiracDelta
— TypeThe Dirac-delta function parallel distribution functions
sourceLinearMaxwellVlasov.FPerpendicularNumerical
— TypeType for an arbitrary perpendicular distribution function that holds, a function for the distribution function, it's derivative and the limits of integral
sourceLinearMaxwellVlasov.MaxwellianIntegralsParallel
— MethodThe parallel integral of the Beam only requires an integral over a drifting Maxwellian subject to the relevant kernels. All this is calculated here.
sourceLinearMaxwellVlasov.MaxwellianIntegralsPerpendicular
— MethodPerpendicular integrals for a Maxwellian
sourceLinearMaxwellVlasov.PerpendicularKernel
— TypeThe kernel of the perpendicular integral
sourceLinearMaxwellVlasov.RelativisticMaxwellian
— TypeRelativisticMaxwellian Return a drifting Maxwellian function.
Members
pthz::Real - thermal momentum parallel to magnetic field [kg m/s] pth⊥::Real - thermal momentum perpendicular to magnetic field [kg m/s] pzdrift::Real=0.0 - drift parallel to the magnetic field [kg m/s] lognormalisation::Real - the log of the normalisation constant
sourceLinearMaxwellVlasov.SeparableVelocitySpecies
— TypeKinetic plasma species with separable distribution functions parallel and perpendicular to the magnetic field. Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]Fz :: AbstractFParallel
Distribution function parallel to magnetic field (normalised)F⊥ :: AbstractFPerpendicular
Distribution function perpendicular to magnetic field (normalised)
sourceLinearMaxwellVlasov.ShiftedMaxwellianParallel
— TypeThe probability density at parallel velocity, v, of a shifted maxwellian from thermal velocity vth, and drift velocity vd.
sourceLinearMaxwellVlasov.ShiftedMaxwellianPerpendicular
— TypeThe probability density at perpendicular velocity, v, of a shifted maxwellian from thermal velocity vth, and drift velocity vd.
sourceLinearMaxwellVlasov.TransformFromInfinity
— TypeTransform a function from domain [-∞, ∞]ⁿ down to [-1, 1]ⁿ
sourceLinearMaxwellVlasov.UnitSemicircleIntegrandTransform
— TypeTransform a function to transform an integrand from domain [-∞, 0]×[∞, ∞] down to [-1, -π/2]×[1, π/2].
Example:
julia> f(x) = exp(-(x[1]^2 + x[2]^2)/2) * cos(x[2])^2 * sin(x[1])^2
+FCoupledVelocityNumerical(fshell, (vshell, vshell), lower, upper)
sourceLinearMaxwellVlasov.FParallelDiracDelta
— TypeThe Dirac-delta function parallel distribution functions
sourceLinearMaxwellVlasov.FParallelNumerical
— TypeType for an arbitrary parallel distribution function that holds, a function for the distribution function, it's derivative and the limits of integral
sourceLinearMaxwellVlasov.FPerpendicularDiracDelta
— TypeThe Dirac-delta function parallel distribution functions
sourceLinearMaxwellVlasov.FPerpendicularNumerical
— TypeType for an arbitrary perpendicular distribution function that holds, a function for the distribution function, it's derivative and the limits of integral
sourceLinearMaxwellVlasov.MaxwellianIntegralsParallel
— MethodThe parallel integral of the Beam only requires an integral over a drifting Maxwellian subject to the relevant kernels. All this is calculated here.
sourceLinearMaxwellVlasov.MaxwellianIntegralsPerpendicular
— MethodPerpendicular integrals for a Maxwellian
sourceLinearMaxwellVlasov.PerpendicularKernel
— TypeThe kernel of the perpendicular integral
sourceLinearMaxwellVlasov.RelativisticMaxwellian
— TypeRelativisticMaxwellian Return a drifting Maxwellian function.
Members
pthz::Real - thermal momentum parallel to magnetic field [kg m/s] pth⊥::Real - thermal momentum perpendicular to magnetic field [kg m/s] pzdrift::Real=0.0 - drift parallel to the magnetic field [kg m/s] lognormalisation::Real - the log of the normalisation constant
sourceLinearMaxwellVlasov.SeparableVelocitySpecies
— TypeKinetic plasma species with separable distribution functions parallel and perpendicular to the magnetic field. Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]Fz :: AbstractFParallel
Distribution function parallel to magnetic field (normalised)F⊥ :: AbstractFPerpendicular
Distribution function perpendicular to magnetic field (normalised)
sourceLinearMaxwellVlasov.ShiftedMaxwellianParallel
— TypeThe probability density at parallel velocity, v, of a shifted maxwellian from thermal velocity vth, and drift velocity vd.
sourceLinearMaxwellVlasov.ShiftedMaxwellianPerpendicular
— TypeThe probability density at perpendicular velocity, v, of a shifted maxwellian from thermal velocity vth, and drift velocity vd.
sourceLinearMaxwellVlasov.TransformFromInfinity
— TypeTransform a function from domain [-∞, ∞]ⁿ down to [-1, 1]ⁿ
sourceLinearMaxwellVlasov.UnitSemicircleIntegrandTransform
— TypeTransform a function to transform an integrand from domain [-∞, 0]×[∞, ∞] down to [-1, -π/2]×[1, π/2].
Example:
julia> f(x) = exp(-(x[1]^2 + x[2]^2)/2) * cos(x[2])^2 * sin(x[1])^2
julia> hcubature(f, [-12.0, 0.0], [12.0, 12.0])
(0.7710130943379178, 1.1482318484139944e-8)
julia> hcubature(UnitSemicircleIntegrandTransform(f, 2.0), [0, -π/2], [1, π/2])
-(0.7710130940919337, 1.1464196819507393e-8)
sourceLinearMaxwellVlasov.WarmSpecies
— TypeWarm plasma species, with speeds of sound parallel and perpendicular to the magnetic field. Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]soundspeed
Sound speed [m/s]
sourceLinearMaxwellVlasov.WarmSpecies
— MethodWarmSpecies(Π::Float64,Ω::Float64,thermalspeed::Float64,adiabiaticindex::Number)
Warm plasma species - accept thermalspeed and ratio of specific heats to get sound speed
...
Arguments
Π
: Plasma frequency [rad / s]Ω
: Cyclotron Frequency [rad / s]thermalspeed
: Thermal speed of Maxwellian distributionadiabiaticindex
: Equation of state Gruneisen gamma (ratio of specific heats)
...
sourceLinearMaxwellVlasov.Wavenumber
— TypeWavenumber decomposed into parallel and perpendicular components Construct with parallel and wavenumber components, or by keyword arguement pairs
- parallel & perpendicular
- wavenumber & propagationangle
sourceBase.Filesystem.cp
— MethodRegarding integrals with besselj(n, x)* besselj(n±1, x), e.g.: where m >= 0
besselj(-m,x) * besselj(-m-1,x) == -besselj(m,x) * besselj(m+1,x)
besselj(-m+1,x) * besselj(-m-1,x) == +besselj(m-1,x) * besselj(m+1,x)
sourceLinearMaxwellVlasov.FShell
— MethodFShell(vth::Real,vshell::Real)
The shell distribution function, as though f is only non-zero on or close to the surface of a sphere.
...
Arguments
vth::Real
: the thermal velocity of the shell [m/s]vshell::Real
: the speed of the shell [m/s]
...
Example
sourceLinearMaxwellVlasov.FSlowingDown
— MethodFSlowingDown(vbeam::Real,vcrit::Real,vcutoffwidth::Real)
The slowing down distribution
...
Arguments
vbeam::Real
: the beam speed [m/s]vcrit::Real
: the critival velocity [m/s]vcutoffwidth::Real
: the width of the error function used to smooth
the distribution function at vbeam [m/s] ...
Example
sourceLinearMaxwellVlasov.Jμν
— MethodThe non-integer argument to the BesselJ
sourceLinearMaxwellVlasov.MaxwellianSpecies
— FunctionMaxwellianSpecies(Π,Ω,vthb,vth⊥=vthb,vdb=0.0)
Kinetic Maxwellian Plasma species that can optionally have a drift along the magnetic field
...
Arguments
Π
: Plasma frequency [rad / s]Ω
: Cyclotron Frequency [rad / s]vthb
: parallel thermal speed [m/s]vth⊥=vthb
: perpendicular thermal speed [m/s]vdb=0.0
: parallel beam speed [m/s]
Returns
SeparableVelocitySpecies(Π, Ω, FBeam(vthb, vdb), FPerpendicularMaxwellian(vth⊥))
...
Example
sourceLinearMaxwellVlasov.RingBeamSpecies
— FunctionCreate a kinetic plasma species with separable distribution functions parallel $f(v_\parallel)$ and perpendicular $f(v_\perpendicular)$ to the magnetic field, which are defined as a drifting beam and a ring respectively. ...
Arguments
Π
: Plasma frequency [rad / s]Ω
: Cyclotron Frequency [rad / s]vthb
: parallel thermal speed [m/s]vth⊥=vthb
: perpendicular thermal speed [m/s]vdb=0.0
: parallel beam speed [m/s]vd⊥=0.0
: perpendicular ring speed [m/s]
Returns
SeparableVelocitySpecies(Π, Ω, FBeam(vthb, vdb), FRing(vth⊥, vd⊥))
...
Example
sourceLinearMaxwellVlasov.alfvenspeed
— MethodCalculate the Alfven speed given Π_Ωs, which is an iterable container of the ratio of the plasma to the cyclotron frequency of all the species of the plasma
sourceLinearMaxwellVlasov.conductivity
— FunctionThe conducivity tensor for a given species
sourceLinearMaxwellVlasov.contribution
— FunctionCalculate the converged unitless susceptibility tensor contribution for a maxwellian distribution function, having summed over bessel indices n.
sourceLinearMaxwellVlasov.contribution
— FunctionCalculate the unitless susceptibility tensor for a cold plasma species
sourceLinearMaxwellVlasov.contribution
— FunctionCalculate the unitless susceptibility tensor for a warm plasma species Swanson 3.63
sourceLinearMaxwellVlasov.contribution
— FunctionCalculate the unitless susceptibility tensor contribution for a coupled velocity distribution function, without the need to sum over harmonics.
sourceLinearMaxwellVlasov.contribution
— FunctionCalculate the converged unitless susceptibility tensor contribution for a maxwellian distribution function, having summed over bessel indices n.
sourceLinearMaxwellVlasov.contribution
— MethodCalculate the unitless susceptibility tensor for a maxwellian distribution function given the bessel indices n.
sourceLinearMaxwellVlasov.dielectric
— FunctionThe dielectric tensor for a given plasma
sourceLinearMaxwellVlasov.dielectriccontribution
— FunctionThe contribution to the dielectric tensor for a given species
sourceLinearMaxwellVlasov.electrostatictensor
— FunctionThe electrostatic dielectric tensor for a given plasma, a zero valued determinant of which represents a solution to the linear poisson-vlasov system of equations
sourceLinearMaxwellVlasov.foldnumeratoraboutpole
— MethodTakes a function that when integrated between -Inf and +Inf returns value x, and returns a new function that returns x when integrated between real(pole) and +Inf.
sourceLinearMaxwellVlasov.integrate
— FunctionIntegration of Abstract Arbitrary FParallel
sourceLinearMaxwellVlasov.integrate
— MethodThe integrals over the distribution functions and associated integral kernel We avoid doing integrals involving the derivative of the Dirac delta function by doing integral by parts and knowing that f-> 0 and the integral limits
sourceLinearMaxwellVlasov.integrate
— MethodCalculate the parallel integral with principal part and residue
sourceLinearMaxwellVlasov.integrate
— MethodThe integrals over the distribution functions and associated integral kernel We avoid doing integrals involving the derivative of the Dirac delta function by doing integral by parts and knowing that f-> 0 and the integral limits
sourceLinearMaxwellVlasov.integrate
— MethodIntegrate over the parallel distribution function multiplied by various kernels. If the imaginary part of the pole is zero, then do a trick that folds over the integral from the left of the pole to right. We need to take into account whether the real part of the pole is negative, otherwise positive slopes at negative velocities give rise to instability and not damping.
sourceLinearMaxwellVlasov.integrate
— MethodIntegration of Abstract Arbitrary FPerpendicular
sourceLinearMaxwellVlasov.limitsfolder
— MethodTransform the limits of an integrand quadrature(foldnumeratoraboutpole(integrand, pole), limitsfolder(limits, pole)...)
sourceLinearMaxwellVlasov.normalise
— MethodTool to normalize a function f between two integral limits a and b
sourceLinearMaxwellVlasov.parallel
— MethodInterface The parallel integral of the distribution function and the relevant kernel
sourceLinearMaxwellVlasov.parallel
— MethodParallel integrals for the Beam - used for testing purposes
sourceLinearMaxwellVlasov.parallel
— MethodCompile the kernels of the parallel integral and fetch it from the DistributionFunctions module. If k parallel is zero then there is no Landau damping, so this case is made separate, as is easier to deal with.
sourceLinearMaxwellVlasov.parallel_integral
— MethodMemoise the inputs to the integrals; export the memoised function, and the dictionary of inputs -> outputs It only matters what n-m is, not the values of n and m individually So change (n, m)->(n-m, 0) to do fewer calculations
sourceLinearMaxwellVlasov.perpendicular
— MethodInterface The perpendicular integral of the distribution function and the relevant kernel
sourceLinearMaxwellVlasov.perpendicular
— MethodCalculate the definite integral kernels of the perpenedicular distribution function, or derivative thereof, multiplied by the kernel functions
sourceLinearMaxwellVlasov.perpendicular_integral
— FunctionMemoise the inputs to the integrals; export the memoised function, and the dictionary of inputs -> outputs besselj harmonic numbers n and l can be any order Use this to do only half the calculatons (n, l)->(min(n, l), max(n, l)) Also know that besselj(-n, x) = (-1)^n * besselj(n, x)
sourceLinearMaxwellVlasov.plasma_dispersion_function
— MethodReturn the value of the plasma dispersion function This implementation includes the residue, which is easy to verify because Z(0) = im sqrt(π).
- x is the argument to the plasma disperion function
- power is the moment of the integral
[1] S.D. Baalrud, Phys. Plasmas 20, 012118 (2013) and put ν = -Inf [2] M. Sampoorna et al., Generalized Voigt functions and their derivatives, Journal of Quantitative Spectroscopy & Radiative Transfer (2006), doi:10.1016/j.jqsrt.2006.08.011
sourceLinearMaxwellVlasov.residuepart
— MethodExpressing f(x) = ∑ᵢ aᵢ (x - p)ⁱ find a₋₁
sourceLinearMaxwellVlasov.residuepartadaptive
— MethodExpressing f(x) = ∑ᵢ aᵢ (x - p)ⁱ find a₋₁
sourceLinearMaxwellVlasov.tensor
— FunctionCalculate the tensor representing the linear Maxwell-Vlasov set of equations. The determinant is zero when the wavenumber and frequency represent a solution to the linear Maxwell-Vlasov system of equations for these species.
sourceLinearMaxwellVlasov.transformaboutroots
— MethodConcertina and rescale a function in the sections between its roots such that all roots lie at -1 or +1. Integration over -1..1 of the resulting function gives the same answer as integration over original -Inf..Inf domain
sourceLinearMaxwellVlasov.zerobetamagnetoacousticfrequency
— MethodEq. 25 of R. O. Dendy, C. N. Lashmore-Davies, and K. G. McClements, G. A. Cottrell, The excitation of obliquely propagating fast Alfven waves at fusion ion cyclotron harmonics, Phys. Plasmas 1 (6), June 1994
sourceIndex
Core.Type
LinearMaxwellVlasov.CacheOp
LinearMaxwellVlasov.ColdSpecies
LinearMaxwellVlasov.CoupledRelativisticSpecies
LinearMaxwellVlasov.CoupledVelocitySpecies
LinearMaxwellVlasov.FCoupledVelocityNumerical
LinearMaxwellVlasov.FParallelDiracDelta
LinearMaxwellVlasov.FParallelNumerical
LinearMaxwellVlasov.FPerpendicularDiracDelta
LinearMaxwellVlasov.FPerpendicularNumerical
LinearMaxwellVlasov.MaxwellianIntegralsParallel
LinearMaxwellVlasov.MaxwellianIntegralsPerpendicular
LinearMaxwellVlasov.PerpendicularKernel
LinearMaxwellVlasov.RelativisticMaxwellian
LinearMaxwellVlasov.SeparableVelocitySpecies
LinearMaxwellVlasov.ShiftedMaxwellianParallel
LinearMaxwellVlasov.ShiftedMaxwellianPerpendicular
LinearMaxwellVlasov.TransformFromInfinity
LinearMaxwellVlasov.UnitSemicircleIntegrandTransform
LinearMaxwellVlasov.WarmSpecies
LinearMaxwellVlasov.WarmSpecies
LinearMaxwellVlasov.Wavenumber
Base.Filesystem.cp
LinearMaxwellVlasov.FShell
LinearMaxwellVlasov.FSlowingDown
LinearMaxwellVlasov.Jμν
LinearMaxwellVlasov.MaxwellianSpecies
LinearMaxwellVlasov.RingBeamSpecies
LinearMaxwellVlasov.alfvenspeed
LinearMaxwellVlasov.conductivity
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.dielectric
LinearMaxwellVlasov.dielectriccontribution
LinearMaxwellVlasov.electrostatictensor
LinearMaxwellVlasov.foldnumeratoraboutpole
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.limitsfolder
LinearMaxwellVlasov.normalise
LinearMaxwellVlasov.parallel
LinearMaxwellVlasov.parallel
LinearMaxwellVlasov.parallel
LinearMaxwellVlasov.parallel_integral
LinearMaxwellVlasov.perpendicular
LinearMaxwellVlasov.perpendicular
LinearMaxwellVlasov.perpendicular_integral
LinearMaxwellVlasov.plasma_dispersion_function
LinearMaxwellVlasov.residuepart
LinearMaxwellVlasov.residuepartadaptive
LinearMaxwellVlasov.tensor
LinearMaxwellVlasov.transformaboutroots
LinearMaxwellVlasov.zerobetamagnetoacousticfrequency
Settings
This document was generated with Documenter.jl version 0.27.25 on Saturday 14 October 2023. Using Julia version 1.6.7.
+(0.7710130940919337, 1.1464196819507393e-8)
LinearMaxwellVlasov.WarmSpecies
— TypeWarm plasma species, with speeds of sound parallel and perpendicular to the magnetic field. Fields:
Π
Plasma frequency [rad / s]Ω
Cyclotron Frequency [rad / s]soundspeed
Sound speed [m/s]
LinearMaxwellVlasov.WarmSpecies
— MethodWarmSpecies(Π::Float64,Ω::Float64,thermalspeed::Float64,adiabiaticindex::Number)
Warm plasma species - accept thermalspeed and ratio of specific heats to get sound speed
...
Arguments
Π
: Plasma frequency [rad / s]Ω
: Cyclotron Frequency [rad / s]thermalspeed
: Thermal speed of Maxwellian distributionadiabiaticindex
: Equation of state Gruneisen gamma (ratio of specific heats)
...
LinearMaxwellVlasov.Wavenumber
— TypeWavenumber decomposed into parallel and perpendicular components Construct with parallel and wavenumber components, or by keyword arguement pairs
- parallel & perpendicular
- wavenumber & propagationangle
Base.Filesystem.cp
— MethodRegarding integrals with besselj(n, x)* besselj(n±1, x), e.g.: where m >= 0
besselj(-m,x) * besselj(-m-1,x) == -besselj(m,x) * besselj(m+1,x)
besselj(-m+1,x) * besselj(-m-1,x) == +besselj(m-1,x) * besselj(m+1,x)
LinearMaxwellVlasov.FShell
— MethodFShell(vth::Real,vshell::Real)
The shell distribution function, as though f is only non-zero on or close to the surface of a sphere.
...
Arguments
vth::Real
: the thermal velocity of the shell [m/s]vshell::Real
: the speed of the shell [m/s]
...
Example
LinearMaxwellVlasov.FSlowingDown
— MethodFSlowingDown(vbeam::Real,vcrit::Real,vcutoffwidth::Real)
The slowing down distribution
...
Arguments
vbeam::Real
: the beam speed [m/s]vcrit::Real
: the critival velocity [m/s]vcutoffwidth::Real
: the width of the error function used to smooth
the distribution function at vbeam [m/s] ...
Example
LinearMaxwellVlasov.Jμν
— MethodThe non-integer argument to the BesselJ
LinearMaxwellVlasov.MaxwellianSpecies
— FunctionMaxwellianSpecies(Π,Ω,vthb,vth⊥=vthb,vdb=0.0)
Kinetic Maxwellian Plasma species that can optionally have a drift along the magnetic field
...
Arguments
Π
: Plasma frequency [rad / s]Ω
: Cyclotron Frequency [rad / s]vthb
: parallel thermal speed [m/s]vth⊥=vthb
: perpendicular thermal speed [m/s]vdb=0.0
: parallel beam speed [m/s]
Returns
SeparableVelocitySpecies(Π, Ω, FBeam(vthb, vdb), FPerpendicularMaxwellian(vth⊥))
...
Example
LinearMaxwellVlasov.RingBeamSpecies
— FunctionCreate a kinetic plasma species with separable distribution functions parallel $f(v_\parallel)$ and perpendicular $f(v_\perpendicular)$ to the magnetic field, which are defined as a drifting beam and a ring respectively. ...
Arguments
Π
: Plasma frequency [rad / s]Ω
: Cyclotron Frequency [rad / s]vthb
: parallel thermal speed [m/s]vth⊥=vthb
: perpendicular thermal speed [m/s]vdb=0.0
: parallel beam speed [m/s]vd⊥=0.0
: perpendicular ring speed [m/s]
Returns
SeparableVelocitySpecies(Π, Ω, FBeam(vthb, vdb), FRing(vth⊥, vd⊥))
...
Example
LinearMaxwellVlasov.alfvenspeed
— MethodCalculate the Alfven speed given Π_Ωs, which is an iterable container of the ratio of the plasma to the cyclotron frequency of all the species of the plasma
LinearMaxwellVlasov.conductivity
— FunctionThe conducivity tensor for a given species
LinearMaxwellVlasov.contribution
— FunctionCalculate the unitless susceptibility tensor for a cold plasma species
LinearMaxwellVlasov.contribution
— FunctionCalculate the unitless susceptibility tensor for a warm plasma species Swanson 3.63
LinearMaxwellVlasov.contribution
— FunctionCalculate the converged unitless susceptibility tensor contribution for a maxwellian distribution function, having summed over bessel indices n.
LinearMaxwellVlasov.contribution
— FunctionCalculate the converged unitless susceptibility tensor contribution for a maxwellian distribution function, having summed over bessel indices n.
LinearMaxwellVlasov.contribution
— FunctionCalculate the unitless susceptibility tensor contribution for a coupled velocity distribution function, without the need to sum over harmonics.
LinearMaxwellVlasov.contribution
— MethodCalculate the unitless susceptibility tensor for a maxwellian distribution function given the bessel indices n.
LinearMaxwellVlasov.dielectric
— FunctionThe dielectric tensor for a given plasma
LinearMaxwellVlasov.dielectriccontribution
— FunctionThe contribution to the dielectric tensor for a given species
LinearMaxwellVlasov.electrostatictensor
— FunctionThe electrostatic dielectric tensor for a given plasma, a zero valued determinant of which represents a solution to the linear poisson-vlasov system of equations
LinearMaxwellVlasov.foldnumeratoraboutpole
— MethodTakes a function that when integrated between -Inf and +Inf returns value x, and returns a new function that returns x when integrated between real(pole) and +Inf.
LinearMaxwellVlasov.integrate
— FunctionIntegration of Abstract Arbitrary FParallel
LinearMaxwellVlasov.integrate
— MethodThe integrals over the distribution functions and associated integral kernel We avoid doing integrals involving the derivative of the Dirac delta function by doing integral by parts and knowing that f-> 0 and the integral limits
LinearMaxwellVlasov.integrate
— MethodCalculate the parallel integral with principal part and residue
LinearMaxwellVlasov.integrate
— MethodThe integrals over the distribution functions and associated integral kernel We avoid doing integrals involving the derivative of the Dirac delta function by doing integral by parts and knowing that f-> 0 and the integral limits
LinearMaxwellVlasov.integrate
— MethodIntegrate over the parallel distribution function multiplied by various kernels. If the imaginary part of the pole is zero, then do a trick that folds over the integral from the left of the pole to right. We need to take into account whether the real part of the pole is negative, otherwise positive slopes at negative velocities give rise to instability and not damping.
LinearMaxwellVlasov.integrate
— MethodIntegration of Abstract Arbitrary FPerpendicular
LinearMaxwellVlasov.limitsfolder
— MethodTransform the limits of an integrand quadrature(foldnumeratoraboutpole(integrand, pole), limitsfolder(limits, pole)...)
LinearMaxwellVlasov.normalise
— MethodTool to normalize a function f between two integral limits a and b
LinearMaxwellVlasov.parallel
— MethodInterface The parallel integral of the distribution function and the relevant kernel
LinearMaxwellVlasov.parallel
— MethodParallel integrals for the Beam - used for testing purposes
LinearMaxwellVlasov.parallel
— MethodCompile the kernels of the parallel integral and fetch it from the DistributionFunctions module. If k parallel is zero then there is no Landau damping, so this case is made separate, as is easier to deal with.
LinearMaxwellVlasov.parallel_integral
— MethodMemoise the inputs to the integrals; export the memoised function, and the dictionary of inputs -> outputs It only matters what n-m is, not the values of n and m individually So change (n, m)->(n-m, 0) to do fewer calculations
LinearMaxwellVlasov.perpendicular
— MethodInterface The perpendicular integral of the distribution function and the relevant kernel
LinearMaxwellVlasov.perpendicular
— MethodCalculate the definite integral kernels of the perpenedicular distribution function, or derivative thereof, multiplied by the kernel functions
LinearMaxwellVlasov.perpendicular_integral
— FunctionMemoise the inputs to the integrals; export the memoised function, and the dictionary of inputs -> outputs besselj harmonic numbers n and l can be any order Use this to do only half the calculatons (n, l)->(min(n, l), max(n, l)) Also know that besselj(-n, x) = (-1)^n * besselj(n, x)
LinearMaxwellVlasov.plasma_dispersion_function
— MethodReturn the value of the plasma dispersion function This implementation includes the residue, which is easy to verify because Z(0) = im sqrt(π).
- x is the argument to the plasma disperion function
- power is the moment of the integral
[1] S.D. Baalrud, Phys. Plasmas 20, 012118 (2013) and put ν = -Inf [2] M. Sampoorna et al., Generalized Voigt functions and their derivatives, Journal of Quantitative Spectroscopy & Radiative Transfer (2006), doi:10.1016/j.jqsrt.2006.08.011
LinearMaxwellVlasov.residuepart
— MethodExpressing f(x) = ∑ᵢ aᵢ (x - p)ⁱ find a₋₁
LinearMaxwellVlasov.residuepartadaptive
— MethodExpressing f(x) = ∑ᵢ aᵢ (x - p)ⁱ find a₋₁
LinearMaxwellVlasov.tensor
— FunctionCalculate the tensor representing the linear Maxwell-Vlasov set of equations. The determinant is zero when the wavenumber and frequency represent a solution to the linear Maxwell-Vlasov system of equations for these species.
LinearMaxwellVlasov.transformaboutroots
— MethodConcertina and rescale a function in the sections between its roots such that all roots lie at -1 or +1. Integration over -1..1 of the resulting function gives the same answer as integration over original -Inf..Inf domain
LinearMaxwellVlasov.zerobetamagnetoacousticfrequency
— MethodEq. 25 of R. O. Dendy, C. N. Lashmore-Davies, and K. G. McClements, G. A. Cottrell, The excitation of obliquely propagating fast Alfven waves at fusion ion cyclotron harmonics, Phys. Plasmas 1 (6), June 1994
Index
Core.Type
LinearMaxwellVlasov.CacheOp
LinearMaxwellVlasov.ColdSpecies
LinearMaxwellVlasov.CoupledRelativisticSpecies
LinearMaxwellVlasov.CoupledVelocitySpecies
LinearMaxwellVlasov.FCoupledVelocityNumerical
LinearMaxwellVlasov.FParallelDiracDelta
LinearMaxwellVlasov.FParallelNumerical
LinearMaxwellVlasov.FPerpendicularDiracDelta
LinearMaxwellVlasov.FPerpendicularNumerical
LinearMaxwellVlasov.MaxwellianIntegralsParallel
LinearMaxwellVlasov.MaxwellianIntegralsPerpendicular
LinearMaxwellVlasov.PerpendicularKernel
LinearMaxwellVlasov.RelativisticMaxwellian
LinearMaxwellVlasov.SeparableVelocitySpecies
LinearMaxwellVlasov.ShiftedMaxwellianParallel
LinearMaxwellVlasov.ShiftedMaxwellianPerpendicular
LinearMaxwellVlasov.TransformFromInfinity
LinearMaxwellVlasov.UnitSemicircleIntegrandTransform
LinearMaxwellVlasov.WarmSpecies
LinearMaxwellVlasov.WarmSpecies
LinearMaxwellVlasov.Wavenumber
Base.Filesystem.cp
LinearMaxwellVlasov.FShell
LinearMaxwellVlasov.FSlowingDown
LinearMaxwellVlasov.Jμν
LinearMaxwellVlasov.MaxwellianSpecies
LinearMaxwellVlasov.RingBeamSpecies
LinearMaxwellVlasov.alfvenspeed
LinearMaxwellVlasov.conductivity
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.contribution
LinearMaxwellVlasov.dielectric
LinearMaxwellVlasov.dielectriccontribution
LinearMaxwellVlasov.electrostatictensor
LinearMaxwellVlasov.foldnumeratoraboutpole
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.integrate
LinearMaxwellVlasov.limitsfolder
LinearMaxwellVlasov.normalise
LinearMaxwellVlasov.parallel
LinearMaxwellVlasov.parallel
LinearMaxwellVlasov.parallel
LinearMaxwellVlasov.parallel_integral
LinearMaxwellVlasov.perpendicular
LinearMaxwellVlasov.perpendicular
LinearMaxwellVlasov.perpendicular_integral
LinearMaxwellVlasov.plasma_dispersion_function
LinearMaxwellVlasov.residuepart
LinearMaxwellVlasov.residuepartadaptive
LinearMaxwellVlasov.tensor
LinearMaxwellVlasov.transformaboutroots
LinearMaxwellVlasov.zerobetamagnetoacousticfrequency