Skip to content
Snippets Groups Projects
  1. Nov 15, 2022
    • boeschf's avatar
      SDE examples (#2030) · 1b268ecf
      boeschf authored
      Addresses #1987
      
      * reproducibility test for random number generator
      * C++ example demonstrating Ornstein-Uhlenbeck process
      * Python example featuring stochastic mechanism
      * stochastic mechanism catalogue
      
      The Python example is contributed by Jannik Luboeinski's (@jlubo): https://github.com/jlubo/arbor_ou_lif_example
      and adapted to fit into Arbor.
      1b268ecf
  2. Jun 10, 2022
    • Thorsten Hater's avatar
      Isolate external catalogues from libarbor.a. (#1837) · de06afa2
      Thorsten Hater authored
      # Changes
      - Bump ABI to v0.1.1
      - Add `arb_mechanism` to bundle `type` and `interface`s
      - Adjust `generate_catalogue` and `build_catalogue`
      - Return `nullptr` for GPU interfaces if not enabled
      
      # Open Questions
      - How to tell CMake not to link against `libarbor.a` and only use headers?
      - ~~How to get around `#ifdef ARB_GPU_ENABLED`~~ Update: just embrace it.
      
      # Linked Issues
      Fixes #1834 
      de06afa2
  3. Apr 26, 2022
  4. Feb 10, 2022
  5. Oct 06, 2021
  6. Oct 04, 2021
  7. Sep 28, 2021
  8. Aug 27, 2021
    • Nora Abi Akar's avatar
      Check that mechanisms have the right kind (#1633) · 37dd7de2
      Nora Abi Akar authored
      - Expose `arb_mechanism_kind` to `mechanism_info`.
      - While building mechanism data in `fvm_build_mechanism_data`, check that synapses, painted region dynamics and reversal potential methods have the expected `arb_mechanism_kind`. 
      - Add unit test. 
      37dd7de2
  9. Aug 02, 2021
    • thorstenhater's avatar
      Bug/assorted static analysis (#1615) · fa63f8c3
      thorstenhater authored
      * Fix failure to return value in `py_mech_cat_value_iterator `.
      * String butchered by formatting.
      * Join unnecessary separation of string literals in `arborio/cabelio.cpp`
      * Add missing throw in s_expr code.
      * Return value, not reference, in `merge_iterator::operator++(int)`.
      * Check for self-assignment in `mechanism_catalogue`.
      * Initialize all members of `mechanism`.
      * Fix index check order in `multi_event_stream` debug output.
      * Use coordinator_ from base class in `memory::array`.
      fa63f8c3
  10. Jul 05, 2021
  11. May 31, 2021
  12. Feb 03, 2021
    • thorstenhater's avatar
      Allow dynamically creating and loading of mechanism catalogue (#1287) · aa1b6f04
      thorstenhater authored
      First phase of dynamically loaded mechanism catalogues.
      
      - Add functionality to load and use catalogues from DSOs in Python and C++.
      - Add documentation and support scripts to build catalogues DSOs.
      - Re-factor CMakeLists.txt for mechanisms
      - Limitations
        - Needs (compatible, preferably identical) arbor sources when building catalogues
        - Can only work on MacOS and Linux (uses dlfnc)
      aa1b6f04
  13. Jan 11, 2021
    • thorstenhater's avatar
      More pythonic membership on mechanism_catalogue. (#1306) · d2623ecf
      thorstenhater authored
      Introduce two minor changes to the Python API
      to handle mechanism_catalogues idiomatically.
      
      Instead of
      
      import arbor as A
      
      cat = A.default_catalogue()
      
      if cat.has('hh'):
        print("Found HH.")
      
      for mech in cat.keys():
         print("*", mech)
      
      we can now write
      
      import arbor as A
      
      cat = A.default_catalogue()
      
      if 'hh' in cat:
        print("Found HH.")
      
      for mech in cat:
         print("*", mech)
      
      which is closer to the expectations of Python users.
      d2623ecf
  14. Dec 14, 2020
    • Nora Abi Akar's avatar
      Expose global_properties in Python recipes (#1273) · 5fdfb02e
      Nora Abi Akar authored
      Extend Ptyhon recipe wrapper to support setting of global cell properties.
      
      * Rename `pyrecipe::get_probes` to `py_recipe::probes`
      * Remove `global_properties_shim` : It's easy to make mistakes with the class, as it holds a `mechanism_catalogue` and a `cable_cell_global_properties` which holds a pointer to the catalogue. This would likely have caused issues with the users.
      * Expose `py_recipe::global_properties`
      5fdfb02e
  15. Nov 02, 2020
  16. Oct 09, 2020
  17. Oct 01, 2020
  18. Sep 25, 2020
    • Sam Yates's avatar
      Replace arb::util::optional with std::optional. (#1158) · d5ace349
      Sam Yates authored
      * Substitute `std::optional<T>` for `arb::util::optional<T>` for non-reference types T.
      * Remove reference-deducing `util::value_by_key`; replace usages with new function `util::ptr_by_key`.
      * Add some missing header includes that were required but included only transitively.
      * Remove `operator<<` overload for optional in python/strprintf.hpp; replace with utility wrapper class that catches `std::optional<T>`.
      * Wrap some `std::optional` values with `to_string` in ostream output in python lib.
      
      Fixes #1154.
      d5ace349
  19. Jul 24, 2020
  20. Jul 13, 2020
    • thorstenhater's avatar
      Python/allen catalogue (#1074) · 6151e173
      thorstenhater authored
      * Add import method for mechanism catalogues, allowing mechanisms from a second catalogue to be incorporated with a prefix, together with Python interface.
      * Expose `global_allen_catalogue`.
      * Extend unit tests to cover mechanism catalogue import and check for name collision error cases.
      6151e173
  21. Jun 24, 2020
    • Benjamin Cumming's avatar
      Pycat (#1072) · e0c14f34
      Benjamin Cumming authored
      Update core library:
      * support derivation of named mechanisms in catalogue from a string description of the parent.
      * fix bug in radois_ge region expression that was finding region_lt.
      * fix test for radius_ge region expression
      
      Add support for mechanism, global properties and catalogue shenanigans to python wrapper
      e0c14f34