Types and functions
VlasovSolvers.VlasovSolution1D1V
— Typestruct VlasovSolution1D1V
Data structure that stores the solution of the Vlasov problem of one dimension in both physical space and phase space.
values::Vector{Matrix{Float64}}
times::Vector{Float64}
energy::Vector{Float64}
saveat::Float64
VlasovSolvers.advection!
— Functionadvection!(fp, fi, mesh, interp, v, dt)
advection!(f, grid, v, dt; p)
Advect the distribution function f
with velocity v
along first f
dimension with a time step dt
. Interpolation method uses bspline periodic of order 5 by default. Real type version.
advection!(f, grid, v, dt; p)
Advect the distribution function f
with velocity v
along first f
dimension with a time step dt
. Interpolation method uses bspline periodic of order 5 by default. Complex type version.
VlasovSolvers.advection_x!
— Functionadvection_x!(f, adv, e, v, dt)
VlasovSolvers.advection_v!
— Functionadvection_v!(fᵗ, adv, e, dt)
VlasovSolvers.solve
— Functionsolve(problem, stepper, dt, nsteps)
solve(problem, stepper, dt, nsteps)
VlasovSolvers.compute_e
— Functioncompute_e(f)
compute Ex using that -ik*Ex = rho
VlasovSolvers.compute_rho
— Functioncompute_rho(f)
Compute charge density ρ(x,t) = ∫ f(x,v,t) dv
VlasovSolvers.two_stream_instability!
— Functiontwo_stream_instability!(f; eps, xi, v0)
VlasovSolvers.Fourier
— Typestruct Fourier <: VlasovSolvers.AbstractMethod
kx::Vector{Float64}
kv::Vector{Float64}
VlasovSolvers.BSLLagrange
— Typestruct BSLLagrange <: VlasovSolvers.AbstractMethod
order::Int64
interp::SemiLagrangian.Lagrange
VlasovSolvers.bspline
— Functionbspline(p, j, x)
Return the value at x in [0,1] of the B-spline with integer nodes of degree p with support starting at j. Implemented recursively using the De Boor's Algorithm
\[B_{i,0}(x) := \left\{ \begin{matrix} 1 & \mathrm{if} \quad t_i ≤ x < t_{i+1} \\ 0 & \mathrm{otherwise} \end{matrix} \right.\]
\[B_{i,p}(x) := \frac{x - t_i}{t_{i+p} - t_i} B_{i,p-1}(x) + \frac{t_{i+p+1} - x}{t_{i+p+1} - t_{i+1}} B_{i+1,p-1}(x).\]