ToyDiamFactorKinetic_SU2015_DCN

ToyDiamFactorKinetic_SU2015_DCN#

class braincell.ion.ToyDiamFactorKinetic_SU2015_DCN(size, temp=Quantity(309.15, 'K'), kf=Quantity(2., '1 / (mM * ms)'), kb=Quantity(0.5, 'kHz'), PumpTot=Quantity(1., 'mM * um'), depth=Quantity(1., 'um'), Co=None, Ci_initializer=Quantity(0.1, 'mM'), PumpBound_initializer=Quantity(0., 'mM * um'), solver='backward_euler', substeps=1, name=None, **channels)#

Minimal geometry-factor toy with runtime-derived cytosolic strip factors.

This is a BrainCell import-path validation fixture, not a model of a published mechanism – the SU2015_DCN suffix follows BrainCell’s naming convention only. Ci lives in a thin strip volume derived from the runtime midpoint diameter, while PumpFree and PumpBound live on a line-like membrane factor:

\[ \begin{align}\begin{aligned}cyto = \pi \cdot diam_{mid} \cdot depth\\pump\_area = \pi \cdot diam_{mid}\end{aligned}\end{align} \]

The mechanism then exercises a reversible reaction

\[Ca_i + PumpFree \rightleftharpoons PumpBound\]

together with the conserved pool

\[PumpFree + PumpBound = PumpTot \cdot pump\_area\]
Parameters:
  • size (int | Sequence[int] | integer | Sequence[integer]) – The size of the simulation target, typically the number of neurons or compartments. Forwarded unchanged to Calcium.

  • temp (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Absolute temperature used by the Nernst equation in E. Defaults to 36 degrees Celsius, converted to kelvin via u.celsius2kelvin before being stored.

  • kf (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Forward rate constant of the Ci + PumpFree -> PumpBound reaction, applied per unit pi * diam_mid. Defaults to 2.0 / (mM * ms).

  • kb (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Backward rate constant of the PumpBound -> Ci + PumpFree reaction, applied per unit pi * diam_mid. Defaults to 0.5 / ms.

  • PumpTot (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Per-area total pump concentration used by the conserved pool PumpFree + PumpBound = PumpTot * pi * diam_mid. Defaults to 1.0 mM * um.

  • depth (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Strip depth multiplying pi * diam_mid to form the cyto factor that Ci lives in. Defaults to 1.0 um, which differs from every other toy fixture in this module (they default depth to 0.2 um).

  • Co (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable | None) – Extracellular calcium concentration. Defaults to None, which falls back to Calcium.default_Co inside KineticIon._init_kinetic_ion().

  • Ci_initializer (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Initializer for the Ci species. Defaults to 0.10 mM.

  • PumpBound_initializer (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Initializer for the PumpBound species. Defaults to 0.00 mM * um.

  • solver (str) – Integrator name used for the reaction network. Defaults to "backward_euler", unlike every other toy fixture in this module (they default to "rk4").

  • substeps (int) – Number of solver substeps run inside one parent update. Defaults to 1, unlike every other toy fixture in this module (they default to 5).

  • name (str | None) – Runtime ion instance name. Defaults to None.

  • **channels – Channel instances to attach to this ion, forwarded unchanged to Calcium.

Raises:

ValueError – If temp is explicitly passed as None, or if substeps is less than 1. Both come from KineticIon._init_kinetic_ion().

See also

Calcium

Base calcium ion family this class attaches the reaction network to.

ToyCaPumpFactorKinetic_SU2015_DCN

Sibling fixture with the same binding/pump topology, but whose cyto/pump_area factors are fixed constructor constants instead of geometry-derived quantities.

braincell.ion._base.KineticIon

Template this class instantiates; documents the NMODL-style semantics shared by all five toy fixtures, including the Factor mechanism.

Notes

diam_mid is not a constructor parameter of this class. It is a compartment-geometry attribute injected at runtime onto every ion instance from the enclosing compartment’s context (see braincell.mech._context, populated from braincell._discretization), documented there as the diameter at the control-volume midpoint. The cyto and pump_area factors, and the reaction/conservation coefficients above, read self.diam_mid directly and so are only well-defined once this ion is attached to a compartment that supplies that context.

This class has no sources: Ci is driven only by the binding reaction, with no current-driven or constant influx term.

PumpFree is the algebraic member of the conserved pool; it is recovered from PumpBound by subtraction rather than integrated directly.

The corresponding .mod fixture’s pump_area/cyto constants are compiled by NEURON to the fixed decimal 62.8319, a rounding of the exact value pi * diam_mid * depth (62.83185307179586 for the fixture’s reference geometry) would produce. BrainCell does not substitute that compiled decimal: both factors are recomputed at runtime from self.diam_mid, so results track the live geometry exactly rather than reproducing NEURON’s rounded constant. No other toy or Cdp* mechanism in this module carries this exception.