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
Your first 30 minutes
Section titled “Your first 30 minutes”If this is your first use, follow these pages in order. Each page continues from the output of the previous one.
- Installation — make
beachandbeachxavailable. - Ten-minute tutorial — follow many particles and surface-charge updates through 20 batches.
- Inspect output files — read
summary.txtandcharges.csv. - Run and resume — continue the 20-batch result to batch 21.
- 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.
What BEACH covers
Section titled “What BEACH covers”| Solved directly by BEACH | Separate models or outside the present scope |
|---|---|
| Surface charge on each triangle element | A self-consistent volume plasma from charge distributed through space |
| Fields and potentials from surface charge and configured external fields | Collisional plasma transport outside the computational region |
| Charged-particle trajectories in a field fixed within each batch | Dielectric polarization or resistive conduction inside an object |
| Surface absorption, emission, and batch-by-batch charge updates | General secondary-emission and scattering models |
| An optional quasistatic boundary response at the top of the region | A 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.
Choose a path
Section titled “Choose a path”| Goal | Reading order |
|---|---|
| Build a research case | Design a case → Create and validate beach.toml → Run → Validate |
| Select particle sources or surface models | Choose where particles enter → How surfaces charge |
| Configure open boundaries and return | Inject particles through a boundary → Particle escape and return |
| Include photoelectrons | Photoelectron emission and lifecycle |
| Apply fixed currents from a stationary outer sheath | Zhao stationary closure |
| Couple an outer one-dimensional sheath | Quasistatic matching-plane coupling → Validate with the offline kinetic oracle |
| Select field solvers or periodic boundaries | Field evaluation → periodic2 electrostatics |
| Visualize output | Post-processing tutorial → Python API |
| Change the source code | Architecture → Development and testing |
Documentation structure
Section titled “Documentation structure”Get started
Section titled “Get started”The overview, installation, and first run lead to a 20-batch, multi-particle charging result in which surface charge changes later particle behavior.
Build a case
Section titled “Build a case”Choose geometry, particle sources, boundary conditions, and a field solver from the physical goal, then validate, run, and resume the configuration in task order.
Inspect results
Section titled “Inspect results”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.
Understand the models
Section titled “Understand the models”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.
Reference
Section titled “Reference”Input parameters, output formats, numerical details, the Python API, and the Fortran API are lookup references, not sequential tutorials.
Developer guide
Section titled “Developer guide”Start with Architecture, then use Development and testing, Physics release verification, and the generated dependency map.
Canonical ownership
Section titled “Canonical ownership”| Information | Canonical source |
|---|---|
| Implemented behavior and invariants | SPEC.md and the Fortran implementation |
| Input keys, types, and machine validation | schemas/beach.schema.json |
| Output-file production conditions | schemas/beach.output-manifest.json |
| Task procedures | Tutorials and user guides on this site |
| Equations, assumptions, and applicability | The corresponding model or numerical-method page |
Potential evolution on an insulating mesh under electron-beam irradiation
3D model: Rubber Duck PBR Game Ready (TurboSquid)