Model validation
Each model is run here, at build time, and compared with a published result, an exact answer or a property it must have. A model that drifts from its reference shows up here before it reaches a lab.
13 pass, 0 warn, 0 fail.
| Check | Reference | Expected | Computed | Result |
|---|---|---|---|---|
| Hodgkin-Huxley membraneNo net current at rest | Property: the leak reversal is set so the membrane rests at -65 mV (Hodgkin and Huxley 1952) | 0 µA/cm² | −0.004224 µA/cm² | ✓ Pass |
| Hodgkin-Huxley membraneResting potential holds without input (40 ms) | Property: largest drift from -65 mV | 0 mV | 0.007164 mV | ✓ Pass |
| Hodgkin-Huxley membraneAll or none: 3 µA/cm² for 1 ms does not fire, 10 µA/cm² fires once | Property: spikes from the weak plus the strong pulse | 1 spikes | 1 spikes | ✓ Pass |
| Unmyelinated axon (HH cable)Conduction velocity of the squid giant axon (radius 238 µm, 35.4 Ω·cm, 18.5 °C) | Hodgkin and Huxley’s own calculation for the propagated action potential: 18.8 m/s (Hodgkin and Huxley 1952) | 18.8 m/s | 18.91 m/s | ✓ Pass |
| Unmyelinated axon (HH cable)Halving the compartment length barely changes the speed | Numerical check: 0.01 cm against 0.005 cm compartments | 18.91 m/s | 18.86 m/s | ✓ Pass |
| Unmyelinated axon (HH cable)Four times the diameter, twice the speed | Cable theory: velocity proportional to the square root of diameter | 2 ratio | 1.999 ratio | ✓ Pass |
| Integrate-and-fireSimulated firing rate matches the closed-form rate (3 nA) | Closed form: 1 / (t_ref + τ ln((V∞ − V_reset)/(V∞ − V_th))) | 112 Hz | 112.4 Hz | ✓ Pass |
| EngineFourth-order integrator: error ratio when the step is halved | Mathematics: 2⁴ = 16 for dy/dt = −y | 16 ratio | 16.68 ratio | ✓ Pass |
| EngineThe same seed gives the same random numbers | Property: 1000 draws compared | 1 | 1 | ✓ Pass |
| Signal journey500 mm of a 10 µm myelinated fibre | Arithmetic: 500 mm ÷ (6 × 10 m/s) = 8.333 ms (Hursh 1939) | 8.333 ms | 8.333 ms | ✓ Pass |
| Decode movement intentBits per selection, 4 choices at 90% accuracy | Arithmetic: 2 + 0.9 log₂0.9 + 0.1 log₂(0.1/3) = 1.3725 (Jeon and Shin 2015) | 1.373 bits | 1.373 bits | ✓ Pass |
| Decode movement intentMore neurons decode better (linear decoder, 160 against 5 neurons) | Property: R² rises with neuron count | 1 | 1 | ✓ Pass |
| Walking rhythmAlternation with inhibition and adaptation, none without either | Matsuoka: adaptation is needed for oscillation; inhibition couples the pair (Matsuoka 1985) | 1 | 1 | ✓ Pass |
Tolerances: pass and warn limits are set per check (relative unless the expected value is zero). The same checks run in the unit tests, so a failing model also fails the build.