Skip to content

Repository files navigation

OpenSourceRail

Important

The foreign-capital advantage is a cornerstone of OpenSourceRail. Across the 266-city / 44-country catalogue, the default equivalent foreign-turnkey comparison shows $451.28B (86.7%) less external capital, $564.13B less external interest, and $1.02T less external capital plus interest over the financing life. Both cases use the same country rate, grace period, and repayment tenor, so the interest saving comes from borrowing far less foreign capital; the comparator's external requirement is assumed debt-financed. The 2.0× turnkey cost and 90% foreign-capital shares are editable planning sensitivities—not a vendor quote.

Solar metro trainset: current OpenSourceRail reference vehicle

Blender-rendered Samawah Line 1 digital twin showing real-time LM3 operation through the S5 elevated station

Samawah Line 1 Blender digital twin: a refined 49.5 m driverless LM3 approaches S5 at 36 km/h, brakes at 1.0 m/s², stops and opens its doors, then starts, accelerates, and departs in real time. The source package includes the full-line FreeCAD/JSON twin, Blender scene, and MP4. Regenerate it with scripts/freecad-generate.sh --samawah-line-twin.

Source-linked fabrication and assembly digital twin for track, stations, viaducts, and LM3 trainsets

The fabrication and assembly twin runs four synchronized production routes from material release through assembly and QA handover. Its JSON register contains 23 controlled work stages, predecessors, hold points, evidence, source hashes, and the interfaces between rail, station, viaduct, and train. Regenerate it with scripts/freecad-generate.sh --fabrication-twin.

OpenSourceRail is an open-source stack for designing, building, and operating affordable urban rail systems. It combines:

  • city network generation from GIS data,
  • a Rust simulator and control stack,
  • parametric mechanical/CAD designs,
  • hardware reference designs,
  • operations and certification documentation,
  • a machine-checkable safety case.

The default system is GoA 4 driverless, catenary-free, battery electric, and designed around local manufacture: welded steel primary structures, 1 m-wide clip-on fiberglass side/roof body modules, COTS rail/bus modules where sensible, commodity compute, and regenerable documentation/CAD artifacts. Six parallel two-person crews can install and release the exterior bodies of a three-car train in one eight-hour shift once the three painted frames pass their dimensional checks; doors, glazing, equipment, bogies, commissioning, and certification remain separate work.

Current city CAPEX uses trainset-family rolling-stock units, for example about $0.9M per 3-car light-metro trainset. The current explicit build estimate is $885k per 3-car LM3 trainset: design-candidate material/supplier modules plus 5,524 h at $10/h, then a 20% unexpected-cost premium. That estimate already includes the named passenger fit-out and openings: seats, floors, grab rails, interior lighting, three roof HVAC units, 18 side windows, 12 powered side doors, door sill/emergency kits, and two panoramic end-glass assemblies. City CAPEX keeps the rounded $0.9M planning unit. Each country adds one shared, lean $60k per supported vehicle/car module national railway production-plant setup sized to its largest city fleet programme; $120k per supported vehicle/car module is retained only as the high sensitivity check. Individual cities do not duplicate the factory. Distributed overnight stabling at powered stations also removes fleet-wide parking roads from depot scope; depot CAPEX retains inspection, defect repair, wheel, wash, and heavy-maintenance functions. The machine-readable source is lib/templates/capex-costs.toml, with the audit trail in docs/cost-model.md.

Foreign-Capital Advantage And Local Content

The generated catalogue now separates the foreign-currency requirement from the value that can be financed domestically. Imported content is treated as the minimum external/international capital requirement; domestic labour, materials, fabrication, installation, and services form the local capital envelope that can be funded through local-currency infrastructure bonds, public equity, pension or insurance capital, land-value capture, and other domestic sources.

266-city / 44-country catalogue Planning value Annual construction draw across country programmes
External capital for imported components and machinery $69.38B (24.0%) $11.18B/year
Local capital for domestic value $219.87B (76.0%) $35.42B/year
of which planned local-currency bond issuance $175.90B $28.34B/year
local public equity / other domestic funding $43.97B $7.08B/year
Total national programmes, including 44 shared factories $289.25B $46.60B/year

Annual figures sum each country's planning construction schedule; they do not assume that all 44 programmes start in the same calendar year. Individual city import shares currently range from 18.5% to 26.9%, reflecting each city's mix of civil works, stations, fleet, solar, signalling, and charging assets. The localization-first planning shares are 15% imported for civil works, 20% for stations, 25% for depots, 35% for rolling stock, 45% for dedicated solar, 50% for signalling, 40% for charging microgrids, 15% for EPC/project services, and 20% for the shared national trainset factory. They assume domestic supply of bulk structures, fabrication, installation, wiring/cabinets, software integration, vehicle bodies/interiors, and project services; each country must replace them with a supplier-capability and rules-of-origin audit.

The model also exposes an editable foreign-company turnkey comparison. At the default 2.0× OSR cost and 90% foreign-capital share, an equivalent foreign-led programme would cost $578.51B, require $520.66B of external capital, and draw $83.89B/year across the country construction schedules. Against that sensitivity, OSR avoids $451.28B (86.7%) of external capital, or $72.71B/year, while reducing total programme CAPEX by $289.25B (50%). Using each country's existing external rate, grace period, and repayment tenor, the smaller OSR external principal also avoids $564.13B of lifetime external interest. The combined external-capital and interest saving is therefore $1.02T over the financing life. This comparison excludes local-bond interest and OPEX so the foreign-currency funding advantage remains explicit. Low/default/high cost multipliers of 1.5×/2.0×/3.0× are reported in every city and national brief. These are transparent comparison variables—not a received bid or a price attributed to any named supplier—and must be replaced with scope-normalized market offers before investment approval.

Every city README and engineering/finance/summary.json now reports its import percentage, external and local capital totals, annual construction draws, local bond issuance, foreign-turnkey sensitivity, external-capital savings, lifetime external-interest savings, combined financing-life savings, and post-grace debt service. Every country has a NATIONAL-BRIEF.md that aggregates its cities and adds one centralized trainset factory, sized to the largest single-city vehicle-module programme and reused through a phased national rollout. Rails, viaducts, stations, depots, and local civil packages remain city or regional delivery scopes. See the Iraq national strategy and the Nairobi city capital example.

These figures are planning screens, not financing commitments or audited supplier-origin declarations. Supplier quotations, domestic capability, customs and tax treatment, foreign-exchange paths, land, utilities, and signed lender terms must be established before procurement.

Current milestone: v0.2 development baseline, with remaining validation and hardening tracked in docs/ROADMAP.md.

Adoption And Assurance Path

OpenSourceRail is not asking a city to accept an uncertified full-stack driverless metro as the first step. The practical first wedge is owner-operator software that can run without controlling trains: simulation/digital-twin studies, generated asset registers, manufacturing and construction QA, maintenance scheduling, Ops Core work orders, acceptance evidence, historian views, and depot CBM adapters. Those can be used on an existing railway, depot, test track, or city design study while the safety-critical train-control stack remains in shadow mode.

Step Deployable result Safety exposure
Planning / shadow mode Simulator, cost/energy model, portal registers, QA/maintenance/evidence pack No command of trains
Depot or closed test track COTS hardware hosts, work orders, inspection forms, telemetry, restricted movement trials Local rules and test authority only
Segregated pilot segment Trial service with independent assessor review and deployment-specific safety case Limited operational exposure
Revenue GoA 4 service Certified train-control, rolling-stock, station, energy, and operations system National authority acceptance required

The GoA 4 train-control and rolling-stock stack is therefore a later certification program, not a README promise. OpenSourceRail produces reference designs, code, proofs, tests, operating rules, and evidence packs. It does not itself carry the statutory safety certificate, operating license, product liability, insurance, or sovereign finance package. Those responsibilities sit with the deployment owner/operator, prime integrator, independent safety assessor, insurer, and national safety authority.

SIL names in this repository are target assurance and hazard-allocation labels. Nothing here is certified SIL-4, SIL-2, or any other SIL until a deployment-specific assessor and authority accept the evidence.

The battery-electric, catenary-free system is the default design target, not a universal law. Every city model must include battery replacement, charger dwell, fleet reserve, charger thermal limits, grid/PPA studies, fire/egress constraints, and station/depot storage. Catenary or third rail may still win for very high-frequency trunks, constrained dwell times, difficult climates, or weak station power sites; the point of OSR is to make that trade visible rather than bury it in vendor pricing.

Station And Track Renders

At-grade station Elevated station Elevated interchange
At-grade side-platform station with ballastless track and driverless train Elevated side-platform station with ballastless track and driverless train Elevated interchange station with stacked tracks and driverless trains

Generated from the FreeCAD station scene package in mechanical-py/catalog/freecad/station-scenes.FCStd; see docs/stations/README.md for the station artifact index.

Start Here

Goal Go here
Read the short introduction brochure OpenSourceRail introduction HTML
Understand the whole repo docs/README.md
Understand the unified deployment model docs/deployment-model.md
Understand deployment responsibilities docs/deployment-roles.md
Review the first adoptable product docs/first-adoptable-product.md
Find any Markdown document docs/INDEX.md
See generated city designs designs/README.md
Review national implementation and capital strategy Iraq national brief and the other country-level NATIONAL-BRIEF.md files under designs/
Review imported versus local capital for a city Nairobi funding and affordability
Run the simulator Quick Start
Run the operations portal Operations Portal
Contribute or review governance CONTRIBUTING.md and GOVERNANCE.md
Prepare the next release docs/releases/next.md
Generate a city network Designing Cities
Generate engineering screening packages Engineering Screening For All Cities
Review rolling-stock design docs/rolling-stock/light-metro-3car/README.md
Use the buildable trainset handoff mechanical-py/catalog/buildable-trainset/README.md
Review station and track renders docs/stations/README.md
Review mechanical CAD outputs mechanical-py/README.md
Review hardware host classes hardware/README.md
Review deployable host compositions deployment/README.md
Read the architecture docs/ARCHITECTURE.md
Review software architecture diagrams docs/software-architecture-diagrams.md
Read the RFCs docs/rfcs/README.md
Review certification evidence docs/certification/ and docs/safety-case/

Repository Map

Path Purpose
crates/ Rust workspace: simulator, interlocking, ATP, brake, obstacle detection, TCMS, GUIs, design synthesis, safety-case compiler
designs/ Complete 266-city / 44-country catalogue with city capital splits, engineering/operations evidence, package manifests, and one national strategy brief per country
design-py/ Python GIS/design sidecar for OSM, WorldPop, raster generation, maps, and batch tooling
mechanical-py/ Python parametric mechanical catalogue: rolling stock, track, civil, stations, depots, fixtures, generated FreeCAD review artifacts
hardware/ Hardware reference designs and DIY assembly for T-ECU/S, T-ECU/A, T-OBS, W-SBC, S-SBC
docs/ Architecture, RFCs, certification pack, safety case, operations, civil, stations, rolling-stock docs
docs/operations-portal/ Browser operations portal for asset registers, manufacturing schedules, QA gates, maintenance work orders, defects/NCR, audit, SQLite storage, and reconciliation
lib/ Machine-readable templates, recipes, examples, city batches, cost/finance inputs
formal/ TLA+ consensus specification and model-checking harnesses
tools/ Companion tools including LandXML to OSR-ALN and the Python MA reference interpreter
scripts/ Regeneration, publishing, repository health, BOM, and book-builder helpers
.github/repository-metadata.yml Recommended GitHub description, homepage, and topics

Generate the PDF reader edition with python3 scripts/build-doc-book.py; it is written to build/releases/.

Software Architecture Diagrams

Editable Mermaid diagrams for the backend, train, station, depot, wayside waypoint, energy, manufacturing, QA, maintenance, and safety/security layers are collected in docs/software-architecture-diagrams.md.

Diagram Scope
Deployment context OCC, depot, stations, wayside nodes, trains, passengers, utilities, and regulator evidence
Backend / OCC services Event log, read models, historian, analytics, AFC back office, CBM, and Ops Core
Onboard train software T-ECU/S, T-ECU/A, T-OBS, TCN-E, CAN-FD, sensors, traction, brakes, doors, BMS
Station and depot software S-SBC station/depot host, PIS, AFC, TVM, PSD, SCADA, energy, self-test, workshop tools
Wayside / waypoint node software W-SBC, consensus, interlocking, points, balises, intrusion, crossings, hot-axle detection
Control and data flow Dispatcher request through route safety, movement authority, telemetry, CBM, and work orders
Energy and charging software Charging dispatch, train BMS, regen, station/depot PV, BESS, chargers, and grid tie
Manufacturing, QA, maintenance, and evidence flow Generated asset/manufacturing/QA/maintenance data into Ops Core, SQLite, evidence, NCR, and audit
Safety and security boundaries Target assurance tiers, crypto, time sync, self-test, and signed firmware boundaries

Quick Start

Requirements: Rust via rustup. Python is needed only for GIS and CAD sidecars.

Run the bundled Samawah simulator scenario:

cargo run --release --bin osr-sim -- --duration 3600 --status-every 300

Run another generated city:

cargo run --release --bin osr-sim -- \
    --config designs/south-asia/Pakistan/Karachi/karachi.toml \
    --duration 3600

Check repository health and generated artifact drift:

python3 scripts/repo-health.py --quiet

Check the FreeCAD bridge for CAD assemblies, FEM models, and screenshots:

scripts/freecad-generate.sh --check

The local FreeCAD Flatpak toolchain also has add-ons installed for assembly review, mould/manufacturing checks, and high-quality renders: Render, DFM, Assembly4, A2plus, and Blender/Cycles. The repeatable README render path is:

scripts/freecad-generate.sh --high-quality-renders

Run the top-down / bottom-up rolling-stock design iterator:

scripts/design-iterate.sh
scripts/buildable-trainset.sh
scripts/buildable-stations.sh

Operations Portal

The browser portal gives each generated city an asset register, manufacturing schedule, QA gate register, maintenance schedule, lightweight Ops Core work-order loop, defects/NCR register, audit trail, SQLite persistence, and a reconciliation path for browser-local fallback records. Manufacturing rows include controlled material/BOM refs, QA verification rows, resolved predecessor ids, and release blocking until predecessor work is closed with pass evidence.

Run the SQLite-backed portal:

python3 scripts/generate-qa-maintenance-data.py
python3 scripts/ops-core-server.py --port 8008

Then open:

http://127.0.0.1:8008/docs/operations-portal/

Key docs:

Portal dashboard Ops Core + SQLite QA gates
Operations portal dashboard with Samawah asset, maintenance, QA, trainset, and station metrics Ops Core tab showing SQLite storage, reconciliation, work orders, defect hold, and evidence counts QA Gates tab showing asset-level construction QA hold points and one-click work-order creation

The acceptance/accreditation evidence basis is generated from the same city operations bundle. It checks that every manufacturing row has material/BOM refs, a QA verification row, a linked QA action, resolved predecessor ids, and release blocking through Ops Core evidence.

Acceptance dashboard Manufacturing controls
Operations portal dashboard showing manufacturing tasks, material BOM rows, QA verifications, maintenance tasks, QA actions, trains, and stations Manufacturing tab showing asset-level packages, project-day windows, crew tasks, dependencies, BOM references, QA gate links, blocked successor status, and export controls

Simulation Screenshots

OpenSourceRail simulator playback GUI with animated trains, event log, and inspector

Regenerate the current simulator screenshots:

python3 scripts/render-sim-screenshots.py

The Samawah reference was acceptance-tested on 2026-08-12 using the generated 96-trainset, three-line scenario: 86 peak sets, 7 planned spares, and 3 cold reserves. Morning and afternoon peaks retain quick turnarounds; the 12-minute concurrent clean, safety inspection, diagnostics download, and 150 kW low-C recharge moves to 6- and 12-minute off-peak windows, so no additional depot-service trainsets are required. The corrected model uses a 675 kWh nameplate / 540 kWh usable pack, protects a 20% SoC reserve, models 150 kW low-C top-up at all six depot/terminal layups, and uses a 3.0 kWh/car-km nominal base before the scenario climate uplift (the design and infrastructure plan retains the conservative 4.0 kWh/car-km case).

Verified run Result
2-hour screenshot trace 2,343.09 train-km; 23,617.08 kWh consumed; 20,327.01 kWh charged; 34 depot services completed; minimum SoC 62%; 0 onboard emergencies; 0 invariant violations
Full 05:30–02:00 service-window soak 24,839.54 train-km; 250,376.24 kWh consumed; 219,389.36 kWh charged; 453 depot services completed (3 still active at the cutoff); minimum SoC 20%; 0 onboard emergencies; 0 invariant violations

The full-window result is the simulated movement actually completed, not the 27,177 train-km timetable-planning upper bound. Energy-reserve gating now holds a train for charging instead of allowing motion at zero SoC.

Designing Cities

Generated city models live under:

designs/<region>/<country>/<City>/

Each city folder contains README.md, design.toml, a simulator scenario TOML, corridor GeoJSON, station JSON, design-quality YAML, a reconciled finance summary, engineering and operations evidence, and a hashed package-manifest.json. Each country directory also contains one generated NATIONAL-BRIEF.md covering centralized trainset production, city delivery sequencing, imported/external capital, local funding, bond issuance, and annual requirements. The catalogue table is included in designs/README.md.

Regenerate one city:

pip install -e design-py[geotiff,batch]
cargo build --release --bin osr-design
scripts/regenerate-city.sh samawah

Regenerate the catalogue:

scripts/regenerate-all.sh --jobs 4

This fast default resynthesises each canonical design before refreshing the complete package beside it. It reuses raster and corridor caches where they exist, and creates missing source caches automatically. Use scripts/regenerate-all.sh --from-scratch to force OSM, population raster, and corridor rebuilding even when current caches are available.

To add a city, add an entry to lib/city-batches/world-sample.toml, then run scripts/regenerate-city.sh <slug>.

Samawah generated network

Engineering Screening For All Cities

The engineering toolchain generates GIS, SUMO, energy, procurement-origin finance, station-product, nominal/degraded simulation, operations, and acceptance evidence from the city source catalogue. Each full run ends with a hashed package-manifest.json and fails unless the complete screening package is present and passing. The retained city finance summaries reconcile total CAPEX to imported/external and local funding, while the country briefs add the shared national factory exactly once.

After installing the pinned tools in engineering/toolchain/README.md, generate a city and run its engineering screen:

scripts/regenerate-city.sh samawah

Generated evidence is written into the city folder:

Output Location
Full city package designs/<region>/<country>/<City>/
GIS, SUMO, energy, and simulation evidence that city package's engineering/ directory
Operations, QA, maintenance, and acceptance tables that city package's operations/ directory
Engineering batch summary build/engineering/cities/batch-summary.json
Complete-package summary build/engineering/cities/package-summary.json

These outputs are screening evidence, not automatically approved engineering. Surveyed alignments, calibrated passenger demand and dwell, connected interchange/junction topology, road interactions, local climate and fire inputs, and competent deployment review remain required before release. The detailed boundaries and remaining tasks are in docs/engineering-design-simulation-plan.md.

Rolling Stock And CAD

The current reference train is the light-metro-3car: cabless, driverless, battery electric, three repeated self-contained cars with one powered bogie and one trailer bogie each, under-seat LFP batteries, mixed bonded/rail-mounted roof solar feeding a per-car MPPT and protected DC link, six independent traction controllers, direct-HV DC HVAC, COTS doors/windows/HVAC, two low-floor door pairs per side per car, and T-OBS sensor packs behind single dark panoramic-glass noses at both ends.

The current RFC 0021 electrical baseline defines three 225 kWh gross LFP car packs on a 650–700 V nominal DC link, six independent heavy-vehicle-class PMSM controllers, direct-HV DC HVAC, isolated LV DC/DC domains, and a standard 500 kW station DC/DC cabinet backed by repeatable 500 kWh stationary-LFP modules. The welded S355 datum skeleton is the safety load path. Sixteen 1 m bays per 16.5 m car carry clipped fiberglass side and roof modules fabricated in reusable short moulds, CNC-trimmed into solid/window/door/roof variants, and installed on keyed hooks, captive retainers, anti-lift locks, and dry replaceable EPDM seals; no full-length mould or production adhesive cure is required.

Key links:

Buildable handoff quick path:

Need Use
See selected baseline and metrics design iteration summary
See parts → subassemblies → assemblies → trainset buildable manifest
Select panoramic or open mid-train ends train-end interface with the common end carrier, panoramic glass option, and train-to-train open connection
Start drawing/RFQ work definition pack with structured material/process specs
Start shop routing / QA planning shop traveler pack with material/process controls
Plan first-article fabrication and final assembly critical-path plan with parts, subassemblies, furnishings, space, labour, float, and final commissioning
Size the pilot factory and machinery factory plan with enclosed-area, yard, cell, assembly-time, and machinery price estimates
Review trainset build cost build-cost estimate with USD 10/h labour, 20% unexpected-cost premium, and explicit included seats/floors/lighting/HVAC/windows/doors scope
Review current buildability gaps buildability review
Review geometry and FEM evidence FreeCAD catalogue and FEA summary

First-article fabrication and final assembly rough order:

  • The generated plan covers parts fabrication, chassis/body subassemblies, moulded glass-fibre exterior modules, bogies, electrical/HV equipment, final train assembly, internal furnishings, and static/dynamic commissioning.
  • Rough elapsed time is 35 working days with 5,524 h of direct labour after design release and material availability.
  • The current critical path is traveler/material release, structural steel prep, underframe welding, side/roof spaceframe build, paint, clip-on GFRP body installation, doors/windows/roof equipment, internal furnishings, articulation/gangways/couplers/trainlines, static commissioning, and dynamic trial release.
  • Space is minimised by keeping one 55 m final assembly track for accepted kits only. The generated pilot factory plan sizes a minimum 3,515 m2 enclosed factory, about 2,200 m2 of outside yard/test apron, two underframe fixtures, two side/roof frame fixtures, one paint bay, three bogie stands, four short GFRP moulds, and one interior trim bench set.
  • Rough-order pilot machinery/setup is about $1.02M, including a 20% installation/adaptation contingency and excluding land, building shell, taxes, freight, duty, and full homologation lab equipment.
  • Work deliberately runs in parallel: GFRP module moulding, bogie assembly, HV/electrical kit installation, and internal furnishing prebuild all have float. Furnishings are pre-kitted off-line by car and door zone, then installed after exterior leak-sensitive work closes.

Selected generated design views:

Complete light-metro 3-car trainset

Final three-car reference consist with panoramic-glass end cowls, bodies, bogies, roof PV, and train-level systems.

Single panoramic trainset end glass

Cabless front/rear cowl close-up showing the identical multi-part fiberglass end kit, one heated laminated panoramic glass pane, bonded edge frame, demist busbars, and service hardware.

Layered car body services

HVAC ducting, LV/data trays, lighting, HV/PV routing, coolant, and fire-vent paths inside one car.

Layered car body structure

Primary body structure with translucent shell, 10 m low-floor centre pan, raised bogie-end decks, side sills, and portal frames.

Car body and bogie subassembly

Single-car structure mounted over standard motor/trailer bogies, showing the ~3 m high-floor end decks and the 10 m low-floor centre zone.

Body and chassis sheet-metal kit

Manufacturing-oriented sheet-metal kit for underframe, bolsters, coupler pockets, side posts, roof bows, and floor transitions.

Solar metro production assembly concept

Production concept board showing the repeated 16.5 m car module, welded datum frame, COTS module installation, and bogie marriage sequence.

LM3 pilot factory layout

Pilot factory layout with one controlled 55 m final bay and off-line cells for chassis weld fixtures, GFRP moulding/trim, bogie assembly, interiors/HVAC kits, paint, stores, QA, yard staging, and short test access.

LM3 parallel first-article assembly method

First-article work-stream plan showing the 35-working-day build network: chassis/body frame, GFRP modules, bogies, interior kits, door/window/roof work, HV/electrical installation, articulation/static testing, and dynamic release.

GFRP module moulding and clip-on body method

One-metre glass-fibre side/roof modules are moulded, cured, CNC-trimmed, sealed, dry-fit on a master frame, and clipped to the painted carbody without a full-length mould or production adhesive cure hold.

Per-car systems assembly

One self-contained car equipment package: four door cassettes, platform safety interfaces, batteries, rooftop PV package, charging interface, traction/charge power rack, and accessibility/safety reservations.

Rooftop solar system assembly

Per-car rooftop PV package with bonded flexible laminates, raised rigid panels, mounting rails, edge clamps, junction boxes, fire isolators, MPPT combiner, and downlink gland.

Inter-car articulation detail

Semi-permanent articulated gangway module with lower spherical joint, anti-lift keeper, upper links, bellows, turntable floor, trainline routing, and kinematic clearance frame.

Bogie-to-carbody marriage method

Final-bay marriage method showing accepted bogies rolled under a surveyed chassis datum, mobile lifting columns, centre-pivot/air-spring checks, shim records, and brake/static hold points.

Motor bogie

Powered bogie assembly with frame, wheelsets, PMSM motors, gearboxes, suspension, and brakes.

Selected CalculiX FEA screening result plots:

Chassis service gravity Bogie brake/traction Body lateral sway
Chassis service gravity FEA result Bogie brake traction FEA result Full body lateral sway FEA result

Selected Blender/Cycles engineering-clay renders generated from the FreeCAD review documents:

Trainset render Full-body assembly render Chassis/bogie render
Blender Cycles trainset render Blender Cycles full body render Blender Cycles chassis bogie render

The full screening summary and raw solver outputs are in mechanical-py/catalog/fea.

The rolling-stock design hierarchy and candidate-iteration workflow are documented in docs/rolling-stock/design-system.md; generated scorecards are in mechanical-py/catalog/design-system. The buildable trainset handoff is generated in mechanical-py/catalog/buildable-trainset. It includes a manifest, buildability review, one definition per product-tree node, and one unsigned shop-traveler template per node. Definitions and travelers now carry structured material specs, process specs, operation routers, estimated labor, tooling IDs, QA gates, approval blocks, signoff blocks, and NCR/deviation logs.

Regenerate the design/buildable handoff and the CAD/FEM/screenshots:

scripts/design-iterate.sh
scripts/buildable-trainset.sh
scripts/freecad-generate.sh --check
scripts/freecad-generate.sh --models --assemblies --fem
scripts/freecad-generate.sh --screenshots --station-scenes
scripts/freecad-generate.sh --high-quality-renders
scripts/freecad-generate.sh --fabrication-twin
PYTHONPATH=mechanical-py/src python3 mechanical-py/scripts/render_screenshots.py

Hardware

Hardware docs are consolidated under hardware/:

Safety And Certification

Important entry points:

Development Commands

# Rust workspace checks (including current stable Clippy)
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace --all-targets

# Mechanical package tests
PYTHONPATH=mechanical-py/src pytest mechanical-py/tests -q

# Design-side tests
pytest design-py/tests -q

# Repository drift checks
python3 scripts/repo-health.py --quiet
PYTHONPATH=design-py/src python3 scripts/generate-national-briefs.py --check

See CHANGELOG.md for the current verification snapshot.

License

Project split, per ARCHITECTURE §9:

  • Software: Apache 2.0
  • Hardware designs: CERN-OHL-S v2
  • Documentation: CC-BY-SA 4.0

OpenSourceRail is not a safety certifier or standards body. It produces open artifacts suitable for independent assessment by deployment partners and national authorities.

The contribution process and governance model are in CONTRIBUTING.md and GOVERNANCE.md. Complete license texts and the path mapping are in LICENSE.md and LICENSES/.

About

Open-source urban rail design, simulation, operations, QA, maintenance, and certification-evidence stack for locally manufactured light metro systems.

Topics

Resources

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages