Skip to content
Snippets Groups Projects
user avatar
Sam Yates authored
Replace branch/cable-based cell representation and discretization with
free specification of control volumes over the cell morphology.

Implements functionality required for issues #859 and #732, and the
reworking of inter-CV conductance computation addresses issue #635,
although there is possible room for improvement by treating CV voltages
as averages rather than point estimates.

* Remove arbor/segment.hpp and segment-based representation in `cable_cell`.
* Add a new discretization policy `cv_policy_every_sample` that replaces
  the `compartments_from_discretization` flag in the `cable_cell`
  constructor.
* Remove use of `cable_cell::num_compartments()` in example code (see
  issue #940).
* Add command line argument to `single_cell` example to specify number
  of CVs per branch.
* Replace fvm layout `fvm_discretization` with new representation
  `fvm_cv_discretization`, which in turn wraps a `cv_geometry` object
  representing CVs as cables within cells in a cell group.
* Provide `cv_geometry_from_ends` that produces `cv_geometry`
  discretization for a cell given a locset comprising CV boundary points.
* Provide interface and functionality for merging discretization
  structures `cv_geometry`, `fvm_cv_discretization`, `fvm_mechanism_data`
  from multiple cells, in order to support (in the future) parallelized
  discretization across a cell group.
* Provide complete reimplementation of `fvm_discretize(...)`.
* Remove now redundant `arbor/fvm_compartment.hpp`.
* Add new locset expression `on_branches`, representing a point on every
  branch at a given relative position.
* Fix implementation bug in `pw_elements` `zip` function.
* Add `util::equal` range-based analogue of `std::equal`.
* Remove the compartments_from_discretization argument from cable cell
  made in python module. (Does this need to begiven a discretization policy?
  It is not clear.)
b7361a1f

Arbor Library

Build Status

Arbor is a library for implementing performance portable network simulations of multi-compartment neuron models.

An installation guide and library documentation are available online at Read the Docs.

Submit a ticket if you have any questions or want help.

Citing Arbor

It is possible to cite specific versions of Arbor used to run a simulation via Zenodo:

  • Version 0.2: DOI
  • Version 0.1: DOI

The following BibTeX can be used to cite Arbor:

@INPROCEEDINGS{
    paper:arbor2019,
    author={N. A. {Akar} and B. {Cumming} and V. {Karakasis} and A. {Küsters} and W. {Klijn} and A. {Peyser} and S. {Yates}},
    booktitle={2019 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP)},
    title={{Arbor --- A Morphologically-Detailed Neural Network Simulation Library for Contemporary High-Performance Computing Architectures}},
    year={2019}, month={feb}, volume={}, number={},
    pages={274--282},
    doi={10.1109/EMPDP.2019.8671560},
    ISSN={2377-5750}}

Alternative citation formats for the paper can be downloaded here, and a preprint is available at arXiv.