Skip to content

Pic3P command syntax

Block-by-block description of a .pic3p input, which is run by the t3p executable. The Pic3P module guide explains the physics and the LCLS gun example.

Top-level blocks: ModelInfo, FiniteElement, PRegion, Loading, TimeStepping, Monitor, LinearSolver, CheckPoint.

ModelInfo, FiniteElement, TimeStepping, LinearSolver, CheckPoint

As in T3P. Boundary types used in PIC: Electric, Magnetic, Exterior, Absorbing (beam entry and exit, coax), Waveguide.

PRegion

The causal moving window:

FiniteElement : { Order: 0  CurvedSurfaces: on }
PRegion : { Type: PICCausality  Order: 1 }
PRegion : { Type: PICDomain     Order: 1 }

PICCausality is the region reachable from the particles within the light cone; PICDomain is the sub-region enclosing the particles themselves and may take a higher order, with 2 or above recommended for accuracy. Outside both, the order is 0.

Loading

Loading : {
  SymmetryFactor: 4
  SymmetryOrigin: 0 0 0

  Particles : {
    TrackingOnly: no
    z0:           -6.0325e-2
    TotalCharge:  -1e-9
    Distribution : {
      Beta:              0 0 0.003
      NumberOfParticles: 1e3
      Radial :       { rMin: 0  rMax: 1e-3 }
      Longitudinal : { Type: Flattop  DeltaT: 10e-12  RiseTime: 2e-12 }
    }
    Monitors : {
      DumpInterval:            2e-11
      DumpPhases:              18 64
      DumpPositions:           0 1e-2
      ObserverPlaneZPositions: -2e-2 2e-2
    }
  }

  ConstantField : { E: 0 0 0  B: 0 0 0 }

  DriveField : {
    FieldValueAtPhase0:       -120e6
    FieldComponent:           2
    SamplePoint:              0,0,-6.0325e-2
    CentroidPhaseBeforeCrest: -58
    Omega3PMap : { Directory: omega3p_results  ModeNumber: 1 }
  }
}
Key Meaning
SymmetryFactor 2 for half, 4 for quarter model
SymmetryOrigin Point the symmetry planes pass through, m

Particles

Key Meaning
TrackingOnly yes disables space charge
z0 Injection plane, m
TotalCharge C; negative for electrons
Distribution Built-in generator or File
Monitors Phase-space output control, below

Built-in distribution: Beta (initial v/c vector), NumberOfParticles, Radial with rMin and rMax (uniform), Longitudinal with:

Type Keys
Flattop DeltaT duration, RiseTime for each edge, both in s
Gaussian SigmaT, NumSigma
Ellipsoid DeltaT

File distribution: Distribution : { File: dist.ncdf }. Create the file from a text table whose first line is the particle count and each following line is x px y py z pz in m and normalized momentum, converted with acdtool postprocess pic3pconvert dist.txt.

Self-consistent emission instead of Distribution:

Block Keys
FieldEmission BoundaryID, Work Function (eV), FieldEnhancement, MaxCurrentDensity (A/m²)
ThermionicEmission BoundaryID, A, B for J = A exp(B √E), MaxCurrentDensity
DCEmission BoundaryID, BeamCurrentDensity (A/m²), Beta0

Monitors:

Key Meaning
DumpInterval Phase-space dump every this many seconds
DumpPhases Dump at these drive-field phases, degrees
DumpPositions Dump when the bunch centroid reaches these z, m
ObserverPlaneZPositions Record every particle crossing of these z planes

Output goes to <jobname>/OUTPUT/Particles/.

ConstantField

Uniform external E in V/m and B in T.

DriveField

The RF field. Several DriveField blocks may be given.

Key Meaning
FieldValueAtPhase0 Field at RF phase zero at SamplePoint, V/m. Sign convention follows TotalCharge.
FieldComponent 0, 1, 2 for x, y, z
SamplePoint Normalization point, m
CentroidPhaseBeforeCrest Injection phase of the bunch centroid, degrees before crest
Omega3PMap Directory and ModeNumber (from 0)
PoissonMap File and Frequency for a Superfish map instead

A Solenoid block with SolenoidStrength (T), Component, SamplePoint, and a PoissonMap adds a static focusing field.

Monitor

Point and Volume monitors as in T3P; WakeField is available but rarely used in PIC. See the T3P command syntax.

Outputs

See the module guide for the particle files and the columns of particles.stat. Post-processing with acdtool postprocess pic3pconvert and pic3pstats is in the acdtool command syntax.