Skip to content
Snippets Groups Projects
  1. Apr 02, 2021
  2. Apr 01, 2021
  3. Mar 31, 2021
    • Nora Abi Akar's avatar
      Arbor Cable-Cell Format (ACC) (#1423) · 96d961ac
      Nora Abi Akar authored
      * Implements parsers and writers in `arborio` for the s-expression based Arbor Cable-Cell Format defined in #1336.
      * Moves `s_expr.hpp` to the public interface.
      * Adds python wrappers to support the features in pyarb.  
      * Adds unit tests.
      * Adds docs.
      
      Fixes #1336
      Partially addresses #1233
  4. Mar 30, 2021
  5. Mar 29, 2021
    • Nora Abi Akar's avatar
      Remove `gid` attribute of target of a connection, and local gap-junction site... · db0041a5
      Nora Abi Akar authored
      Remove `gid` attribute of target of a connection, and local gap-junction site of a gap-junction connection (#1467)
      
      * Change the type of the target of a `connection` from `cell_member_type` to `cell_lid_type`. The target cell's gid is always known in both the recipe and simulation.
      * Change the type of the local site of a `gap_junction_connection` from `cell_member_type` to `cell_lid_type`, and make it such that the first argument of the connection is the peer site, and the second the local site. The local cell's gid is always known in both the recipe and simulation.
      * Change the type of the target of an `event_generator` from `cell_member_type` to `cell_lid_type`. The target cell's gid is always known in both the recipe and simulation.
      * New `cell_spike_events` and `cse_vector` for `simulation::inject_events`.
      * Simplify recipe sanity checks and remove associated exception types. 
      * Fix unit tests, examples, docs
    • Nora Abi Akar's avatar
      Update nmodl guidelines (#1468) · d6e990d0
      Nora Abi Akar authored
    • Sam Yates's avatar
      Add optional spherical root for NeuroML. (#1464) · cab5d33d
      Sam Yates authored
      * Adds a `neuroml_options` namespace with enum for use with `neuroml::morphology(...)` and `neuroml::cell_morphology(...)`.
      * Add support for a 'spherical' root segment with option `neuroml_options;:allow_spherical_root`; a zero-length root segment with identical proximal and distal radius will then be converted into an area-equivalent cylinder in the resultant morphology.
      * Amend `place_pwlin::all_at` so that locations on a zero-length segment with different radii at the endpoint will give an mpoint for either end.
      * Add `allow_spherical_root` boolean optional parameter to Python NeuroML morphology methods.
      * Update docs; C++ unit tests.
  6. Mar 25, 2021
  7. Mar 24, 2021
  8. Mar 23, 2021
  9. Mar 22, 2021
  10. Mar 19, 2021
    • Sam Yates's avatar
      Rename/hide components to fix ODR violation in arborio. (#1444) · 41952060
      Sam Yates authored
      * Add `nml_` prefix to NeuroML-related classes in arborio.
      * Separate `arborio/xmlwrap` from NeuroML exceptions.
      * Put xmlwrap functionality in its own namespace.
      * Have xmlwrap property access errors returned by util::expected, so that the corresponding NeuroML exceptions are strictly the
      responsibility of the NeuroML parsing code.
      * Rename NeuroML implementation and support sources and headers.
      * Place implementation classes for Neurolucida ASC parsing in an anonymous namespace.
      
      Fixes #1441.
    • Benjamin Cumming's avatar
      Fix bug attaching branches to the soma in ASCII file descriptions (#1440) · 7ae3f39f
      Benjamin Cumming authored
      Fix bug attaching branches to the soma in ASCII file descriptions.
      
      Branches in an ASCII description attached to the soma were incorrectly creating a segment
      from the center of the soma to the first point in the branch.
    • Sam Yates's avatar
      Amend segment cables for zero length branches. (#1443) · 085c4299
      Sam Yates authored
      Amend segment cables for zero length branches.
      
      Ensure cables corresponding to segments cover even zero length branches, by setting the segment cables to (b, 0, 0) for all but the last segment in a zero-length branch b, and setting that last segment cable to (b, 0, 1).
      
      Fixes #1442 
  11. Mar 18, 2021
  12. Mar 17, 2021
    • Benjamin Cumming's avatar
      Neurolucida ASCII file format support (#1429) · 6f8e6f52
      Benjamin Cumming authored
      Basic support for reading morphologies from Neurolucida ASCII (.asc) files.
      
      Added to the arborio C++ library, and wrapped similarly to the other arborio features in Python.
      
      Fixes #1429
    • Brent Huisman's avatar
      Port of Brunel example (#1404) · c326ab3b
      Brent Huisman authored
      * Add Python version of brunel.cpp example.
      * Enforce consistency in units: both C++ and Python APIs use unit `kHz` for all frequencies.
      * Align Python version `poisson_schedule` signature with C++ equivalent.
      * Update unit tests to suit API changes.
      * Update documentation to suit, along with minor additions related to networks and interconnectivity.
      * Add `brunel.py` to `basic.yml` tests
  13. Mar 15, 2021
  14. Mar 13, 2021
    • thorstenhater's avatar
      MechABI Prelim: Add parameter packs for multicore (#1406) · 69b90b2f
      thorstenhater authored
      - Use parameter packs for multicore mechanisms.
      - Adjust unit tests and modcc.
      - CPU and GPU use the same mechanism_ppack_base.
      - CPU code uses a split similar to GPU with `mech_XYZ_foo` and `kernel::mech_XYZ_foo.
      - Make mechanism_ppack_base header public.
      - Tracing macros for modcc code gen.
  15. Mar 12, 2021
    • Sam Yates's avatar
    • Sam Yates's avatar
      Enable simulation resume/restart. (#1427) · a7070e36
      Sam Yates authored
      * Add start time to `epoch` struct, rename time fields to avoid confusion with tfinal parameter to `simulation_state::run()`. Default constructed epoch now has id -1.
      * Replace `t_`, `epoch_`, `min_delay_` timekeeping in simulation_state with `epoch_` and `t_interval_`: `epoch_` holds most recently simulated interval.
      * Split event_lane population out of exchange task.
      * Document in code comments the sub-task dependencies in `simulation_state::run()`.
      * Rewrite main simulation loop to abide by pre- and post-conditions that ensure correct behaviour from successive calls to
      `simulation_state::run()`.
      * Replace double buffer for `simulation::local_spikes_` with array, analogous to `event_lanes_`.
      * Update cell groups, unit tests for new epoch interfaces.
      * Remove `util::double_buffer` and test.
      * Remove unnecessary includes in `mc_cell_group.hpp`.
      * Add unit tests for simulation global spike callback and restart operations (i.e. successive calls to `simulation::run()`).
      * Fix for `lif_cell_group::reset()` error leading to out of bounds access.
      
      Fixes #873 and #1426.
  16. Mar 11, 2021
    • Sam Yates's avatar
      Move current clamps to shared state. (#1407) · 58ce18a0
      Sam Yates authored
      * Change implementation of current clamp from a builtin mechanism to
        functionality provided by the back-end shared state classes.
      * Extend clamp functionality to cover more use cases: it now supports DC
        and AC stimuli governed by a piecewise-linear envelope.
      * Update Python iclamp wrapper to suit; add unit test.
      * Account for total applied stimulus currents separately, and remove
        their contribution to the reported transmembrane current and
        ionic (i.e. non-capacitive) transmembrane current.
      * Add new probe specifically for tracking total current stimulus in a cell.
      * Update docs, and add an entry for current clamps to the concepts doc.
      * Remove entirely the builtin catalogue.
    • Sam Yates's avatar
      Extend available version information. (#1411) · ee0062a4
      Sam Yates authored
      * Provide defines and variables for version string components: major
      version; minor version; patch level version; development suffix.
      * Change commit date format to strict ISO.
      * Add define/variable for Arbor build configuration.
      * Add usage/help info to `git-source-id` script.
      * Add define/variable for a full build identification string,
      incorporating source info, version, build configuration, feature
      options.
      * Add documentation for the version and build defines and variables.
      * Extend version unit tests to suit.
  17. Mar 09, 2021
  18. Mar 08, 2021
  19. Mar 05, 2021
  20. Mar 04, 2021
  21. Mar 03, 2021
  22. Mar 02, 2021
    • thorstenhater's avatar
      Bug/multiplicity (#1401) · 659e3c37
      thorstenhater authored
      * Fix a quite obvious ptr arithmetic bug.
      
      * Clean-up to avoid similar issues.
      
      * Const, my old friend.
      
      * Test: refactor..
      
      * Lambda capture.
      
      * Clean up using append_chunk.
      
      * Catch two escaped _.
  23. Mar 01, 2021
  24. Feb 25, 2021
  25. Feb 22, 2021
  26. Feb 19, 2021
    • Sebastian Schmitt's avatar
    • thorstenhater's avatar
      Mech ABI Prelim: Unify Mechanism Interfaces (#1357) · 32ad5a41
      thorstenhater authored
      Preliminary work towards the mechanism ABI.
      
      Unification of the `public` and `protected` interfaces of the mechanism classes.
      These interfaces will be merged into the public API ('public' as in: exposed via `arbor/include/arbor`). 
      
      Interface methods `nrn_` have been renamed
      - `nrn_init`: `init` (would have preferred initialize, but that is taken)
      - `deliver_events(event_stream)`: `apply_events` (to avoid a name clash)
      - `nrn_state`: `advance_state`
      - `nrn_current`: `compute_currents`
      
      Additional changes:
        - Remove typedefs for index_type etc
        - Shuffle `ion_state_view` to public interface
        - Migrate `copy_extend` to a proper place out of `multicore/mechanism.hpp`. Maybe `memory` or `range_util`.
        - Remove `vec_t_to_`