Skip to content
Snippets Groups Projects
  1. Oct 28, 2016
    • Sam Yates's avatar
      New compartment info structure for FVM. · f189d73e
      Sam Yates authored
      * Make `algorithm::sum`, `algorithm::mean` more generic,
        allowing use with array types.
      * Add `div_compartment` compartment representation, that
        holds geometric information for each half of a compartment
        that will then be used in calculating control volumes.
      * Add three compartmentalisation schemes/policies that
        discretize a segment into `div_compartment` objects:
          * `div_compartment_by_ends` divides based only on the
            segment end points and radii.
          * `div_compartment_sampler` forms frusta by sampling
            the segment radius at each compartment boundary
          * `div_compartment_integrator` computes the compartment
            areas and volumes exactly by summing all frustra
            in the intersection of the segment and the compartmnet
            span.
      f189d73e
  2. Sep 06, 2016
    • Benjamin Cumming's avatar
      Small optimization of mechanism initialization · a89f41bc
      Benjamin Cumming authored
      * move from index_view to const_index_view for mechaninism
        inintialization. This allows us to pass more generic container
        types to the constructor while avoiding redundant copies
      * NOTE: required update of
          * external/vector
          * external/modparser
      * fixed signed-vs-unsigned comparison warning in algorithims.hpp
      a89f41bc
  3. Sep 03, 2016
    • Sam Yates's avatar
      Bugfixes; tie multicells to multi-cell cell group. · 4f49fe38
      Sam Yates authored
      * Include new option -g in miniapp to specify cell group size.
      * Miniapp -r option generates a ring network.
      * Modify EXPECTS() so that when assertions are disabled we
        avoid unused variable warnings.
      4f49fe38
  4. Aug 18, 2016
  5. Aug 03, 2016
    • Benjamin Cumming's avatar
      fix compiler warnings and tests with ASSERTIONS on · 03986569
      Benjamin Cumming authored
      - update modparser external repo to a version that fixes some compiler
        warnings with clang
      - fix a handful of compiler warnings for signed-unsigned comparison in
        tests and when ASSERTIONS are on
      - comment out EXPECTS(has_contiguous_segments) where they fail in the
        tests so that we can run all the tests with full debug flags
      03986569
    • Sam Yates's avatar
      Bugfix: build fail without TBB. · dd95b67c
      Sam Yates authored
      Plus: coding guidelines compliance.
      dd95b67c
  6. Jul 28, 2016
    • Sam Yates's avatar
      Big type rationalization · ee03400c
      Sam Yates authored
      * Consistent use of globally defined integer types for
        indices etc. (catypes.hpp) or template type parameters
        across simulator.
      * Support unsigned types in tree, cell_tree and friends.
      * Use cell_member_type for probe ids (WIP)
      * Rejig mechanism lookup structure (simplifies, plays nicely
        with templated index types.)
      * Move spike, connection, events out of communcation namespace
        and directory.
      ee03400c
  7. Jul 05, 2016
  8. Jun 28, 2016
    • Sam Yates's avatar
      Use library's own version of assert. · e17c1ec5
      Sam Yates authored
      Sidesteps NDEBUG versus assert() issue; EXPECTS macros are
      now enabled via a CMake configuration option -DWITH_ASSERTIONS=ON,
      corresponding to the preprocessor define -DWITH_ASSERTIONS in
      the code itself.
      
      (Note, with assertions enabled, one of the existing tests in
      test_algorithms.cpp aborts.)
      e17c1ec5
  9. Jun 24, 2016
    • Sam Yates's avatar
      MPI through CMake · c3ad1c68
      Sam Yates authored
      * Add WITH_MPI CMake option to enable MPI code in application
      * Use find_package(MPI) and set up flags, etc. for MPI
      * Extra defines to disable the inclusion of C++ MPI headers for
        MPICH and OpenMPI.
      * Fix signed/unsigned compare warning in algorithms.hpp
      c3ad1c68
  10. Jun 17, 2016
  11. Jun 15, 2016
    • Vasileios Karakasis's avatar
      Low-level algorithms for manipulating cell trees. · 526953b5
      Vasileios Karakasis authored
      At this low level a cell tree is just a sequence of parent indices,
      where each parent index is the parent of the current index in the
      sequence. There four basic algorithms:
      
      1. child_count(parent_index):
         Computes the number of children for each node in parent_index
         	Time: O(N), Space: O(1)
      2. branches(parent_index):
         Returns a set of the branching nodes in parent_index, last branch
         index equals the parent_index's size.
      	 Time: O(N), Space: O(N)
      3. expand_branches(branch_index):
         Takes a branch_index (result from branches()) and expands it at the
         size of the original tree with all the nodes inside a branch having
         the same number.
               Time: O(parent_index), Space: O(1)
      4. make_parent_index(parent_index, branch_index):
         Return a compacted tree (single node per branch) from parent_index
         and its corresponding branch_index.
      	Time: O(N), Space: O(N)
      
      There is another utility function as well:
      
      find_branch(branch_index, nid):
          Returns the id of the branch where nid belongs to.
      	Time: O(N), Space: O(1)
      526953b5
  12. Jun 09, 2016
  13. Apr 28, 2016
  14. Apr 22, 2016
  15. Apr 20, 2016
  16. Apr 19, 2016
  17. Apr 18, 2016
  18. Apr 14, 2016
  19. Apr 12, 2016
  20. Apr 08, 2016