If i understood correctly, the expression
~ ca[0] << (-(ica - ica_pmp_last)*PI*diam/(2*FARADAY))
gives us the calcium concentration at the outermost shell
The statement tells NMODL how to calculate the flux of calcium into compartment [0] that is attributable to transmembrane calcium current other than the current generated by the pump itself. This is just one of the calcium fluxes that affect compartment [0]. The others are the fluxes specified by
ca[0] + pump <-> pumpca
and
ca[0] <-> ca[1]
There are two processes to be represented: transmembrane calcium flux, and accumulation of cai.
The implementational choices are:
1. specify them in separate mechanisms
2. specify them in the same mechanism
Case 1: ca pump and ca accumulation are specified in separate mechanisms.
The pump mechanism will have a
USEION ca READ cai WRITE ica
statement (or USEION ca READ cao, cai WRITE ica if the pump is affected by cao). It must have such a statement in order to respond to changes in cai by generating a transmembrane flux of ca that can then be discovered by some other mechanism.
That calcium accumulation mechanism will contain a
USEION ca READ cai, ica WRITE cai
statement. This mechanism merely keeps track of how much calcium has entered or left the cell, and uses that information to compute cai. It does not need to WRITE ica because it does not generate a transmembrane calcium flux.
Case 2: ca pump and ca accumulation are specified in one mechanism.
The NEURON block will contain this statement
USEION ca READ cai, ica WRITE cai, ica
(or USEION ca READ cao, cai, ica WRITE cai, ica if the pump is affected by cao)
In this case it is necessary to prevent the pump-generated transmembrane flux from being counted twice.
exclude following expressions from the code
CONSERVE pump+pumpca = TotalPump*parea*(1e10)
The purpose of a CONSERVE statement is to ensure strict numerical conservation. Convergence and accuracy will be compromised if this statement is omitted.
In my case i want to get ica from Calcium channel and just want to get rid of calcium out of the system, without actually increasing cao (assuming cao to be constant)
so don't bother implementing an accumulation mechanism for cao.
i don't compute ica_pmp
OK, leave it out if you like, and don't include WRITE ica in the USEION ca statement. This imposes the assumption that the pump is electrically silent. Ca pumps in erythrocytes are electrogenic, and there is some evidence for electrogenic ca transport in neurons as well. This will also eliminate your only direct measure of the pump's activity. How do you propose to test your model to make sure the pump is working properly (let alone debug it)?