Piper Method

References

Papers, standards, compared simulators, and libraries the model names. Checked against the publisher or project page on 11 October 2026. Where an older note in this repo had a wrong author, this list is the published one.

Method

#WorkWhat Piper takes from it
[1]D. Helbing and P. Molnár, “Social force model for pedestrian dynamics,” Physical Review E 51, 4282–4286 (1995). doi:10.1103/PhysRevE.51.4282. PubMed 9963139. arXiv cond-mat/9805244.Driving, wall, and person terms. Its anisotropy is a step weight (c = 0.5 outside a 200° field of view), not the lambda form used here.
[2]A. Johansson, D. Helbing and P. K. Shukla, “Specification of the social force pedestrian model by evolutionary adjustment to video tracking data,” Advances in Complex Systems 10 (supp. 02), 271–288 (2007). doi:10.1142/S0219525907001355. arXiv 0810.4587.The circular / acceleration form PTV Viswalk uses. tau, ReactToN, ASocIso, ASocMean. Anisotropy lambda + (1 − lambda)(1 + cos φ)/2; their video fits give lambda 0.06–0.16 (0.12 ± 0.07 for the circular form). The default here, 0.25, weighs people behind more than those fits.
[3]A. Tordeux, M. Chraibi and A. Seyfried, “Collision-free speed model for pedestrian dynamics,” in V. Knoop and W. Daamen (eds.), Traffic and Granular Flow ’15, Springer (2016), ch. 29. doi:10.1007/978-3-319-33482-0_29. Preprint 17 Dec 2015, arXiv 1512.05597. JuPedSim documents this as its collision-free speed model.Same-lane headway: v_des = min(v_des, max(0, (gap − 0.08) / headway_t)). A person off to the side does not stop the stream. Not Schadschneider: an earlier line in this repo named him; he is not an author of [3].
[4]J. J. Fruin, Pedestrian Planning and Design, Metropolitan Association of Urban Designers and Environmental Planners, New York (1971). HathiTrust, Open Library OL5706190M, TRID 00223691.Walkway LOS A–F. Original table is ft²/ped. Stairs and queue tables are not implemented.
[5]Land Transport Authority, Architectural Design Criteria, Revision A4 (June 2015), §2.2.3. Section 2 PDF. Index: LTA transport infrastructure criteria.Metre bands for Fruin’s walkway column (> 3.3, 2.3–3.3, …). LTA will withdraw ADC in March 2027 in favour of the Infrastructure Design Criteria; the walkway numbers are the same in IDC Vol. B1.
[6]G. K. Still, Introduction to Crowd Science, CRC Press (2014). doi:10.1201/b17097. ISBN 978-1-4665-7964-4. Publisher: Routledge. Author: gkstill.com.LOS G at 4 ped/m². The UK Green Guide, which Still cites, sets 40 people per 10 m² as the safety limit for a moving crowd; Still notes that above 4 ped/m² the risk of crushing, falls and surges rises sharply (PhD ch. 2, ch. 3). Fruin’s F has no upper bound.
[7]M. Treiber, A. Hennecke and D. Helbing, “Congested traffic states in empirical observations and microscopic simulations,” Physical Review E 62, 1805–1824 (2000). doi:10.1103/PhysRevE.62.1805. arXiv cond-mat/0002177.Intelligent Driver Model. Vehicle acceleration.
[8]A. Kesting, M. Treiber and D. Helbing, “General lane-changing model MOBIL for car-following models,” Transportation Research Record 1999, 86–94 (2007). doi:10.3141/1999-10. Author PDF: akesting.de.MOBIL lane changes.

Compared software

These are not dependencies. The force defaults and the headway law are read against them.

SoftwarePageRole here
PTV Viswalk (PTV Planung Transport Verkehr GmbH)Product. Parameter names in the 2025 help and walking-behaviour pages.Acceleration-form social force. Shared: tau 0.4 s, ReactToN 8. Defaults we do not copy: ASocIso 2.72 (ours ped_a 1.15); side preference 0, no preference (ours keep left); tau 0.8 s only while waiting at a red signal (ours stretches whenever the same-lane gap is short). Help confirms ASocIso default 2.72 and ReactToN default 8.
JuPedSim (Forschungszentrum Jülich, IAS-7)jupedsim.org. Source: github.com/PedestrianDynamics/jupedsim. PyPI: jupedsim.Collision-free speed / headway of [3].

Programming libraries

Direct dependencies only. Versions are the ones in the workspace manifests.

Rust (Cargo.toml)

CrateManifestPage
serde 1, serde_json 1workspaceserde.rs, crates.io/serde, crates.io/serde_json
rayon 1piper-core (feature), piper-batchcrates.io/rayon
wasm-bindgen 0.2piper-wasmgithub.com/wasm-bindgen/wasm-bindgen (moved off the archived rustwasm org). Guide: wasm-bindgen.github.io
wasm-bindgen-rayon 1.3piper-wasm feature threadscrates.io/wasm-bindgen-rayon
console_error_panic_hook 0.1piper-wasmcrates.io/console_error_panic_hook
png 0.17piper-batchcrates.io/png
tiff 0.9piper-batchcrates.io/tiff

Scenario geometry is GeoJSON. The format is IETF RFC 7946 (August 2016). Project files may also be OGC GeoPackage 1.4 (an SQLite database).

Apps and packages (apps/*/package.json, packages/*/package.json)

PackageManifestPage
next ^15.5runtimenextjs.org
react, react-dom ^19.1runtimereact.dev
three ^0.186runtimethreejs.org
@react-three/fiber ^9.8runtimer3f.docs.pmnd.rs
@react-three/drei ^10.7runtimegithub.com/pmndrs/drei
sql.js ^1.13runtime, @piper/iosql.js.org
proj4 ^2.15@piper/ioproj4js.org
react-markdown ^10.1, remark-gfm ^4.0, remark-math ^6.0, rehype-slug ^6.0, rehype-katex ^7.0runtime, /method pageremarkjs/react-markdown, unified
katex ^0.19runtime, /method pagekatex.org
mermaid ^11.17runtime, /method pagemermaid.js.org
typescript ^5.6devtypescriptlang.org

Licenses for all of these are in THIRD_PARTY.md at the repo root.

packages/viewer/src/treegen/ is a vendored copy of a pantograf-tools tree mesh generator, used only to draw street trees. It is not a walker-model reference and has no public paper.

Fixture sources

Queenstown-style station geometry in fixtures/ is traced from public sources, not a CAD copy. Listed in fixtures/README.md: