I am interested in building a model that incorporates ion diffusion. I have read the chapter on 'Expanding NEURON with NMODL'. I've also run the code examples from that chapter and played with them to work out how to build my own stuff, etc. Overall I found it very helpful and interesting. However, there is still one source of conceptual confusion for me that stems from examples 8 & 9, which describe calcium diffusion/pump models. I've taken the code from these models to build my own simple model that I can successfully run - with the expected results as well. :) But I haven't been able to work out exactly what's going on in it to my own intellectual satisfaction. I've tried looking at other posts currently here on the forum, but nothing really explained it for me. What I cannot get my head around is how the COMPARTMENT statement uses the volume expression. The text explains it by saying:
Okay, that makes good sense to me. We've got some code that is going to specify time derivatives of Ca concentration, i.e. d(mol/L)/dt which is insensitive to volume, but our flux tells us about the rate of Ca entry or exit (mol/s), which will have different effects on concentration based on the volume. So, we've got to multiply the concentrations by a volume to make the units work out. Got it. However, the example code totally confuses the issue for me. Here is the code from example 8:...the STATEs ca[ ] are intensive variables (concentration, or mass/volume),...(but) flux is the time derivative of an extensive variable. This disparity is corrected by specifying STATE volumes with the COMPARTMENT statement... The volume merely multiplies the dSTATE/dt left hand side of the equivalent differential equations, converting it to an extensive quantity and making it consistent with flux terms in units of absolute quantity per time.
Code: Select all
COMPARTMENT i, diam*diam*vrat[i] {ca CaBuffer Buffer}
...
~ca[i] <-> ca[i+1] (DCa*frat[i+1], DCa*frat[i+1])
...
1. Don't we want an extensive variable to be calculated? Why do we still want another 1/m kicking around in our derivatives?
2. What is actually getting calculated by neuron in the kinetic statement? I thought we were going to calculate the total mols flowing in or out of the compartment per second, but we seem to be calculating something different.
I'm sure my confusion stems from my lack of familiarity with concentration dynamics and kinetic models. But, I would really appreciate some explanation as to what is going on here, as the text seems to contradict the code and I've hit an intellectual brick wall.
Thanks very much,
Blake