Skip to content

About

Benchmark-only concentric-sphere analytical electrostatic and Shockley-Ramo reference implementation.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

P0 Concentric-Sphere Analytical Benchmark

This project implements the frozen benchmark-only concentric-sphere model for P0 electrostatic, weighting-field, and Shockley–Ramo verification. It is a mathematical reference case for later cross-software verification; it is not a PTW 32002 geometry model.

Scope

Included:

  • closed-form potential and radial electric field in a concentric spherical shell;
  • inner-electrode weighting potential and weighting field;
  • signed Shockley–Ramo current and endpoint induced charge;
  • independent finite-difference, Gauss-law, capacitance, similarity, polarity, and trajectory checks;
  • deterministic CSV, YAML, Markdown, and SHA-256 evidence artifacts.

Excluded:

  • actual 32002 internal geometry or materials;
  • COMSOL, Geant4, Garfield++, electronics, calibration, absolute air-kerma rate, or AI/ML;
  • physical measurement uncertainty claims.

The numerical tolerances in this project are implementation-verification tolerances only. They are not measurement uncertainties.

Frozen case and conventions

The main case uses a = 0.01 m, b = 0.1 m, Va = 1 V, and Vb = 0 V. Outward radius and radial velocity are positive. The field definitions and signal convention are

E_r = -d(phi)/dr
Ew_r = -d(phi_w)/dr
i = q * v_r * Ew_r
Q_ind = q * [phi_w(r_start) - phi_w(r_end)]

q is signed: an electron has q < 0, while a positive ion has q > 0. The physical field depends on the applied conductor potentials. The weighting field is an auxiliary unit-boundary solution for the readout electrode and does not contain the physical bias voltage.

Public API and units

All internal calculations use SI units. Boundary evaluations at r = a and r = b are allowed; values outside the closed interval raise ValueError.

Function Inputs Output
potential(r, a, b, Va, Vb) r, a, b in m; Va, Vb in V physical potential in V
electric_field_radial(r, a, b, Va, Vb) r, a, b in m; Va, Vb in V outward radial field in V/m
weighting_potential(r, a, b) r, a, b in m dimensionless
weighting_field_radial(r, a, b) r, a, b in m outward radial weighting field in 1/m
induced_current(q, v_r, r, a, b) q in C; v_r in m/s; radii in m current in A
induced_charge(q, r_start, r_end, a, b) q in C; radii in m induced charge in C

CSV data dictionary

data/p0_benchmark.csv contains 201 points in the closed interval [a, b].

Column Unit Definition
r_m m radial coordinate
r_over_a dimensionless r/a
r_over_b dimensionless r/b
phi_V V physical potential
phi_over_deltaV dimensionless (phi - Vb)/(Va - Vb)
E_r_V_per_m V/m physical outward radial field
E_r_times_b_over_deltaV dimensionless E_r b/(Va - Vb)
phi_w dimensionless inner-electrode weighting potential
Ew_per_m 1/m outward radial weighting field
Ew_times_b dimensionless Ew b
r2_E V m r^2 E_r
r2_Ew m r^2 Ew
gauss_flux V m 4 pi r^2 E_r; multiply by vacuum permittivity to obtain enclosed charge in C

Reproduction

From this directory, using the verified environment:

& 'C:\ProgramData\anaconda3\python.exe' -W error -m pytest -q
& 'C:\ProgramData\anaconda3\python.exe' scripts\generate_benchmark.py

The generator recomputes all ten hard verification chains. It returns a nonzero process status if any chain fails. The source implementation is in src/concentric_sphere.py; evidence generation is in scripts/generate_benchmark.py; automated tests are in tests/.

Evidence artifacts

  • data/p0_benchmark.csv
  • manifests/P0_parameter_manifest.yaml
  • reports/P0_Verification_Report.md
  • manifests/P0_SHA256SUMS.txt

The checksum manifest excludes itself, Git internals, Python bytecode, and test caches. The parameter manifest records the frozen implementation-plan hash and the committed source HEAD used for generation. If no commit or repository exists, it records the reason explicitly.

About

Benchmark-only concentric-sphere analytical electrostatic and Shockley-Ramo reference implementation.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages