% IMPORTANT: The following is UTF-8 encoded. This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.
@MISC{Akar:890614,
author = {Akar, Nora Abi and Biddiscombe, John and Cumming, Benjamin
and Huber, Felix and Kabic, Marko and Karakasis, Vasileios
and Klijn, Wouter and Küsters, Anne and Peyser, Alexander
and Yates, Stuart and Hater, Thorsten and Huisman, Brent and
Schmitt, Sebastian},
title = {{A}rbor {L}ibrary v0.5},
journal = {Anatomical science international},
issn = {-},
reportid = {FZJ-2021-01074},
year = {2021},
abstract = {<p>Since v0.4 there have been some major features, and many
small fixes and improvements.</p> <p>Core API features:</p>
<ul> <li>[C++/Python] Numerous small bug fixes,
optimizations and improvements.</li> <li>[C++/Python]
Refactor cable cell interface to be read only, and be
constructed from<br> descriptions of morphology, labels, and
decorations.</li> <li>[C++/Python]Expose diverse probes and
rich interface for describing where and<br> what to sample
on cable cells.</li> <li>[C++/Python] Support for querying
names in mechanism catalogues</li> <li>[Python] Wrapper for
existing C++ $<code>pw_lin</code>$ functionality</li>
<li>[C++] Improved validation of recipe definitions during
model building</li> </ul> <p>Documentation:</p> <ul>
<li>Added new Python examples</li> <li>Many small fixes for
links, spelling, grammar and clarity.</li> <li>Add extensive
guide for contributions and coding polices.</li> </ul>
<p>Build:</p> <ul> <li>Allow CMake configuration to use
system copies of C++ dependencies<br> (nlohmann/json and
pybind11), and makes this the default option.</li> <li>Added
GitHub Actions support for automated testing of a wider
range of tests<br> and features than are run on our Travis
CI (which will be removed soon)</li> <li>More robust Python
detection and consistent use of the same Python<br>
interpreter in CMake configure and build steps.</li> </ul>
<p>Contributions by, in no specific order, <a
href='https://github.com/brenthuisman'>@brenthuisman</a>, <a
href='https://github.com/noraabiakar'>@noraabiakar</a>,<br>
<a
href='https://github.com/thorstenhater'>@thorstenhater</a>,
<a href='https://github.com/halfflat'>@halfflat</a>, <a
href='https://github.com/schmitts'>@schmitts</a> and <a
href='https://github.com/bcumming'>@bcumming</a></p>
<p>Since v0.3, the following changes can be reported:</p>
<p>Library</p> <ul> <li>Moved from C++14 to C++17 <ul>
<li>Removed our hand-rolled versions of <code>any</code>,
<code>optional</code> and <code>variant</code>.</li> </ul>
</li> <li>Added <code>std::expected</code> equivalent for
error handling.</li> </ul> <p>Features</p> <ul> <li>Added
mechanism catalogues with mechanisms used by Allen and BBP
models.</li> <li>Removed support for spherical segments at
the root of cable morphologies, and<br> replaced the
sample-based representation with a segment-based
representation: <ul> <li>Morphologies are defined in terms
of two-point segments.</li> <li>Gaps are allowed between
segments anywhere in a morphology.</li> </ul> </li>
<li>Exposed the current <code>time</code> inside
mechanisms.</li> <li>Added support for NeuroML2 morphology
descriptions.</li> <li>Added a "stitch" morphology builder
for constructing morphologies with<br> cable sections that
can connect to any location on their parent cable.</li>
<li>Replaced recipe probe API with more flexible API that
allows for sampling<br> not only voltages at single
locations, but currents, ion species properties,<br> and
mechanism state variables at single locations or across an
entire cell.</li> <li>Added support for querying probe
metadata from the simulation object.</li> <li>Added new
$\'place_pwlin\'$ C++ API for cell geometry
queries.</li> <li>Added support for loading Allen SDK cell
model morphologies from SWC.</li> <li>Added support for
composing policies for creating compartments over
sub-regions.</li> </ul> <p>Documentation</p> <ul>
<li>Restructured documentation to have cleaner separation
between high level descriptions<br> of concepts and the C++
and Python APIs.</li> <li>Added high level documentation for
morphology descriptions, labels and cable cell<br>
construction.</li> </ul> <p>Optimizations</p> <ul>
<li>Implemented memory optimizations for GPU matrix
solver.</li> <li>Added support for ARM SVE intrinsics in the
vectorized CPU back end.</li> </ul> <p>Bug Fixes</p> <ul>
<li>Fixed various modcc code generation errors.</li> </ul>
<p>Since v0.2, the following changes can be reported:</p>
<ul> <li>Python wrapper with pip installation.</li>
<li>Replace the morphology specification API for more
flexible cell building.</li> <li>Flat descriptions of ion
channel distribution and synapse placement.</li>
<li>Multi-compartment back end support for sub-branch
mechanism distributions.</li> <li>Improved NMODL support:
<ul> <li>nonlinear kinetic schemes</li> <li>linear system
solution in initial conditions</li> <li>many small features
and bug fixes</li> </ul> </li> <li>Generic ion species.</li>
<li>Many optimizations and bug fixes.</li> </ul>},
cin = {JSC},
ddc = {610},
cid = {I:(DE-Juel1)JSC-20090406},
pnm = {512 - Supercomputing $\&$ Big Data Infrastructures
(POF4-512) / SLNS - SimLab Neuroscience (Helmholtz-SLNS) /
HBP SGA2 - Human Brain Project Specific Grant Agreement 2
(785907) / HBP SGA3 - Human Brain Project Specific Grant
Agreement 3 (945539)},
pid = {G:(DE-HGF)POF4-512 / G:(DE-Juel1)Helmholtz-SLNS /
G:(EU-Grant)785907 / G:(EU-Grant)945539},
typ = {PUB:(DE-HGF)33},
url = {https://juser.fz-juelich.de/record/890614},
}