nmodl
nmodl copied to clipboard
LONGITUDINAL_DIFFUSION and COMPARTMENT support inside KINETIC block
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]
}