nmodl icon indicating copy to clipboard operation
nmodl copied to clipboard

LONGITUDINAL_DIFFUSION and COMPARTMENT support inside KINETIC block

Open lkeegan opened this issue 5 years ago • 1 comments

two features not yet supported in KINETIC blocks:

  • LONGITUDINAL_DIFFUSION statements
  • COMPARTMENT statements with an index for array state vars

see p41 of http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.7812&rep=rep1&type=pdf for details

Example extracted from the above pdf

KINETIC state {
  COMPARTMENT i, diam*diam*vrat[i] {ca CaBuffer Buffer}
  LONGITUDINAL_DIFFUSION i, DCa*diam*diam*vrat[i] {ca}
  ~ ca[0] << (-ica*PI*diam/(2*FARADAY)) : ica is Ca efflux
  FROM i=0 TO Nannuli-2 {
    ~ ca[i] <-> ca[i+1] (DCa*frat[i+1], DCa*frat[i+1])
  }
  dsq = diam*diam
  FROM i=0 TO Nannuli-1 {
    dsqvol = dsq*vrat[i]
    ~ ca[i] + Buffer[i] <-> CaBuffer[i] (k1buf*dsqvol, k2buf*dsqvol)
  }
  cai = ca[0]
}

lkeegan avatar Apr 23 '19 20:04 lkeegan