prepic.plasma module

Classes for modelling the plasma, without any matching

prepic.plasma.interaction_regime(ωp, τL)[source]

Outputs the laser-plasma interaction regime.

Parameters
  • ωp (float, 1/time) – Plasma frequency.

  • τL (float, time) – Laser pulse duration at FWHM in intensity.

class prepic.plasma.Plasma(n_pe, laser=None, bubble_radius=None, propagation_distance=None)[source]

Bases: prepic.base.BaseClass

Class containing plasma parameters.

npe

Plasma electron (number) density.

Type

float, 1/volume

ωp

Plasma frequency.

Type

float, 1/time

lp

Unit of length.

Type

float, length

tp

Unit of time.

Type

float, time

λp

Plasma skin depth.

Type

float, length

kp

Plasma wavenumber.

Type

float, 1/length

Ewb

Cold, 1D wave-breaking field.

Type

float, energy/charge/length

laser

Instance containing laser params.

Type

Laser

γp

Plasma γ factor.

Type

float, dimensionless

Pc

Critical power for self-focusing.

Type

float, energy/time

dephasing

Electron dephasing length.

Type

float, length

depletion

Pump depletion length.

Type

float, length

Ez_avg

Average accelerating field in the direction of electron propagation.

Type

float, energy/charge/length

R

Radius of the plasma bubble.

Type

float, length

Lacc

Distance over which laser propagates.

Type

float, length

N

Estimated number of electrons in the bunch.

Type

float, dimensionless

Q

Estimated total electron bunch charge.

Type

float, charge

ΔE

Maximum energy gained by one electron propagating for Lacc see Lu et al., 2007 Phys. Rev. ST. Accel. Beams.

Type

float, energy

η

Energy transfer efficiency, defined as total bunch energy N * ΔE / laser energy ɛL under matching conditions, η ~ 1 / (2 * a0).

Type

float, dimensionless

Examples

>>> import unyt as u
>>> Plasma(n_pe=1e18 / u.cm**3)
<Plasma(1e+18 cm**(-3), None, None)>