slactrac.PWFA.Ions2D

class slactrac.PWFA.Ions2D(species, N_e, sig_r, sig_xi, r0_big=None, n_samp=1000, order=5, rtol=None, atol=None)[source]

A class to facilitate calculating ion motion in PWFA ion columns due to cylindrical, infinitely-long gaussian beams.

New in version 1.6.

Parameters:

species : periodictable.core.Element

The plasma gas species, e.g. periodictable.H.

N_e : float

The number of electrons.

sig_r : float

The standard deviation in r.

sig_xi : float

The standard deviation in \xi.

r0_big : float

The maximum particle coordinate in r to include.

n_samp : int

The number of samples.

order : int

The order to calculate to

rtol : float

A tolerance to calculate to. See scipy.integrate.odeint.

atol : float

A tolerance to calculate to. See scipy.integrate.odeint.

Attributes

A Ion mass in units of AMU.
N_e Number of electrons in bunch.
atol
dims Number of dimensions.
k Driving force term: r'' = -k \left( \frac{1-e^{-r^2/2{\sigma_r}^2}}{r} \right)
k_small Small-angle driving force term: r'' = -k_{small} r.
lambda_small The wavelength for small (r_0 < \sigma_r) oscillations.
m Ion mass.
nb0 On-axis beam density n_{b,0}.
q_label
rtol
sig_r Transverse R.M.S.
sig_xi Longitudinal R.M.S.
species The species of gas used (see periodictable.core.Element).

Methods

h(q)
lambda_large(r0) The wavelength for large (r_0 < \sigma_r) oscillations.
omega_big(q0)
q(x, q0) Numerically solved trajectory function for initial conditons q(0) = q_0 and q'(0) = 0.
r_large(x, r0) Approximate trajectory function for large (r_0 > \sigma_r) oscillations.
r_small(x, r0) Approximate trajectory function for small (r_0 < \sigma_r) oscillations.