diff --git a/doc/concepts/interconnectivity.rst b/doc/concepts/interconnectivity.rst index edb3895153..b267f98da9 100644 --- a/doc/concepts/interconnectivity.rst +++ b/doc/concepts/interconnectivity.rst @@ -184,11 +184,11 @@ call to ``simulation::run(T, dt)`` is given a value for ``T`` that is not an integer multiple of the epoch length. Before the start of each ``epoch``, a control message must be exchanged between - Arbor and the coupled simulation. The control message is transferred by use - ``MPI_Allreduce(6)`` with operation ``MPI_SUMM`` on a byte buffer of length - ``ARB_REMOTE_MESSAGE_LENGTH``. All processes begin with a buffer of zeroes, the - process with ``rank`` equal to ``ARB_REMOTE_ROOT`` on both sides of the - intercommunicator writes a payload comprising +Arbor and the coupled simulation. The control message is transferred by use +``MPI_Allreduce(6)`` with operation ``MPI_SUMM`` on a byte buffer of length +``ARB_REMOTE_MESSAGE_LENGTH``. All processes begin with a buffer of zeroes, the +process with ``rank`` equal to ``ARB_REMOTE_ROOT`` on both sides of the +intercommunicator writes a payload comprising 1. A single byte magic number 2. A three byte version number @@ -227,10 +227,10 @@ the result as a ``ctrl_messge``. Handling the message is left to the participating package. **Important** This is a synchronous protocol which means an unannounced - termination of either side of the coupled simulators can lead to the other - getting stuck on a blocking call to MPI. This unlikely to cause issues in - scenarios where both sides are launched as a single job (eg via ``SLURM``), but - might do so where unrelated jobs are used. +termination of either side of the coupled simulators can lead to the other +getting stuck on a blocking call to MPI. This unlikely to cause issues in +scenarios where both sides are launched as a single job (eg via ``SLURM``), but +might do so where unrelated jobs are used. Tying It All Together ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/concepts/mechanisms.rst b/doc/concepts/mechanisms.rst index 02d05ab4b4..96863caf39 100644 --- a/doc/concepts/mechanisms.rst +++ b/doc/concepts/mechanisms.rst @@ -56,21 +56,44 @@ the `BBP mechanisms `_. +You may need to consult these source files to learn about the parameters and features of the mechanism. + +The ``default_catalogue`` comes with the following mechanisms: * *pas*: Leaky current (:ref:`density mechanism `). * *hh*: Classic Hodgkin-Huxley dynamics (:ref:`density mechanism `). -* *nernst*: Calculate reversal potential for an ionic species using the Nernst - equation (:ref:`reversal potential mechanism `). **NB** - This is not meant to be used directly * *expsyn*: Synapse with discontinuous change in conductance at an event followed by an exponential decay (:ref:`point mechanism `). * *exp2syn*: Bi-exponential conductance synapse described by two time constants: rise and decay (:ref:`point mechanism `). * *gj*: Linear gap-junction mechanism with constant conductance (:ref:`junction mechanism `). -With the exception of *nernst*, these mechanisms are the same as those available in NEURON. +These mechanisms are the same as those available in NEURON. Arbor-specific mechanisms in the default catalogue are: + +* *nernst*: Calculate reversal potential for an ionic species using the Nernst + equation (:ref:`reversal potential mechanism `). **NB** + This is not meant to be used directly +* *inject*: Inject (signalling) ions, e.g. Ca++ (:ref:`point mechanism + `). +* *decay*: Exponential decay of ions (:ref:`density mechanism + `). +* *expsyn_cur*: Exponential current-based synapse (:ref:`point mechanism + `). +* *expsyn_stdp*: Exponential synapse with online STDP (:ref:`point mechanism + `). +* *kamt*: K-A current for Mitral Cells (Wang et al 1996) (:ref:`density mechanism + `). +* *kdrmt*: K-DR current for Mitral Cells (Wang et al 1996) (:ref:`density mechanism + `). +* *nax*: Na current for axon. No slow inact. (M.Migliore Jul. 1997) (:ref:`density mechanism + `). +* *v_clamp*: Writing directly to the membrane voltage. Breaks the cable model, so use with caution + (:ref:`See NMODL documentation `). +* *v_limit*: Limit directly the membrane voltage. Breaks the cable model, so use with caution + (:ref:`See NMODL documentation `). Two catalogues are provided that collect mechanisms associated with specific projects and model databases: diff --git a/doc/cpp/probe_sample.rst b/doc/cpp/probe_sample.rst index cc0278ac71..c1d19067ac 100644 --- a/doc/cpp/probe_sample.rst +++ b/doc/cpp/probe_sample.rst @@ -258,6 +258,26 @@ Ionic external concentration of ion across components of the cell. the unbranched component for the corresponding sample value. +Ionic diffusion concrentration. + +.. code:: + + struct cable_probe_ion_diff_concentration { + locset locations; + std::string ion; + }; + +Diffusive ionic concentration of the given ``ion`` at the +sites specified by ``locations``. + +.. code:: + + struct cable_probe_ion_diff_concentration_cell { + std::string ion; + }; + +Ionic diffusion concrentration attributed to a particular ``ion`` across CVs of the cell. + Mechanism state ^^^^^^^^^^^^^^^ diff --git a/doc/fileformat/nmodl.rst b/doc/fileformat/nmodl.rst index a6d3de37b0..a6e2a05ac3 100644 --- a/doc/fileformat/nmodl.rst +++ b/doc/fileformat/nmodl.rst @@ -178,6 +178,8 @@ Arbor-specific features tanh(x) hyperbolic tangent :math:`tanh(x)` ================== ======================================== ========= +.. _formatnmodl_voltageproc: + Voltage Processes ----------------- diff --git a/doc/python/probe_sample.rst b/doc/python/probe_sample.rst index 634237fbb9..bc2bd59522 100644 --- a/doc/python/probe_sample.rst +++ b/doc/python/probe_sample.rst @@ -298,6 +298,22 @@ Ionic external concentration Kind: :term:`vector probe`. +Ionic diffusion concrentration + .. py:function:: cable_probe_ion_diff_concentration_cell(ion) + + Diffusive ionic concentration of the given ``ion`` for each cable in each CV. + + Metadata: the explicit :class:`location` of the sample site. + + Kind: :term:`vector probe`. + + .. py:function:: cable_probe_ion_diff_concentration(where, ion) + + Diffusive ionic concentration of the given ``ion`` at the + sites specified by the location expression string ``where``. + + Metadata: the list of corresponding :class:`cable` objects. + LIF Cell probing ================