Input File: PIC

Smoothing

Any field solver or particle species module can accept the following smoothing directives. If applied to a field solver, sources are smoothed prior to advancing the fields, and the physics is affected. If applied to a particle species, only the single species density diagnostic is affected (note that the sources may be smoothed, even if the density diagnostic is not). The original WAVE smoother used smoothing=(4,4,4) and compensation=(1,1,1).

smoothing = (smx,smy,smz)

Used to perform smoothing passes (0.25, 0.5, 0.25) on the source functions.

Parameters:
  • smx (int) – number of smoothing passes in x-direction.

  • smy (int) – number of smoothing passes in y-direction.

  • smz (int) – number of smoothing passes in z-direction.

compensation = (cnx,cny,cnz)

Apply compensation passes (-1.25 , 3.5 , -1.25) after smoother.

Parameters:
  • cnx (int) – number of compensation passes in x-direction.

  • cny (int) – number of compensation passes in y-direction.

  • cnz (int) – number of compensation passes in z-direction.

Field Solvers

new electrostatic [field solver] [<name>] { <directives> }

Installs a general electrostatic field solver. Inhomogeneous boundary conditions are imposed using Conductor objects. Conductor objects may fill either ghost cells or interior cells. The topology of conductor objects is unrestricted. However, elliptical solvers have varying restrictions on the complexity of the topology. An elliptic solver tool is required.

Parameters:

directives (block) –

The following directives are supported:

Installable tools: Particle Movers

new coulomb [field solver] [<name>] { <directives> }

Installs a Coulomb gauge electromagnetic field solver. Similar to WAVE field solver, but assumes continuity of sources (no divergence cleaning structure). Cartesian coordinates only. An elliptic solver tool is required. At present only the facr elliptic solver is recommended.

Parameters:

directives (block) –

The following directives are supported:

Installable tools: Particle Movers, Radiation Injection

dipole center = (x,y,z)

Reference point for dipole moment diagnostic

gamma beam = g

Reference gamma for initializing beam potentials

new direct [field solver] [<name>] { <directives> }

Create an EM module that advances Maxwell’s curl equations directly, relying on continuity of sources to preserve divergence conditions. An elliptical solver is used for initialization. Cartesian only.

Parameters:

directives (block) –

The following directives are supported:

Installable tools: Particle Movers, Radiation Injection

dipole center = (x,y,z)

Reference point for dipole moment diagnostic

layers = ( x0,x1,y0,y1,z0,z1 )

thickness of absorbing layers.

Parameters:

x0 (int) – number of cells in a single strip occupied by absorbing layers adjacent to the lower boundary in the x direction. If 0 there are no PML media at this boundary. Other 5 parameters are analogous.

reflection coefficient = Rx0 Rx1 Ry0 Ry1 Rz0 Rz1
Parameters:

Rx0 (float) – Desired fraction of AMPLITUDE reflected from lower x boundary. If actual reflection is larger than requested, try increasing the number of layers. Other 5 parameters are analogous.

new curvilinear direct [field solver] [<name>] { <directives> }

Same as direct electromagnetic module except for arbitrary coordinate system. Elliptical solver should be eigenmode.

new pgc [laser solver] [<name>] { <directives> }

Create an enveloped field solver suitable for use with ponderomotive guiding center simulations.

Parameters:

directives (block) –

The following directives are supported:

Installable tools: Laser Propagator, Radiation Injection

carrier frequency = f
Parameters:

f (float) – base frequency ratio for the laser radiation

polarization = p
Parameters:

p (enum) – can be linear, circular, or radial

Particle Species

Particle species can be used in electromagnetic PIC or as Bohmian particles in Quantum Optics Modules.

new species [<name>] { <directives> }
Parameters:
  • name (str) – name given to the species

  • directives (block) –

    The following directives are supported:

    Shared directives: see boundaries

    Installable tools: PhotoIonization

    mass = m0
    Parameters:

    m0 (float) – mass of the particle, default = 1.0

    charge = q0
    Parameters:

    q0 (float) – charge of the particle, default = -1.0

    particles per cell = ( Nx , Ny , Nz ) when density = n0

    Lays out particles on a subgrid of dimension N_x \times N_y \times N_z within a cell. The particles are weighted so that the density in the cell is n0. If particle weights are variable, the density specification is ignored (but still required), and the requested profile density is achieved in every cell.

    minimum density = nmin
    Parameters:

    nmin (float) – suppress creation of particles with density less than this

    emission temperature = ( Tx , Ty , Tz )

    Thermal momentum of particles re-emitted from the boundaries

    mobile = tst
    Parameters:

    tst (bool) – set to false to hold this species immobile (defaults to true)

    acceleration time = dt
    Parameters:

    dt (float) – time over which to accelerate particle

    acceleration momentum = pz
    Parameters:

    pz (float) – final momentum of particle

    radiation damping = tst
    Parameters:

    tst (bool) – set to true to apply radiation damping to the particles (default = false)

Nonlinear Optics

Bound particles treated as anharmonic oscillators can be used in the electromagnetic PIC environment.

new bound [<name>] { <directives> }
Parameters:
  • name (str) – name given to the bound species

  • directives (block) –

    The following directives are supported:

    mass = m0
    Parameters:

    m0 (float) – mass of the particle, default = 1.0

    charge = q0
    Parameters:

    q0 (float) – charge of the particle, default = -1.0

    basis = ( u1,u2,u3,v1,v2,v3,w1,w2,w3)

    Defines the {\bf u}, {\bf v}, and {\bf w} unit vectors which define the principal axes of the crystal.

    resonance = ( w1 , w2 , w3 )
    Parameters:
    • w1 (float) – resonant frequency along u axis

    • w2 (float) – resonant frequency along v axis

    • w3 (float) – resonant frequency along w axis

    damping = ( d1 , d2 , d3 )
    Parameters:
    • d1 (float) – damping frequency along u axis

    • d2 (float) – damping frequency along v axis

    • d3 (float) – damping frequency along w axis

    strength = ( f1 , f2 , f3 )
    Parameters:
    • f1 (float) – oscillator strength along u axis

    • f2 (float) – oscillator strength along v axis

    • f3 (float) – oscillator strength along w axis

    a1 = ( a11 , a12 , a13 , a14 , a15 , a16)

    First row of the second order anharmonic tensor

    a2 = ( a21 , a22 , a23 , a24 , a25 , a26)

    Second row of the second order anharmonic tensor

    a3 = ( a31 , a32 , a33 , a34 , a35 , a36)

    Third row of the second order anharmonic tensor

    b = b0
    Parameters:

    b0 (float) – cubic anharmonic coefficient

    d = d0
    Parameters:

    d0 (float) – quintic anharmonic coefficient

    phi = q1
    Parameters:

    q1 (float) – Rotation about z in radians. Initial orientation has principal axes aligned with standard basis. This rotation happens before the theta rotation.

    theta = q2
    Parameters:

    q2 (float) – Rotation about y in radians. Initial orientation has principal axes aligned with standard basis. This rotation happens after the phi rotation.