Skip to content
Development documentation — This site follows the main branch and may differ from an installed release. View the changelog.

BEACH Documentation

BEACH computes the electric field from charge on triangular surfaces, tracks charged particles in that field, and accumulates the charge of absorbed particles on the surfaces.

Start the ten-minute tutorial · Read the BEACH computation cycle first

If this is your first use, follow these pages in order. Each page continues from the output of the previous one.

  1. Installation — make beach and beachx available.
  2. Ten-minute tutorial — follow many particles and surface-charge updates through 20 batches.
  3. Inspect output files — read summary.txt and charges.csv.
  4. Run and resume — continue the 20-batch result to batch 21.
  5. Troubleshooting — separate lint, runtime, output, and restart failures.

The official beginner case is an end-to-end check. A zero exit status does not establish convergence or physical validity. Before using a result for research, follow Validating simulation results.

Solved directly by BEACHSeparate models or outside the present scope
Surface charge on each triangle elementA self-consistent volume plasma from charge distributed through space
Fields and potentials from surface charge and configured external fieldsCollisional plasma transport outside the computational region
Charged-particle trajectories in a field fixed within each batchDielectric polarization or resistive conduction inside an object
Surface absorption, emission, and batch-by-batch charge updatesGeneral secondary-emission and scattering models
An optional quasistatic boundary response at the top of the regionA time-dependent outer sheath or complete velocity-distribution solver

See The BEACH computation cycle for the ordinary surface-charge update and the difference among dt, batch_duration, and batch_count. See quasistatic matching-plane coupling for the spatial division when an outer sheath is attached.

GoalReading order
Build a research caseDesign a caseCreate and validate beach.tomlRunValidate
Select particle sources or surface modelsChoose where particles enterHow surfaces charge
Configure open boundaries and returnInject particles through a boundaryParticle escape and return
Include photoelectronsPhotoelectron emission and lifecycle
Apply fixed currents from a stationary outer sheathZhao stationary closure
Couple an outer one-dimensional sheathQuasistatic matching-plane couplingValidate with the offline kinetic oracle
Select field solvers or periodic boundariesField evaluationperiodic2 electrostatics
Visualize outputPost-processing tutorialPython API
Change the source codeArchitectureDevelopment and testing

The overview, installation, and first run lead to a 20-batch, multi-particle charging result in which surface charge changes later particle behavior.

Choose geometry, particle sources, boundary conditions, and a field solver from the physical goal, then validate, run, and resume the configuration in task order.

Start with a pass/fail check, then visualize, validate numerical and physical behavior, and diagnose failures. Treat successful execution, numerical convergence, and physical validity as separate questions.

These pages explain the ordinary computation cycle, surface charging, particle sources, photoelectrons, open boundaries, the Zhao stationary sheath, periodic2, matching planes, and batch_duration. Read the ordinary path first and open an advanced model only when needed.

Input parameters, output formats, numerical details, the Python API, and the Fortran API are lookup references, not sequential tutorials.

Start with Architecture, then use Development and testing, Physics release verification, and the generated dependency map.

InformationCanonical source
Implemented behavior and invariantsSPEC.md and the Fortran implementation
Input keys, types, and machine validationschemas/beach.schema.json
Output-file production conditionsschemas/beach.output-manifest.json
Task proceduresTutorials and user guides on this site
Equations, assumptions, and applicabilityThe corresponding model or numerical-method page
Evolution of the potential distribution on an insulating mesh under electron-beam irradiation

Potential evolution on an insulating mesh under electron-beam irradiation

3D model: Rubber Duck PBR Game Ready (TurboSquid)