Next: Towards basic use of Up: Tutorial: Simulations with Genesis Previous: Tutorial: Simulations with Genesis

## Contents

- Towards basic use of hsolve
  - From Numerical Theory to Simulation Practice
    - Numerical Preliminaries
      - Taylor series
      - Numerical Schemes
    - Neuroscience Equations
      - A Single compartment
      - Multiple compartments
  - Introducing Hsolve for Single Cells
    - Basic Use: A short overview
    - The chanmode Field: Modes of Operation
    - Tabulated Calculations
    - Interpreting the Mode of Operation
    - Exercise: Speed Comparison
    - Communication with Other Elements
    - A Practical Example 1: Hsolve and the efield Object
    - A Practical Example 2: Experimental Setups with Hsolve
      - Chronology of Commands
      - Setup of Experiments
  - Networks of Cells
    - Introduction
    - The DUPLICATE Action
  - Exercises
- Some Useful Tricks with Hsolve
  - Beyond Simple Use
    - Advanced Actions
      - Setting/Getting Fields for Individual Elements
      - Setting all Computed Fields at the Same Time
    - Advanced Fields
      - calcmode
      - storemode
      - no_elminfo
      - outclock
      - Other Fields
  - Exercises
- Intrinsics and Technicalities
  - Synchan - hsolve coordination
    - A word about events
    - Implementation
      - Synchan event handling
      - New Incoming Events
  - Byte-codes
    - Compilation
      - Data Model
    - Hsolve as a Virtual Machine
      - Solution of The Cable Equation.
      - Solution of Conductance Equations.
- Bibliography
- About this document ...

### Abstract:

This tutorial is designed for the advanced Genesis user interested in better understanding how the Hines-solver (`hsolve`) is implemented in Genesis. We will first review some equations fundamental to many neuro-biological models and illustrate how these equations are solved numerically. We will then focus on the implicit solutions to these equations using `hsolve` and show how `hsolve`'s configuration relates to the numerical side. After a survey on the basic use of `hsolve` and examples on how to interface `hsolve` to other Genesis elements, we show a number of useful tricks that are impossible without a global computation engine as `hsolve`. Finally we conclude with the more technical sides like `hsolve` - `synchan` interoperability via discrete events and disassembling byte codes that represent numerical equations.