Ion

Contents

Ion#

class braincell.mech.Ion(class_name, /, *, name=None, coverage_area_fraction=1.0, **params)[source]#

Distributed ion-species declaration.

Parameters:
  • class_name (Any) – Registry key for the target ion class (e.g. "SodiumFixed", "CalciumDetailed"), or a class object such as braincell.ion.PotassiumFixed.

  • name (str | None) – Optional instance label.

  • coverage_area_fraction (float) – Fraction in [0, 1] of the target CV’s lateral area this declaration covers.

  • **params (Any) – Ion parameters, passed as keyword arguments.

See also

Channel

Channel counterpart.

braincell.mech.register_ion

Registration decorator for ion classes.

Examples

>>> import braincell
>>> from braincell.mech import Ion
>>> import brainunit as u
>>> Ion("SodiumFixed", Ci=12.0 * u.mM).category
'ion'

>>> # Class-object form
>>> spec = Ion(braincell.ion.PotassiumFixed)
>>> spec.class_name
'PotassiumFixed'
category: ClassVar[str] = 'ion'#

Category discriminator, set by concrete subclasses to "channel" or "ion". Instances of the abstract base have an empty string.