DifShell¶
-
class
DifShell
¶ DifShell object: Models diffusion of an ion (typically calcium) within an electric compartment. A DifShell is an iso-concentration region with respect to the ion. Adjoining DifShells exchange flux of this ion, and also keep track of changes in concentration due to pumping, buffering and channel currents, by talking to the appropriate objects.
-
process_0
¶ void (shared message field) Here we create 2 shared finfos to attach with the Ticks. This is because we want to perform DifShell computations in 2 stages, much as in the Compartment object. In the first stage we send out the concentration value to other DifShells and Buffer elements. We also receive fluxes and currents and sum them up to compute ( dC / dt ). In the second stage we find the new C value using an explicit integration method. This 2-stage procedure eliminates the need to store and send prev_C values, as was common in GENESIS.
-
process_1
¶ void (shared message field) Second process call
-
buffer
¶ - void (shared message field) This is a shared message from a DifShell to a Buffer (FixBuffer or DifBuffer). During stage 0:
- DifShell sends ion concentration
- Buffer updates buffer concentration and sends it back immediately using a call-back.
- DifShell updates the time-derivative ( dC / dt )
- During stage 1:
- DifShell advances concentration C
This scheme means that the Buffer does not need to be scheduled, and it does its computations when it receives a cue from the DifShell. May not be the best idea, but it saves us from doing the above computations in 3 stages instead of 2.
-
innerDif
¶ void (shared message field) This shared message (and the next) is between DifShells: adjoining shells exchange information to find out the flux between them. Using this message, an inner shell sends to, and receives from its outer shell.
-
outerDif
¶ void (shared message field) Using this message, an outer shell sends to, and receives from its inner shell.
-
getC
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setCeq
()¶ (destination message field) Assigns field value.
-
getCeq
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setD
()¶ (destination message field) Assigns field value.
-
getD
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setValence
()¶ (destination message field) Assigns field value.
-
getValence
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setLeak
()¶ (destination message field) Assigns field value.
-
getLeak
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setShapeMode
()¶ (destination message field) Assigns field value.
-
getShapeMode
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setLength
()¶ (destination message field) Assigns field value.
-
getLength
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setDiameter
()¶ (destination message field) Assigns field value.
-
getDiameter
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setThickness
()¶ (destination message field) Assigns field value.
-
getThickness
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setVolume
()¶ (destination message field) Assigns field value.
-
getVolume
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setOuterArea
()¶ (destination message field) Assigns field value.
-
getOuterArea
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
setInnerArea
()¶ (destination message field) Assigns field value.
-
getInnerArea
()¶ (destination message field) Requests field value. The requesting Element must provide a handler for the returned value.
-
process
()¶ (destination message field) Handles process call
-
reinit
()¶ (destination message field) Reinit happens only in stage 0
-
process
() (destination message field) Handle process call
-
reinit
() (destination message field) Reinit happens only in stage 0
-
reaction
()¶ (destination message field) Here the DifShell receives reaction rates (forward and backward), and concentrations for the free-buffer and bound-buffer molecules.
-
fluxFromOut
()¶ (destination message field) Destination message
-
fluxFromIn
()¶ (destination message field)
-
influx
()¶ (destination message field)
-
outflux
()¶ (destination message field)
-
fInflux
()¶ (destination message field)
-
fOutflux
()¶ (destination message field)
-
storeInflux
()¶ (destination message field)
-
storeOutflux
()¶ (destination message field)
-
tauPump
()¶ (destination message field)
-
eqTauPump
()¶ (destination message field)
-
mmPump
()¶ (destination message field)
-
hillPump
()¶ (destination message field)
-
concentrationOut
¶ double (source message field) Sends out concentration
-
innerDifSourceOut
¶ double,double (source message field) Sends out source information.
-
outerDifSourceOut
¶ double,double (source message field) Sends out source information.
-
C
¶ double (value field) Concentration C is computed by the DifShell and is read-only
-
Ceq
¶ double (value field)
-
D
¶ double (value field)
-
valence
¶ double (value field)
-
leak
¶ double (value field)
-
shapeMode
¶ unsigned int (value field)
-
length
¶ double (value field)
-
diameter
¶ double (value field)
-
thickness
¶ double (value field)
-
volume
¶ double (value field)
-
outerArea
¶ double (value field)
-
innerArea
¶ double (value field)
-