Skip to content
Snippets Groups Projects
  1. Nov 14, 2016
    • Sam Yates's avatar
      Tighten number lexing · 584c70fe
      Sam Yates authored
      * Tokenize strings of the form "7E+X", "2.3E " etc as a number
        (integer, real) followed by a new token starting with 'E'.
        Note that this makes the string "1.2E3E4" no longer cause a
        lexer error status.
      * Add tests for corresponding numeric disambiguation in
        `text_lexer.cpp`.
      * Add tests for stoichiometric expressions that ensure that only
        otherwise ambiguous phrases such as "7E+2F" fail to parse
        ("7E+F" should parse correctly as a stoich expression.)
      * Add missing comma in list of 'good' expressions in
        the `Parser.parse_line_expressions` test.
      584c70fe
  2. Nov 07, 2016
    • Sam Yates's avatar
      Add support for CONSERVE parsing. · 3850c41a
      Sam Yates authored
      * Extend stoichiometric expressions to allow negative coefficients.
      * Check that terms in a reaction expression are all non-negative.
      * Add CONSERVE keyword.
      * Add `ConserveExpression` and corresponding parsing behaviour.
      * Add unit tests for above and for recognition of KINETIC block
        as a `procedure`.
      3850c41a
  3. Nov 04, 2016
    • Sam Yates's avatar
      Add lexing, parsing for KINETIC, reactions · 4587836e
      Sam Yates authored
      * Make verbose printing in test_modcc a runtime flag `-v`.
      * Show results of `lexer.parse()` in test_modcc when run with `-v`.
      * Split numerical lexing and parsing into real and integer categories.
      * Add expression parsing for KINETIC block and enclosed reaction
        expressions.
      
      Note: does not parse CONSERVE yet; no test for KINETIC block
      (reactions are covered though.)
      4587836e
  4. Oct 31, 2016
    • Sam Yates's avatar
      Add parsing support for KINETIC blocks - WIP · bcbff7df
      Sam Yates authored
      * Split `tok::number` token into `tok::real` and `tok::integer`
      * Add new tokens: `tok::tilde`, `tok::arrow` and `tok::kinetic`
        (keyword)
      * Add new expressions: `IntegerExpression` (deriving from
        `NumberExpression`), `ReactionExpression`, `StoichExpression`
        and `StoichTermExpression`.
      * Add new `procedureKind`: `kinetic`.
      * Add parse rules for KINETIC blocks.
      
      Note: no real testing yet.
      bcbff7df
    • Ben Cumming's avatar
      Merge pull request #54 from halfflat/feature/complex-compartments · e8d32855
      Ben Cumming authored
      Complex compartments
      e8d32855
    • Sam Yates's avatar
      Remove division policy type parameter. · 5aeea90d
      Sam Yates authored
      * Use only `div_compartment_integrator` for compartmentalization in
        `fvm_multicell`. The policy will later be moved to a backend
        policy class.
      * For now, disable validation tests that test different division
        policies (see above).
      * Tweak comments and remove redundant `using`, following comments
        on PR#54.
      5aeea90d
  5. Oct 30, 2016
    • Sam Yates's avatar
      Complex compartments · e7a8fb6f
      Sam Yates authored
      * Use divided compartments to determine FVM coefficients.
      * Pick correct control volume in FVM from sgement position (avoids
        off-by-half error.)
      * Add colour override functionality to tsplot: `--colour` option.
      * Add const accessor for cell soma.
      * Source formatting, comments in `math.hpp`
      * Fix `range_view`: was using incorrectly named type trait.
      * Add unit test for `range_view`.
      * Allow points of discontinuity to be omitted from L-infinity norm
        calculations.
      * Add `-d, --min-dt` option to `validate.exe` to control time
        step in validation convergence tests.
      * Add validation test: confirm divided compartment policy does
        not effect results on simple frustrum dendrites.
      * Change default max compartments on validation tests to 100
        (ad hoc observed convergence limit at dt circa 0.001 ms;
        finder spatial division would required much finer dt.)
      * Make NEURON validation data generation scripts use CVODE by
        default, and with `secondorder=2` when non-zero `dt` is given.
      e7a8fb6f
  6. Oct 28, 2016
  7. Oct 27, 2016
  8. Oct 26, 2016
  9. Oct 25, 2016