Ca_ZH2019_IO_Frozen

Ca_ZH2019_IO_Frozen#

class braincell.channel.Ca_ZH2019_IO_Frozen(*args, **kwargs)#

Ca_ZH2019_IO with freeze_m_inf pinned to True.

A registry-only subclass of Ca_ZH2019_IO that always stops autodiff through the instantaneous activation factor, regardless of what a caller passes for freeze_m_inf.

Parameters:
  • *args – Positional arguments forwarded to Ca_ZH2019_IO.

  • **kwargs – Keyword arguments forwarded to Ca_ZH2019_IO; any freeze_m_inf entry is overwritten with True before the parent constructor runs (see Notes).

See also

Ca_ZH2019_IO

Base class; already defaults to freeze_m_inf=True (see Notes for what this subclass adds on top of that default).

Notes

“Frozen” describes the gradient path through the instantaneous activation term, not the forward numerics: Ca_ZH2019_IO already defaults to freeze_m_inf=True, so this subclass does not change the default forward current or default gradient behaviour by itself. What it changes is configurability – __init__ here unconditionally sets kwargs["freeze_m_inf"] = True before delegating to Ca_ZH2019_IO, so a caller cannot recover the unfrozen (full-gradient) behaviour by passing freeze_m_inf=False to this class, whereas it can to the base class. No channel state stops evolving: m was never a stateful Gate in the base class either (only h is), and jax.lax.stop_gradient() affects only backward-mode differentiation, never the forward value computed by f_m_inf().

Provenance, the single-compartment caveat, and the rates-relocation import deviation are identical to Ca_ZH2019_IO’s and are not repeated here; see that class’s Notes. Per the bibliography’s attribution scan, this subclass contributes no rate-function code of its own – it inherits every kinetic equation unchanged from Ca_ZH2019_IO, that is from Manor, Rinzel, Segev & Yarom (1997) [1] as imported by Zhang & Santaniello (2019) [2].

References