MOOSE Classes

class Adaptor

Averages and rescales values to couple different kinds of simulation

proc

void (shared message field) This is a shared message to receive Process message from the scheduler.

setInputOffset()

(destination message field) Assigns field value.

getInputOffset()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setOutputOffset()

(destination message field) Assigns field value.

getOutputOffset()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setScale()

(destination message field) Assigns field value.

getScale()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getOutputValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

input()

(destination message field) Input message to the adaptor. If multiple inputs are received, the system averages the inputs.

process()

(destination message field) Handles ‘process’ call

reinit()

(destination message field) Handles ‘reinit’ call

output

double (source message field) Sends the output value every timestep.

requestInput

void (source message field) Sends out the request. Issued from the process call.

requestField

Pd (source message field) Sends out a request to a generic double field. Issued from the process call.Works for any number of targets.

inputOffset

double (value field) Offset to apply to input message, before scaling

outputOffset

double (value field) Offset to apply at output, after scaling

scale

double (value field) Scaling factor to apply to input

outputValue

double (value field) This is the linearly transformed output.

class Annotator
setX()

(destination message field) Assigns field value.

getX()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY()

(destination message field) Assigns field value.

getY()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ()

(destination message field) Assigns field value.

getZ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNotes()

(destination message field) Assigns field value.

getNotes()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setColor()

(destination message field) Assigns field value.

getColor()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTextColor()

(destination message field) Assigns field value.

getTextColor()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setIcon()

(destination message field) Assigns field value.

getIcon()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

x

double (value field) x field. Typically display coordinate x

y

double (value field) y field. Typically display coordinate y

z

double (value field) z field. Typically display coordinate z

notes

string (value field) A string to hold some text notes about parent object

color

string (value field) A string to hold a text string specifying display color.Can be a regular English color name, or an rgb code rrrgggbbb

textColor

string (value field) A string to hold a text string specifying color for text labelthat might be on the display for this object.Can be a regular English color name, or an rgb code rrrgggbbb

icon

string (value field) A string to specify icon to use for display

class Arith
proc

void (shared message field) Shared message for process and reinit

setFunction()

(destination message field) Assigns field value.

getFunction()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setOutputValue()

(destination message field) Assigns field value.

getOutputValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getArg1Value()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAnyValue()

(destination message field) Assigns field value.

getAnyValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

arg1()

(destination message field) Handles argument 1. This just assigns it

arg2()

(destination message field) Handles argument 2. This just assigns it

arg3()

(destination message field) Handles argument 3. This sums in each input, and clears each clock tick.

arg1x2()

(destination message field) Store the product of the two arguments in output_

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

output

double (source message field) Sends out the computed value

function

string (value field) Arithmetic function to perform on inputs.

outputValue

double (value field) Value of output as computed last timestep.

arg1Value

double (value field) Value of arg1 as computed last timestep.

anyValue

unsigned int,double (lookup field) Value of any of the internal fields, output, arg1, arg2, arg3,as specified by the index argument from 0 to 3.

class BufPool
proc

void (shared message field) Shared message for process and reinit

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

class CaConc

CaConc: Calcium concentration pool. Takes current from a channel and keeps track of calcium buildup and depletion by a single exponential process.

proc

void (shared message field) Shared message to receive Process message from scheduler

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

setCa()

(destination message field) Assigns field value.

getCa()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCaBasal()

(destination message field) Assigns field value.

getCaBasal()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCa_base()

(destination message field) Assigns field value.

getCa_base()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTau()

(destination message field) Assigns field value.

getTau()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setB()

(destination message field) Assigns field value.

getB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setThick()

(destination message field) Assigns field value.

getThick()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCeiling()

(destination message field) Assigns field value.

getCeiling()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setFloor()

(destination message field) Assigns field value.

getFloor()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

current()

(destination message field) Calcium Ion current, due to be converted to conc.

currentFraction()

(destination message field) Fraction of total Ion current, that is carried by Ca2+.

increase()

(destination message field) Any input current that increases the concentration.

decrease()

(destination message field) Any input current that decreases the concentration.

basal()

(destination message field) Synonym for assignment of basal conc.

concOut

double (source message field) Concentration of Ca in pool

Ca

double (value field) Calcium concentration.

CaBasal

double (value field) Basal Calcium concentration.

Ca_base

double (value field) Basal Calcium concentration, synonym for CaBasal

tau

double (value field) Settling time for Ca concentration

B

double (value field) Volume scaling factor

thick

double (value field) Thickness of Ca shell.

ceiling

double (value field) Ceiling value for Ca concentration. If Ca > ceiling, Ca = ceiling. If ceiling <= 0.0, there is no upper limit on Ca concentration value.

floor

double (value field) Floor value for Ca concentration. If Ca < floor, Ca = floor

class ChanBase

ChanBase: Base class for assorted ion channels.Presents a common interface for all of them.

channel

void (shared message field) This is a shared message to couple channel to compartment. The first entry is a MsgSrc to send Gk and Ek to the compartment The second entry is a MsgDest for Vm from the compartment.

ghk

void (shared message field) Message to Goldman-Hodgkin-Katz object

Vm()

(destination message field) Handles Vm message coming in from compartment

Vm()

(destination message field) Handles Vm message coming in from compartment

setGbar()

(destination message field) Assigns field value.

getGbar()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setEk()

(destination message field) Assigns field value.

getEk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setGk()

(destination message field) Assigns field value.

getGk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getIk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

channelOut

double,double (source message field) Sends channel variables Gk and Ek to compartment

permeabilityOut

double (source message field) Conductance term going out to GHK object

IkOut

double (source message field) Channel current. This message typically goes to concenobjects that keep track of ion concentration.

Gbar

double (value field) Maximal channel conductance

Ek

double (value field) Reversal potential of channel

Gk

double (value field) Channel conductance variable

Ik

double (value field) Channel current variable

class ChemCompt

Pure virtual base class for chemical compartments

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.

getVoxelVolume()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getOneVoxelVolume()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumDimensions()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getStencilRate()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getStencilIndex()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

buildDefaultMesh()

(destination message field) Tells ChemCompt derived class to build a default mesh with thespecified volume and number of meshEntries.

setVolumeNotRates()

(destination message field) Changes volume but does not notify any child objects.Only works if the ChemCompt has just one voxel.This function will invalidate any concentration term inthe model. If you don’t know why you would want to do this,then you shouldn’t use this function.

resetStencil()

(destination message field) Resets the diffusion stencil to the core stencil that only includes the within-mesh diffusion. This is needed prior to building up the cross-mesh diffusion through junctions.

setNumMesh()

(destination message field) Assigns number of field entries in field array.

getNumMesh()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

volume

double (value field) Volume of entire chemical domain.Assigning this only works if the chemical compartment hasonly a single voxel. Otherwise ignored.This function goes through all objects below this on thetree, and rescales their molecule #s and rates as per thevolume change. This keeps concentration the same, and alsomaintains rates as expressed in volume units.

voxelVolume

vector<double> (value field) Vector of volumes of each of the voxels.

numDimensions

unsigned int (value field) Number of spatial dimensions of this compartment. Usually 3 or 2

oneVoxelVolume

unsigned int,double (lookup field) Volume of specified voxel.

stencilRate

unsigned int,vector<double> (lookup field) vector of diffusion rates in the stencil for specified voxel.The identity of the coupled voxels is given by the partner field ‘stencilIndex’.Returns an empty vector for non-voxelized compartments.

stencilIndex

unsigned int,vector<unsigned int> (lookup field) vector of voxels diffusively coupled to the specified voxel.The diffusion rates into the coupled voxels is given by the partner field ‘stencilRate’.Returns an empty vector for non-voxelized compartments.

class Cinfo

Class information object.

getDocs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getBaseClass()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

docs

string (value field) Documentation

baseClass

string (value field) Name of base class

class Clock

Clock: Clock class. Handles sequencing of operations in simulations.Every object scheduled for operations in MOOSE is connected to oneof the ‘Tick’ entries on the Clock.The Clock manages ten ‘Ticks’, each of which has its own dt,which is an integral multiple of the base clock dt_. On every clock step the ticks are examined to see which of themis due for updating. When a tick is updated, the ‘process’ call of all the objects scheduled on that tick is called.The default scheduling (should not be overridden) has the following assignment of classes to Ticks:0. Biophysics: Init call on Compartments in EE method1. Biophysics: Channels2. Biophysics: Process call on Compartments3. Undefined 4. Kinetics: Pools, or in ksolve mode: Mesh to handle diffusion5. Kinetics: Reacs, enzymes, etc, or in ksolve mode: Stoich/GSL6. Stimulus tables7. More stimulus tables8. Plots9. Postmaster. This must be called last of all and nothing else should use this Tick. The Postmaster is automatically scheduled at set up time. The Tick should be given the longest possible value, typically but not always equal to one of the other ticks, so as to batch the communications. For spiking-only communications, it is usually possible to space the communication tick by as much as 1-2 ms which is the axonal + synaptic delay.

clockControl

void (shared message field) Controls all scheduling aspects of Clock, usually from Shell

proc0

void (shared message field) Shared proc/reinit message

proc1

void (shared message field) Shared proc/reinit message

proc2

void (shared message field) Shared proc/reinit message

proc3

void (shared message field) Shared proc/reinit message

proc4

void (shared message field) Shared proc/reinit message

proc5

void (shared message field) Shared proc/reinit message

proc6

void (shared message field) Shared proc/reinit message

proc7

void (shared message field) Shared proc/reinit message

proc8

void (shared message field) Shared proc/reinit message

proc9

void (shared message field) Shared proc/reinit message

setDt()

(destination message field) Assigns field value.

getDt()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getRunTime()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getCurrentTime()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNsteps()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumTicks()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getCurrentStep()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDts()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getIsRunning()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTickStep()

(destination message field) Assigns field value.

getTickStep()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTickDt()

(destination message field) Assigns field value.

getTickDt()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

start()

(destination message field) Sets off the simulation for the specified duration

step()

(destination message field) Sets off the simulation for the specified # of steps

stop()

(destination message field) Halts the simulation, with option to restart seamlessly

reinit()

(destination message field) Zeroes out all ticks, starts at t = 0

finished

void (source message field) Signal for completion of run

process0

PK8ProcInfo (source message field) Process for Tick 0

reinit0

PK8ProcInfo (source message field) Reinit for Tick 0

process1

PK8ProcInfo (source message field) Process for Tick 1

reinit1

PK8ProcInfo (source message field) Reinit for Tick 1

process2

PK8ProcInfo (source message field) Process for Tick 2

reinit2

PK8ProcInfo (source message field) Reinit for Tick 2

process3

PK8ProcInfo (source message field) Process for Tick 3

reinit3

PK8ProcInfo (source message field) Reinit for Tick 3

process4

PK8ProcInfo (source message field) Process for Tick 4

reinit4

PK8ProcInfo (source message field) Reinit for Tick 4

process5

PK8ProcInfo (source message field) Process for Tick 5

reinit5

PK8ProcInfo (source message field) Reinit for Tick 5

process6

PK8ProcInfo (source message field) Process for Tick 6

reinit6

PK8ProcInfo (source message field) Reinit for Tick 6

process7

PK8ProcInfo (source message field) Process for Tick 7

reinit7

PK8ProcInfo (source message field) Reinit for Tick 7

process8

PK8ProcInfo (source message field) Process for Tick 8

reinit8

PK8ProcInfo (source message field) Reinit for Tick 8

process9

PK8ProcInfo (source message field) Process for Tick 9

reinit9

PK8ProcInfo (source message field) Reinit for Tick 9

dt

double (value field) Base timestep for simulation

runTime

double (value field) Duration to run the simulation

currentTime

double (value field) Current simulation time

nsteps

unsigned int (value field) Number of steps to advance the simulation, in units of the smallest timestep on the clock ticks

numTicks

unsigned int (value field) Number of clock ticks

currentStep

unsigned int (value field) Current simulation step

dts

vector<double> (value field) Utility function returning the dt (timestep) of all ticks.

isRunning

bool (value field) Utility function to report if simulation is in progress.

tickStep

unsigned int,unsigned int (lookup field) Step size of specified Tick, as integral multiple of dt_ A zero step size means that the Tick is inactive

tickDt

unsigned int,double (lookup field) Timestep dt of specified Tick. Always integral multiple of dt_. If you assign a non-integer multiple it will round off. A zero timestep means that the Tick is inactive

class Compartment

Compartment object, for branching neuron models.

class CompartmentBase

CompartmentBase object, for branching neuron models.

proc

void (shared message field) This is a shared message to receive Process messages from the scheduler objects. The Process should be called _second_ in each clock tick, after the Init message.The first entry in the shared msg is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

init

void (shared message field) This is a shared message to receive Init messages from the scheduler objects. Its job is to separate the compartmental calculations from the message passing. It doesn’t really need to be shared, as it does not use the reinit part, but the scheduler objects expect this form of message for all scheduled output. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a dummy MsgDest for the Reinit operation. It also uses ProcInfo.

channel

void (shared message field) This is a shared message from a compartment to channels. The first entry is a MsgDest for the info coming from the channel. It expects Gk and Ek from the channel as args. The second entry is a MsgSrc sending Vm

axial

void (shared message field) This is a shared message between asymmetric compartments. axial messages (this kind) connect up to raxial messages (defined below). The soma should use raxial messages to connect to the axial message of all the immediately adjacent dendritic compartments.This puts the (low) somatic resistance in series with these dendrites. Dendrites should then use raxial messages toconnect on to more distal dendrites. In other words, raxial messages should face outward from the soma. The first entry is a MsgSrc sending Vm to the axialFuncof the target compartment. The second entry is a MsgDest for the info coming from the other compt. It expects Ra and Vm from the other compt as args. Note that the message is named after the source type.

raxial

void (shared message field) This is a raxial shared message between asymmetric compartments. The first entry is a MsgDest for the info coming from the other compt. It expects Vm from the other compt as an arg. The second is a MsgSrc sending Ra and Vm to the raxialFunc of the target compartment.

setVm()

(destination message field) Assigns field value.

getVm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCm()

(destination message field) Assigns field value.

getCm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setEm()

(destination message field) Assigns field value.

getEm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getIm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInject()

(destination message field) Assigns field value.

getInject()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInitVm()

(destination message field) Assigns field value.

getInitVm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRm()

(destination message field) Assigns field value.

getRm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRa()

(destination message field) Assigns field value.

getRa()

(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.

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.

setX0()

(destination message field) Assigns field value.

getX0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY0()

(destination message field) Assigns field value.

getY0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ0()

(destination message field) Assigns field value.

getZ0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX()

(destination message field) Assigns field value.

getX()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY()

(destination message field) Assigns field value.

getY()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ()

(destination message field) Assigns field value.

getZ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

injectMsg()

(destination message field) The injectMsg corresponds to the INJECT message in the GENESIS compartment. Unlike the ‘inject’ field, any value assigned by handleInject applies only for a single timestep.So it needs to be updated every dt for a steady (or varying)injection current

randInject()

(destination message field) Sends a random injection current to the compartment. Must beupdated each timestep.Arguments to randInject are probability and current.

injectMsg()

(destination message field) The injectMsg corresponds to the INJECT message in the GENESIS compartment. Unlike the ‘inject’ field, any value assigned by handleInject applies only for a single timestep.So it needs to be updated every dt for a steady (or varying)injection current

cable()

(destination message field) Message for organizing compartments into groups, calledcables. Doesn’t do anything.

process()

(destination message field) Handles ‘process’ call

reinit()

(destination message field) Handles ‘reinit’ call

initProc()

(destination message field) Handles Process call for the ‘init’ phase of the CompartmentBase calculations. These occur as a separate Tick cycle from the regular proc cycle, and should be called before the proc msg.

initReinit()

(destination message field) Handles Reinit call for the ‘init’ phase of the CompartmentBase calculations.

handleChannel()

(destination message field) Handles conductance and Reversal potential arguments from Channel

handleRaxial()

(destination message field) Handles Raxial info: arguments are Ra and Vm.

handleAxial()

(destination message field) Handles Axial information. Argument is just Vm.

VmOut

double (source message field) Sends out Vm value of compartment on each timestep

axialOut

double (source message field) Sends out Vm value of compartment to adjacent compartments,on each timestep

raxialOut

double,double (source message field) Sends out Raxial information on each timestep, fields are Ra and Vm

Vm

double (value field) membrane potential

Cm

double (value field) Membrane capacitance

Em

double (value field) Resting membrane potential

Im

double (value field) Current going through membrane

inject

double (value field) Current injection to deliver into compartment

initVm

double (value field) Initial value for membrane potential

Rm

double (value field) Membrane resistance

Ra

double (value field) Axial resistance of compartment

diameter

double (value field) Diameter of compartment

length

double (value field) Length of compartment

x0

double (value field) X coordinate of start of compartment

y0

double (value field) Y coordinate of start of compartment

z0

double (value field) Z coordinate of start of compartment

x

double (value field) x coordinate of end of compartment

y

double (value field) y coordinate of end of compartment

z

double (value field) z coordinate of end of compartment

class CplxEnzBase

: Base class for mass-action enzymes in which there is an explicit pool for the enzyme-substrate complex. It models the reaction: E + S <===> E.S —-> E + P

enz

void (shared message field) Connects to enzyme pool

cplx

void (shared message field) Connects to enz-sub complex pool

setK1()

(destination message field) Assigns field value.

getK1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setK2()

(destination message field) Assigns field value.

getK2()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setK3()

(destination message field) Assigns field value.

getK3()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRatio()

(destination message field) Assigns field value.

getRatio()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setConcK1()

(destination message field) Assigns field value.

getConcK1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

enzDest()

(destination message field) Handles # of molecules of Enzyme

cplxDest()

(destination message field) Handles # of molecules of enz-sub complex

enzOut

double,double (source message field) Sends out increment of molecules on product each timestep

cplxOut

double,double (source message field) Sends out increment of molecules on product each timestep

k1

double (value field) Forward reaction from enz + sub to complex, in # units.This parameter is subordinate to the Km. This means thatwhen Km is changed, this changes. It also means that whenk2 or k3 (aka kcat) are changed, we assume that Km remainsfixed, and as a result k1 must change. It is only whenk1 is assigned directly that we assume that the user knowswhat they are doing, and we adjust Km accordingly.k1 is also subordinate to the ‘ratio’ field, since setting the ratio reassigns k2.Should you wish to assign the elementary rates k1, k2, k3,of an enzyme directly, always assign k1 last.

k2

double (value field) Reverse reaction from complex to enz + sub

k3

double (value field) Forward rate constant from complex to product + enz

ratio

double (value field) Ratio of k2/k3

concK1

double (value field) K1 expressed in concentration (1/millimolar.sec) unitsThis parameter is subordinate to the Km. This means thatwhen Km is changed, this changes. It also means that whenk2 or k3 (aka kcat) are changed, we assume that Km remainsfixed, and as a result concK1 must change. It is only whenconcK1 is assigned directly that we assume that the user knowswhat they are doing, and we adjust Km accordingly.concK1 is also subordinate to the ‘ratio’ field, sincesetting the ratio reassigns k2.Should you wish to assign the elementary rates concK1, k2, k3,of an enzyme directly, always assign concK1 last.

class CubeMesh
setIsToroid()

(destination message field) Assigns field value.

getIsToroid()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setPreserveNumEntries()

(destination message field) Assigns field value.

getPreserveNumEntries()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAlwaysDiffuse()

(destination message field) Assigns field value.

getAlwaysDiffuse()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX0()

(destination message field) Assigns field value.

getX0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY0()

(destination message field) Assigns field value.

getY0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ0()

(destination message field) Assigns field value.

getZ0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX1()

(destination message field) Assigns field value.

getX1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY1()

(destination message field) Assigns field value.

getY1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ1()

(destination message field) Assigns field value.

getZ1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDx()

(destination message field) Assigns field value.

getDx()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDy()

(destination message field) Assigns field value.

getDy()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDz()

(destination message field) Assigns field value.

getDz()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNx()

(destination message field) Assigns field value.

getNx()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNy()

(destination message field) Assigns field value.

getNy()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNz()

(destination message field) Assigns field value.

getNz()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCoords()

(destination message field) Assigns field value.

getCoords()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMeshToSpace()

(destination message field) Assigns field value.

getMeshToSpace()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSpaceToMesh()

(destination message field) Assigns field value.

getSpaceToMesh()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSurface()

(destination message field) Assigns field value.

getSurface()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

isToroid

bool (value field) Flag. True when the mesh should be toroidal, that is,when going beyond the right face brings us around to theleft-most mesh entry, and so on. If we have nx, ny, nzentries, this rule means that the coordinate (x, ny, z)will map onto (x, 0, z). Similarly,(-1, y, z) -> (nx-1, y, z)Default is false

preserveNumEntries

bool (value field) Flag. When it is true, the numbers nx, ny, nz remainunchanged when x0, x1, y0, y1, z0, z1 are altered. Thusdx, dy, dz would change instead. When it is false, thendx, dy, dz remain the same and nx, ny, nz are altered.Default is true

alwaysDiffuse

bool (value field) Flag. When it is true, the mesh matches up sequential mesh entries for diffusion and chmestry. This is regardless of spatial location, and is guaranteed to set up at least the home reaction systemDefault is false

x0

double (value field) X coord of one end

y0

double (value field) Y coord of one end

z0

double (value field) Z coord of one end

x1

double (value field) X coord of other end

y1

double (value field) Y coord of other end

z1

double (value field) Z coord of other end

dx

double (value field) X size for mesh

dy

double (value field) Y size for mesh

dz

double (value field) Z size for mesh

nx

unsigned int (value field) Number of subdivisions in mesh in X

ny

unsigned int (value field) Number of subdivisions in mesh in Y

nz

unsigned int (value field) Number of subdivisions in mesh in Z

coords

vector<double> (value field) Set all the coords of the cuboid at once. Order is:x0 y0 z0 x1 y1 z1 dx dy dzWhen this is done, it recalculates the numEntries since dx, dy and dz are given explicitly.As a special hack, you can leave out dx, dy and dz and use a vector of size 6. In this case the operation assumes that nx, ny and nz are to be preserved and dx, dy and dz will be recalculated.

meshToSpace

vector<unsigned int> (value field) Array in which each mesh entry stores spatial (cubic) index

spaceToMesh

vector<unsigned int> (value field) Array in which each space index (obtained by linearizing the xyz coords) specifies which meshIndex is present.In many cases the index will store the EMPTY flag if there isno mesh entry at that spatial location

surface

vector<unsigned int> (value field) Array specifying surface of arbitrary volume within the CubeMesh. All entries must fall within the cuboid. Each entry of the array is a spatial index obtained by linearizing the ix, iy, iz coordinates within the cuboid. So, each entry == ( iz * ny + iy ) * nx + ixNote that the voxels listed on the surface are WITHIN the volume of the CubeMesh object

class CylMesh
setX0()

(destination message field) Assigns field value.

getX0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY0()

(destination message field) Assigns field value.

getY0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ0()

(destination message field) Assigns field value.

getZ0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setR0()

(destination message field) Assigns field value.

getR0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX1()

(destination message field) Assigns field value.

getX1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY1()

(destination message field) Assigns field value.

getY1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ1()

(destination message field) Assigns field value.

getZ1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setR1()

(destination message field) Assigns field value.

getR1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDiffLength()

(destination message field) Assigns field value.

getDiffLength()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCoords()

(destination message field) Assigns field value.

getCoords()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumDiffCompts()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getTotLength()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

x0

double (value field) x coord of one end

y0

double (value field) y coord of one end

z0

double (value field) z coord of one end

r0

double (value field) Radius of one end

x1

double (value field) x coord of other end

y1

double (value field) y coord of other end

z1

double (value field) z coord of other end

r1

double (value field) Radius of other end

diffLength

double (value field) Length constant to use for subdivisionsThe system will attempt to subdivide using compartments oflength diffLength on average. If the cylinder has different enddiameters r0 and r1, it will scale to smaller lengthsfor the smaller diameter end and vice versa.Once the value is set it will recompute diffLength as totLength/numEntries

coords

vector<double> (value field) All the coords as a single vector: x0 y0 z0 x1 y1 z1 r0 r1 diffLength

numDiffCompts

unsigned int (value field) Number of diffusive compartments in model

totLength

double (value field) Total length of cylinder

class DiagonalMsg
setStride()

(destination message field) Assigns field value.

getStride()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

stride

int (value field) The stride is the increment to the src DataId that gives thedest DataId. It can be positive or negative, but bounds checkingtakes place and it does not wrap around.

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)

class DiffAmp

A difference amplifier. Output is the difference between the total plus inputs and the total minus inputs multiplied by gain. Gain can be set statically as a field or can be a destination message and thus dynamically determined by the output of another object. Same as GENESIS diffamp object.

proc

void (shared message field) This is a shared message to receive Process messages from the scheduler objects.The first entry in the shared msg is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

setGain()

(destination message field) Assigns field value.

getGain()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSaturation()

(destination message field) Assigns field value.

getSaturation()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getOutputValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

gainIn()

(destination message field) Destination message to control gain dynamically.

plusIn()

(destination message field) Positive input terminal of the amplifier. All the messages connected here are summed up to get total positive input.

minusIn()

(destination message field) Negative input terminal of the amplifier. All the messages connected here are summed up to get total positive input.

process()

(destination message field) Handles process call, updates internal time stamp.

reinit()

(destination message field) Handles reinit call.

output

double (source message field) Current output level.

gain

double (value field) Gain of the amplifier. The output of the amplifier is the difference between the totals in plus and minus inputs multiplied by the gain. Defaults to 1

saturation

double (value field) Saturation is the bound on the output. If output goes beyond the +/-saturation range, it is truncated to the closer of +saturation and -saturation. Defaults to the maximum double precision floating point number representable on the system.

outputValue

double (value field) Output of the amplifier, i.e. gain * (plus - minus).

class Double

Variable for storing values.

setValue()

(destination message field) Assigns field value.

getValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

value

double (value field) Variable value

class Dsolve
proc

void (shared message field) Shared message for process and reinit

setStoich()

(destination message field) Assigns field value.

getStoich()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setPath()

(destination message field) Assigns field value.

getPath()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCompartment()

(destination message field) Assigns field value.

getCompartment()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumVoxels()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumAllVoxels()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNVec()

(destination message field) Assigns field value.

getNVec()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumPools()

(destination message field) Assigns field value.

getNumPools()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

buildNeuroMeshJunctions()

(destination message field) Builds junctions between NeuroMesh, SpineMesh and PsdMesh

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

stoich

Id (value field) Stoichiometry object for handling this reaction system.

path

string (value field) Path of reaction system. Must include all the pools that are to be handled by the Dsolve, can also include other random objects, which will be ignored.

compartment

Id (value field) Reac-diff compartment in which this diffusion system is embedded.

numVoxels

unsigned int (value field) Number of voxels in the core reac-diff system, on the current diffusion solver.

numAllVoxels

unsigned int (value field) Number of voxels in the core reac-diff system, on the current diffusion solver.

numPools

unsigned int (value field) Number of molecular pools in the entire reac-diff system, including variable, function and buffered.

nVec

unsigned int,vector<double> (lookup field) vector of # of molecules along diffusion length, looked up by pool index

class Enz
class EnzBase

Abstract base class for enzymes.

sub

void (shared message field) Connects to substrate molecule

prd

void (shared message field) Connects to product molecule

proc

void (shared message field) Shared message for process and reinit

setKm()

(destination message field) Assigns field value.

getKm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumKm()

(destination message field) Assigns field value.

getNumKm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setKcat()

(destination message field) Assigns field value.

getKcat()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumSubstrates()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

enzDest()

(destination message field) Handles # of molecules of Enzyme

subDest()

(destination message field) Handles # of molecules of substrate

prdDest()

(destination message field) Handles # of molecules of product. Dummy.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

remesh()

(destination message field) Tells the MMEnz to recompute its numKm after remeshing

subOut

double,double (source message field) Sends out increment of molecules on product each timestep

prdOut

double,double (source message field) Sends out increment of molecules on product each timestep

Km

double (value field) Michaelis-Menten constant in SI conc units (milliMolar)

numKm

double (value field) Michaelis-Menten constant in number units, volume dependent

kcat

double (value field) Forward rate constant for enzyme, units 1/sec

numSubstrates

unsigned int (value field) Number of substrates in this MM reaction. Usually 1.Does not include the enzyme itself

class Finfo
getFieldName()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDocs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getType()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSrc()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDest()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

fieldName

string (value field) Name of field handled by Finfo

docs

string (value field) Documentation for Finfo

type

string (value field) RTTI type info for this Finfo

src

vector<string> (value field) Subsidiary SrcFinfos. Useful for SharedFinfos

dest

vector<string> (value field) Subsidiary DestFinfos. Useful for SharedFinfos

class Func

Func: general purpose function calculator using real numbers. It can

parse mathematical expression defining a function and evaluate it

and/or its derivative for specified variable values.

The variables can be input from other moose objects. In case of

arbitrary variable names, the source message must have the variable

name as the first argument. For most common cases, input messages to

set x, y, z and xy, xyz are made available without such

requirement. This class handles only real numbers

pi=3.141592...,

e=2.718281...

proc

void (shared message field) This is a shared message to receive Process messages from the scheduler objects.The first entry in the shared msg is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

getValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDerivative()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMode()

(destination message field) Assigns field value.

getMode()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setExpr()

(destination message field) Assigns field value.

getExpr()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setVar()

(destination message field) Assigns field value.

getVar()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getVars()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX()

(destination message field) Assigns field value.

getX()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY()

(destination message field) Assigns field value.

getY()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ()

(destination message field) Assigns field value.

getZ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

varIn()

(destination message field) Handle value for specified variable coming from other objects

xIn()

(destination message field) Handle value for variable named x. This is a shorthand. If the

expression does not have any variable named x, this the first variable in the sequence vars.

yIn()

(destination message field) Handle value for variable named y. This is a utility for two/three

variable functions where the y value comes from a source separate from that of x. This is a shorthand. If the

expression does not have any variable named y, this the second variable in the sequence vars.

zIn()

(destination message field) Handle value for variable named z. This is a utility for three

variable functions where the z value comes from a source separate from that of x or y. This is a shorthand. If the expression does not have any variable named y, this the second variable in the sequence vars.

xyIn()

(destination message field) Handle value for variables x and y for two-variable function

xyzIn()

(destination message field) Handle value for variables x, y and z for three-variable function

process()

(destination message field) Handles process call, updates internal time stamp.

reinit()

(destination message field) Handles reinit call.

valueOut

double (source message field) Evaluated value of the function for the current variable values.

derivativeOut

double (source message field) Value of derivative of the function for the current variable values

value

double (value field) Result of the function evaluation with current variable values.

derivative

double (value field) Derivative of the function at given variable values.

mode

unsigned int (value field) Mode of operation:

1: only the function value will be funculated 2: only the derivative will be funculated 3: both function value and derivative at current variable values will be funculated.

expr

string (value field) Mathematical expression defining the function. The underlying parser

is muParser. Hence the available functions and operators are (from muParser docs):

Functions Name args explanation sin 1 sine function cos 1 cosine function tan 1 tangens function asin 1 arcus sine function acos 1 arcus cosine function atan 1 arcus tangens function sinh 1 hyperbolic sine function cosh 1 hyperbolic cosine tanh 1 hyperbolic tangens function asinh 1 hyperbolic arcus sine function acosh 1 hyperbolic arcus tangens function atanh 1 hyperbolic arcur tangens function log2 1 logarithm to the base 2 log10 1 logarithm to the base 10 log 1 logarithm to the base 10 ln 1 logarithm to base e (2.71828...) exp 1 e raised to the power of x sqrt 1 square root of a value sign 1 sign function -1 if x<0; 1 if x>0 rint 1 round to nearest integer abs 1 absolute value min var. min of all arguments max var. max of all arguments sum var. sum of all arguments avg var. mean value of all arguments

Operators Op meaning prioroty = assignement -1 && logical and 1 || logical or 2 <= less or equal 4 >= greater or equal 4 != not equal 4 == equal 4 > greater than 4 < less than 4 + addition 5 - subtraction 5 * multiplication 6 / division 6 ^ raise x to the power of y 7

?: if then else operator C++ style syntax

vars

vector<string> (value field) Variable names in the expression

x

double (value field) Value for variable named x. This is a shorthand. If the

expression does not have any variable named x, this the first variable in the sequence vars.

y

double (value field) Value for variable named y. This is a utility for two/three

variable functions where the y value comes from a source separate from that of x. This is a shorthand. If the

expression does not have any variable named y, this the second variable in the sequence vars.

z

double (value field) Value for variable named z. This is a utility for three

variable functions where the z value comes from a source separate from that of x or z. This is a shorthand. If the expression does not have any variable named z, this the third variable in the sequence vars.

var

string,double (lookup field) Lookup table for variable values.

class FuncBase
proc

void (shared message field) Shared message for process and reinit

getResult()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

input()

(destination message field) Handles input values. This generic message works only in cases where the inputs are commutative, so ordering does not matter. In due course will implement a synapse type extendable, identified system of inputs so that arbitrary numbers of inputs can be unambiguaously defined.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

output

double (source message field) Sends out sum on each timestep

result

double (value field) Outcome of function computation

class FuncPool
input()

(destination message field) Handles input to control value of n_

class GapJunction

Implementation of gap junction between two compartments. The shared

fields, ‘channel1’ and ‘channel2’ can be connected to the ‘channel’

message of the compartments at either end of the gap junction. The

compartments will send their Vm to the gap junction and receive the

conductance ‘Gk’ of the gap junction and the Vm of the other

compartment.

channel1

void (shared message field) This is a shared message to couple the conductance and Vm from

terminal 2 to the compartment at terminal 1. The first entry is source sending out Gk and Vm2, the second entry is destination for Vm1.

channel2

void (shared message field) This is a shared message to couple the conductance and Vm from

terminal 1 to the compartment at terminal 2. The first entry is source sending out Gk and Vm1, the second entry is destination for Vm2.

proc

void (shared message field) This is a shared message to receive Process messages from the scheduler objects. The Process should be called _second_ in each clock tick, after the Init message.The first entry in the shared msg is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

Vm1()

(destination message field) Handles Vm message from compartment

Vm2()

(destination message field) Handles Vm message from another compartment

setGk()

(destination message field) Assigns field value.

getGk()

(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) Handles ‘reinit’ call

channel1Out

double,double (source message field) Sends Gk and Vm from one compartment to the other

channel2Out

double,double (source message field) Sends Gk and Vm from one compartment to the other

Gk

double (value field) Conductance of the gap junction

class Group
group

void (source message field) Handle for grouping Elements

class Gsolve
proc

void (shared message field) Shared message for process and reinit

setStoich()

(destination message field) Assigns field value.

getStoich()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumLocalVoxels()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNVec()

(destination message field) Assigns field value.

getNVec()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumAllVoxels()

(destination message field) Assigns field value.

getNumAllVoxels()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumPools()

(destination message field) Assigns field value.

getNumPools()

(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) Handles reinit call

setUseRandInit()

(destination message field) Assigns field value.

getUseRandInit()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

stoich

Id (value field) Stoichiometry object for handling this reaction system.

numLocalVoxels

unsigned int (value field) Number of voxels in the core reac-diff system, on the current solver.

numAllVoxels

unsigned int (value field) Number of voxels in the entire reac-diff system, including proxy voxels to represent abutting compartments.

numPools

unsigned int (value field) Number of molecular pools in the entire reac-diff system, including variable, function and buffered.

useRandInit

bool (value field) Flag: True when using probabilistic (random) rounding. When initializing the mol# from floating-point Sinit values, we have two options. One is to look at each Sinit, and round to the nearest integer. The other is to look at each Sinit, and probabilistically round up or down depending on the value. For example, if we had a Sinit value of 1.49, this would always be rounded to 1.0 if the flag is false, and would be rounded to 1.0 and 2.0 in the ratio 51:49 if the flag is true.

nVec

unsigned int,vector<double> (lookup field) vector of pool counts

class HHChannel

HHChannel: Hodgkin-Huxley type voltage-gated Ion channel. Something like the old tabchannel from GENESIS, but also presents a similar interface as hhchan from GENESIS.

proc

void (shared message field) This is a shared message to receive Process message from thescheduler. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt andso on.

The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

setXpower()

(destination message field) Assigns field value.

getXpower()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYpower()

(destination message field) Assigns field value.

getYpower()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZpower()

(destination message field) Assigns field value.

getZpower()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInstant()

(destination message field) Assigns field value.

getInstant()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX()

(destination message field) Assigns field value.

getX()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY()

(destination message field) Assigns field value.

getY()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ()

(destination message field) Assigns field value.

getZ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setUseConcentration()

(destination message field) Assigns field value.

getUseConcentration()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

concen()

(destination message field) Incoming message from Concen object to specific conc to usein the Z gate calculations

createGate()

(destination message field) Function to create specified gate.Argument: Gate type [X Y Z]

setNumGateX()

(destination message field) Assigns number of field entries in field array.

getNumGateX()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

setNumGateY()

(destination message field) Assigns number of field entries in field array.

getNumGateY()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

setNumGateZ()

(destination message field) Assigns number of field entries in field array.

getNumGateZ()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

Xpower

double (value field) Power for X gate

Ypower

double (value field) Power for Y gate

Zpower

double (value field) Power for Z gate

instant

int (value field) Bitmapped flag: bit 0 = Xgate, bit 1 = Ygate, bit 2 = ZgateWhen true, specifies that the lookup table value should beused directly as the state of the channel, rather than usedas a rate term for numerical integration for the state

X

double (value field) State variable for X gate

Y

double (value field) State variable for Y gate

Z

double (value field) State variable for Y gate

useConcentration

int (value field) Flag: when true, use concentration message rather than Vm tocontrol Z gate

class HHChannel2D

HHChannel2D: Hodgkin-Huxley type voltage-gated Ion channel. Something like the old tabchannel from GENESIS, but also presents a similar interface as hhchan from GENESIS.

proc

void (shared message field) This is a shared message to receive Process message from thescheduler. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt andso on.

The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

setXindex()

(destination message field) Assigns field value.

getXindex()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYindex()

(destination message field) Assigns field value.

getYindex()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZindex()

(destination message field) Assigns field value.

getZindex()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXpower()

(destination message field) Assigns field value.

getXpower()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYpower()

(destination message field) Assigns field value.

getYpower()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZpower()

(destination message field) Assigns field value.

getZpower()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInstant()

(destination message field) Assigns field value.

getInstant()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX()

(destination message field) Assigns field value.

getX()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY()

(destination message field) Assigns field value.

getY()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ()

(destination message field) Assigns field value.

getZ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

concen()

(destination message field) Incoming message from Concen object to specific conc to useas the first concen variable

concen2()

(destination message field) Incoming message from Concen object to specific conc to useas the second concen variable

setNumGateX()

(destination message field) Assigns number of field entries in field array.

getNumGateX()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

setNumGateY()

(destination message field) Assigns number of field entries in field array.

getNumGateY()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

setNumGateZ()

(destination message field) Assigns number of field entries in field array.

getNumGateZ()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

Xindex

string (value field) String for setting X index.

Yindex

string (value field) String for setting Y index.

Zindex

string (value field) String for setting Z index.

Xpower

double (value field) Power for X gate

Ypower

double (value field) Power for Y gate

Zpower

double (value field) Power for Z gate

instant

int (value field) Bitmapped flag: bit 0 = Xgate, bit 1 = Ygate, bit 2 = ZgateWhen true, specifies that the lookup table value should beused directly as the state of the channel, rather than usedas a rate term for numerical integration for the state

X

double (value field) State variable for X gate

Y

double (value field) State variable for Y gate

Z

double (value field) State variable for Y gate

class HHGate

HHGate: Gate for Hodkgin-Huxley type channels, equivalent to the m and h terms on the Na squid channel and the n term on K. This takes the voltage and state variable from the channel, computes the new value of the state variable and a scaling, depending on gate power, for the conductance.

getA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAlpha()

(destination message field) Assigns field value.

getAlpha()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setBeta()

(destination message field) Assigns field value.

getBeta()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTau()

(destination message field) Assigns field value.

getTau()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMInfinity()

(destination message field) Assigns field value.

getMInfinity()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMin()

(destination message field) Assigns field value.

getMin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMax()

(destination message field) Assigns field value.

getMax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDivs()

(destination message field) Assigns field value.

getDivs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTableA()

(destination message field) Assigns field value.

getTableA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTableB()

(destination message field) Assigns field value.

getTableB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setUseInterpolation()

(destination message field) Assigns field value.

getUseInterpolation()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAlphaParms()

(destination message field) Assigns field value.

getAlphaParms()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setupAlpha()

(destination message field) Set up both gates using 13 parameters, as follows:setupAlpha AA AB AC AD AF BA BB BC BD BF xdivs xmin xmaxHere AA-AF are Coefficients A to F of the alpha (forward) termHere BA-BF are Coefficients A to F of the beta (reverse) termHere xdivs is the number of entries in the table,xmin and xmax define the range for lookup.Outside this range the returned value will be the low [high]entry of the table.The equation describing each table is:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

setupTau()

(destination message field) Identical to setupAlpha, except that the forms specified bythe 13 parameters are for the tau and m-infinity curves ratherthan the alpha and beta terms. So the parameters are:setupTau TA TB TC TD TF MA MB MC MD MF xdivs xmin xmaxAs before, the equation describing each curve is:y(x) = (A + B * x) / (C + exp((x + D) / F))

tweakAlpha()

(destination message field) Dummy function for backward compatibility. It used to convertthe tables from alpha, beta values to alpha, alpha+betabecause the internal calculations used these forms. Notneeded now, deprecated.

tweakTau()

(destination message field) Dummy function for backward compatibility. It used to convertthe tables from tau, minf values to alpha, alpha+betabecause the internal calculations used these forms. Notneeded now, deprecated.

setupGate()

(destination message field) Sets up one gate at a time using the alpha/beta form.Has 9 parameters, as follows:setupGate A B C D F xdivs xmin xmax is_betaThis sets up the gate using the equation:y(x) = (A + B * x) / (C + exp((x + D) / F))Deprecated.

alpha

vector<double> (value field) Parameters for voltage-dependent rates, alpha:Set up alpha term using 5 parameters, as follows:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

beta

vector<double> (value field) Parameters for voltage-dependent rates, beta:Set up beta term using 5 parameters, as follows:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

tau

vector<double> (value field) Parameters for voltage-dependent rates, tau:Set up tau curve using 5 parameters, as follows:y(x) = (A + B * x) / (C + exp((x + D) / F))

mInfinity

vector<double> (value field) Parameters for voltage-dependent rates, mInfinity:Set up mInfinity curve using 5 parameters, as follows:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

min

double (value field) Minimum range for lookup

max

double (value field) Minimum range for lookup

divs

unsigned int (value field) Divisions for lookup. Zero means to use linear interpolation

tableA

vector<double> (value field) Table of A entries

tableB

vector<double> (value field) Table of alpha + beta entries

useInterpolation

bool (value field) Flag: use linear interpolation if true, else direct lookup

alphaParms

vector<double> (value field) Set up both gates using 13 parameters, as follows:setupAlpha AA AB AC AD AF BA BB BC BD BF xdivs xmin xmaxHere AA-AF are Coefficients A to F of the alpha (forward) termHere BA-BF are Coefficients A to F of the beta (reverse) termHere xdivs is the number of entries in the table,xmin and xmax define the range for lookup.Outside this range the returned value will be the low [high]entry of the table.The equation describing each table is:y(x) = (A + B * x) / (C + exp((x + D) / F))The original HH equations can readily be cast into this form

A

double,double (lookup field) lookupA: Look up the A gate value from a double. Usually doesso by direct scaling and offset to an integer lookup, usinga fine enough table granularity that there is little error.Alternatively uses linear interpolation.The range of the double is predefined based on knowledge ofvoltage or conc ranges, and the granularity is specified bythe xmin, xmax, and dV fields.

B

double,double (lookup field) lookupB: Look up the B gate value from a double.Note that this looks up the raw tables, which are transformedfrom the reference parameters.

class HHGate2D

HHGate2D: Gate for Hodkgin-Huxley type channels, equivalent to the m and h terms on the Na squid channel and the n term on K. This takes the voltage and state variable from the channel, computes the new value of the state variable and a scaling, depending on gate power, for the conductance. These two terms are sent right back in a message to the channel.

getA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTableA()

(destination message field) Assigns field value.

getTableA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTableB()

(destination message field) Assigns field value.

getTableB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXminA()

(destination message field) Assigns field value.

getXminA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXmaxA()

(destination message field) Assigns field value.

getXmaxA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXdivsA()

(destination message field) Assigns field value.

getXdivsA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYminA()

(destination message field) Assigns field value.

getYminA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYmaxA()

(destination message field) Assigns field value.

getYmaxA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYdivsA()

(destination message field) Assigns field value.

getYdivsA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXminB()

(destination message field) Assigns field value.

getXminB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXmaxB()

(destination message field) Assigns field value.

getXmaxB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXdivsB()

(destination message field) Assigns field value.

getXdivsB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYminB()

(destination message field) Assigns field value.

getYminB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYmaxB()

(destination message field) Assigns field value.

getYmaxB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYdivsB()

(destination message field) Assigns field value.

getYdivsB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

tableA

vector< vector<double> > (value field) Table of A entries

tableB

vector< vector<double> > (value field) Table of B entries

xminA

double (value field) Minimum range for lookup

xmaxA

double (value field) Minimum range for lookup

xdivsA

unsigned int (value field) Divisions for lookup. Zero means to use linear interpolation

yminA

double (value field) Minimum range for lookup

ymaxA

double (value field) Minimum range for lookup

ydivsA

unsigned int (value field) Divisions for lookup. Zero means to use linear interpolation

xminB

double (value field) Minimum range for lookup

xmaxB

double (value field) Minimum range for lookup

xdivsB

unsigned int (value field) Divisions for lookup. Zero means to use linear interpolation

yminB

double (value field) Minimum range for lookup

ymaxB

double (value field) Minimum range for lookup

ydivsB

unsigned int (value field) Divisions for lookup. Zero means to use linear interpolation

A

vector<double>,double (lookup field) lookupA: Look up the A gate value from two doubles, passedin as a vector. Uses linear interpolation in the 2D tableThe range of the lookup doubles is predefined based on knowledge of voltage or conc ranges, and the granularity is specified by the xmin, xmax, and dx field, and their y-axis counterparts.

B

vector<double>,double (lookup field) lookupB: Look up B gate value from two doubles in a vector.

class HSolve
proc

void (shared message field) Handles ‘reinit’ and ‘process’ calls from a clock.

setSeed()

(destination message field) Assigns field value.

getSeed()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTarget()

(destination message field) Assigns field value.

getTarget()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDt()

(destination message field) Assigns field value.

getDt()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCaAdvance()

(destination message field) Assigns field value.

getCaAdvance()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setVDiv()

(destination message field) Assigns field value.

getVDiv()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setVMin()

(destination message field) Assigns field value.

getVMin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setVMax()

(destination message field) Assigns field value.

getVMax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCaDiv()

(destination message field) Assigns field value.

getCaDiv()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCaMin()

(destination message field) Assigns field value.

getCaMin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCaMax()

(destination message field) Assigns field value.

getCaMax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

process()

(destination message field) Handles ‘process’ call: Solver advances by one time-step.

reinit()

(destination message field) Handles ‘reinit’ call: Solver reads in model.

seed

Id (value field) Use this field to specify path to a ‘seed’ compartment, that is, any compartment within a neuron. The HSolve object uses this seed as a handle to discover the rest of the neuronal model, which means all the remaining compartments, channels, synapses, etc.

target

string (value field) Specifies the path to a compartmental model to be taken over. This can be the path to any container object that has the model under it (found by performing a deep search). Alternatively, this can also be the path to any compartment within the neuron. This compartment will be used as a handle to discover the rest of the model, which means all the remaining compartments, channels, synapses, etc.

dt

double (value field) The time-step for this solver.

caAdvance

int (value field) This flag determines how current flowing into a calcium pool is computed. A value of 0 means that the membrane potential at the beginning of the time-step is used for the calculation. This is how GENESIS does its computations. A value of 1 means the membrane potential at the middle of the time-step is used. This is the correct way of integration, and is the default way.

vDiv

int (value field) Specifies number of divisions for lookup tables of voltage-sensitive channels.

vMin

double (value field) Specifies the lower bound for lookup tables of voltage-sensitive channels. Default is to automatically decide based on the tables of the channels that the solver reads in.

vMax

double (value field) Specifies the upper bound for lookup tables of voltage-sensitive channels. Default is to automatically decide based on the tables of the channels that the solver reads in.

caDiv

int (value field) Specifies number of divisions for lookup tables of calcium-sensitive channels.

caMin

double (value field) Specifies the lower bound for lookup tables of calcium-sensitive channels. Default is to automatically decide based on the tables of the channels that the solver reads in.

caMax

double (value field) Specifies the upper bound for lookup tables of calcium-sensitive channels. Default is to automatically decide based on the tables of the channels that the solver reads in.

class IntFire
proc

void (shared message field) Shared message for process and reinit

setVm()

(destination message field) Assigns field value.

getVm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTau()

(destination message field) Assigns field value.

getTau()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setThresh()

(destination message field) Assigns field value.

getThresh()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRefractoryPeriod()

(destination message field) Assigns field value.

getRefractoryPeriod()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setBufferTime()

(destination message field) Assigns field value.

getBufferTime()

(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) Handles reinit call

spikeOut

double (source message field) Sends out spike events

Vm

double (value field) Membrane potential

tau

double (value field) charging time-course

thresh

double (value field) firing threshold

refractoryPeriod

double (value field) Minimum time between successive spikes

bufferTime

double (value field) Duration of spike buffer.

class Interpol

Interpol: Interpolation class. Handles lookup from a 1-dimensional array of real-numbered values.Returns ‘y’ value based on given ‘x’ value. Can either use interpolation or roundoff to the nearest index.

proc

void (shared message field) Shared message for process and reinit

setXmin()

(destination message field) Assigns field value.

getXmin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXmax()

(destination message field) Assigns field value.

getXmax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getY()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

input()

(destination message field) Interpolates using the input as x value.

process()

(destination message field) Handles process call, updates internal time stamp.

reinit()

(destination message field) Handles reinit call.

lookupOut

double (source message field) respond to a request for a value lookup

xmin

double (value field) Minimum value of x. x below this will result in y[0] being returned.

xmax

double (value field) Maximum value of x. x above this will result in y[last] being returned.

y

double (value field) Looked up value.

class Interpol2D

Interpol2D: Interpolation class. Handles lookup from a 2-dimensional grid of real-numbered values. Returns ‘z’ value based on given ‘x’ and ‘y’ values. Can either use interpolation or roundoff to the nearest index.

lookupReturn2D

void (shared message field) This is a shared message for doing lookups on the table. Receives 2 doubles: x, y. Sends back a double with the looked-up z value.

lookup()

(destination message field) Looks up table value based on indices v1 and v2, and sendsvalue back using the ‘lookupOut’ message

setXmin()

(destination message field) Assigns field value.

getXmin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXmax()

(destination message field) Assigns field value.

getXmax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXdivs()

(destination message field) Assigns field value.

getXdivs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDx()

(destination message field) Assigns field value.

getDx()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYmin()

(destination message field) Assigns field value.

getYmin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYmax()

(destination message field) Assigns field value.

getYmax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYdivs()

(destination message field) Assigns field value.

getYdivs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDy()

(destination message field) Assigns field value.

getDy()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTable()

(destination message field) Assigns field value.

getTable()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getZ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTableVector2D()

(destination message field) Assigns field value.

getTableVector2D()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

lookupOut

double (source message field) respond to a request for a value lookup

xmin

double (value field) Minimum value for x axis of lookup table

xmax

double (value field) Maximum value for x axis of lookup table

xdivs

unsigned int (value field) # of divisions on x axis of lookup table

dx

double (value field) Increment on x axis of lookup table

ymin

double (value field) Minimum value for y axis of lookup table

ymax

double (value field) Maximum value for y axis of lookup table

ydivs

unsigned int (value field) # of divisions on y axis of lookup table

dy

double (value field) Increment on y axis of lookup table

tableVector2D

vector< vector<double> > (value field) Get the entire table.

table

vector<unsigned int>,double (lookup field) Lookup an entry on the table

z

vector<double>,double (lookup field) Interpolated value for specified x and y. This is provided for debugging. Normally other objects will retrieve interpolated values via lookup message.

class IzhikevichNrn

Izhikevich model of spiking neuron (Izhikevich,EM. 2003. Simple model of spiking neurons. Neural Networks, IEEE Transactions on 14(6). pp 1569-1572).

dVm/dt = 0.04 * Vm^2 + 5 * Vm + 140 - u + inject

du/dt = a * (b * Vm - u)

if Vm >= Vmax then Vm = c and u = u + d

Vmax = 30 mV in the paper.

proc

void (shared message field) Shared message to receive Process message from scheduler

channel

void (shared message field) This is a shared message from a IzhikevichNrn to channels.The first entry is a MsgDest for the info coming from the channel. It expects Gk and Ek from the channel as args. The second entry is a MsgSrc sending Vm

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

setVmax()

(destination message field) Assigns field value.

getVmax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setC()

(destination message field) Assigns field value.

getC()

(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.

setA()

(destination message field) Assigns field value.

getA()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setB()

(destination message field) Assigns field value.

getB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getU()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setVm()

(destination message field) Assigns field value.

getVm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getIm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInject()

(destination message field) Assigns field value.

getInject()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRmByTau()

(destination message field) Assigns field value.

getRmByTau()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAccommodating()

(destination message field) Assigns field value.

getAccommodating()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setU0()

(destination message field) Assigns field value.

getU0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInitVm()

(destination message field) Assigns field value.

getInitVm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInitU()

(destination message field) Assigns field value.

getInitU()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAlpha()

(destination message field) Assigns field value.

getAlpha()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setBeta()

(destination message field) Assigns field value.

getBeta()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setGamma()

(destination message field) Assigns field value.

getGamma()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

injectMsg()

(destination message field) Injection current into the neuron.

cDest()

(destination message field) Destination message to modify parameter c at runtime.

dDest()

(destination message field) Destination message to modify parameter d at runtime.

bDest()

(destination message field) Destination message to modify parameter b at runtime

aDest()

(destination message field) Destination message modify parameter a at runtime.

handleChannel()

(destination message field) Handles conductance and reversal potential arguments from Channel

VmOut

double (source message field) Sends out Vm

spikeOut

double (source message field) Sends out spike events

VmOut

double (source message field) Sends out Vm

Vmax

double (value field) Maximum membrane potential. Membrane potential is reset to c whenever it reaches Vmax. NOTE: Izhikevich model specifies the PEAK voltage, rather than THRSHOLD voltage. The threshold depends on the previous history.

c

double (value field) Reset potential. Membrane potential is reset to c whenever it reaches Vmax.

d

double (value field) Parameter d in Izhikevich model. Unit is V/s.

a

double (value field) Parameter a in Izhikevich model. Unit is s^{-1}

b

double (value field) Parameter b in Izhikevich model. Unit is s^{-1}

u

double (value field) Parameter u in Izhikevich equation. Unit is V/s

Vm

double (value field) Membrane potential, equivalent to v in Izhikevich equation.

Im

double (value field) Total current going through the membrane. Unit is A.

inject

double (value field) External current injection into the neuron

RmByTau

double (value field) Hidden coefficient of input current term (I) in Izhikevich model. Defaults to 1e9 Ohm/s.

accommodating

bool (value field) True if this neuron is an accommodating one. The equation for recovery variable u is special in this case.

u0

double (value field) This is used for accommodating neurons where recovery variables u is computed as: u += tau*a*(b*(Vm-u0))

initVm

double (value field) Initial membrane potential. Unit is V.

initU

double (value field) Initial value of u.

alpha

double (value field) Coefficient of v^2 in Izhikevich equation. Defaults to 0.04 in physiological unit. In SI it should be 40000.0. Unit is V^-1 s^{-1}

beta

double (value field) Coefficient of v in Izhikevich model. Defaults to 5 in physiological unit, 5000.0 for SI units. Unit is s^{-1}

gamma

double (value field) Constant term in Izhikevich model. Defaults to 140 in both physiological and SI units. unit is V/s.

class Ksolve
proc

void (shared message field) Shared message for process and reinit

setMethod()

(destination message field) Assigns field value.

getMethod()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setEpsAbs()

(destination message field) Assigns field value.

getEpsAbs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setEpsRel()

(destination message field) Assigns field value.

getEpsRel()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setStoich()

(destination message field) Assigns field value.

getStoich()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDsolve()

(destination message field) Assigns field value.

getDsolve()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCompartment()

(destination message field) Assigns field value.

getCompartment()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumLocalVoxels()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNVec()

(destination message field) Assigns field value.

getNVec()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumAllVoxels()

(destination message field) Assigns field value.

getNumAllVoxels()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumPools()

(destination message field) Assigns field value.

getNumPools()

(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) Handles reinit call

method

string (value field) Integration method, using GSL. So far only explict. Options are:rk5: The default Runge-Kutta-Fehlberg 5th order adaptive dt methodgsl: alias for the aboverk4: The Runge-Kutta 4th order fixed dt methodrk2: The Runge-Kutta 2,3 embedded fixed dt methodrkck: The Runge-Kutta Cash-Karp (4,5) methodrk8: The Runge-Kutta Prince-Dormand (8,9) method

epsAbs

double (value field) Absolute permissible integration error range.

epsRel

double (value field) Relative permissible integration error range.

stoich

Id (value field) Stoichiometry object for handling this reaction system.

dsolve

Id (value field) Diffusion solver object handling this reactin system.

compartment

Id (value field) Compartment in which the Ksolve reaction system lives.

numLocalVoxels

unsigned int (value field) Number of voxels in the core reac-diff system, on the current solver.

numAllVoxels

unsigned int (value field) Number of voxels in the entire reac-diff system, including proxy voxels to represent abutting compartments.

numPools

unsigned int (value field) Number of molecular pools in the entire reac-diff system, including variable, function and buffered.

nVec

unsigned int,vector<double> (lookup field) vector of pool counts. Index specifies which voxel.

class Leakage

Leakage: Passive leakage channel.

proc

void (shared message field) This is a shared message to receive Process message from the scheduler. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on.

The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

class Long

Variable for storing values.

setValue()

(destination message field) Assigns field value.

getValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

value

long (value field) Variable value

class MMenz
class MarkovChannel

MarkovChannel : Multistate ion channel class.It deals with ion channels which can be found in one of multiple states, some of which are conducting. This implementation assumes the occurence of first order kinetics to calculate the probabilities of the channel being found in all states. Further, the rates of transition between these states can be constant, voltage-dependent or ligand dependent (only one ligand species). The current flow obtained from the channel is calculated in a deterministic method by solving the system of differential equations obtained from the assumptions above.

proc

void (shared message field) This is a shared message to receive Process message from thescheduler. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt andso on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

setLigandConc()

(destination message field) Assigns field value.

getLigandConc()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setVm()

(destination message field) Assigns field value.

getVm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumStates()

(destination message field) Assigns field value.

getNumStates()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumOpenStates()

(destination message field) Assigns field value.

getNumOpenStates()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getState()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInitialState()

(destination message field) Assigns field value.

getInitialState()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setLabels()

(destination message field) Assigns field value.

getLabels()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setGbar()

(destination message field) Assigns field value.

getGbar()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

handleLigandConc()

(destination message field) Deals with incoming messages containing information of ligand concentration

handleState()

(destination message field) Deals with incoming message from MarkovSolver object containing state information of the channel.

ligandConc

double (value field) Ligand concentration.

Vm

double (value field) Membrane voltage.

numStates

unsigned int (value field) The number of states that the channel can occupy.

numOpenStates

unsigned int (value field) The number of states which are open/conducting.

state

vector<double> (value field) This is a row vector that contains the probabilities of finding the channel in each state.

initialState

vector<double> (value field) This is a row vector that contains the probabilities of finding the channel in each state at t = 0. The state of the channel is reset to this value during a call to reinit()

labels

vector<string> (value field) Labels for each state.

gbar

vector<double> (value field) A row vector containing the conductance associated with each of the open/conducting states.

class MarkovGslSolver
proc

void (shared message field) Shared message for process and reinit

getIsInitialized()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMethod()

(destination message field) Assigns field value.

getMethod()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRelativeAccuracy()

(destination message field) Assigns field value.

getRelativeAccuracy()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAbsoluteAccuracy()

(destination message field) Assigns field value.

getAbsoluteAccuracy()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInternalDt()

(destination message field) Assigns field value.

getInternalDt()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

init()

(destination message field) Initialize solver parameters.

handleQ()

(destination message field) Handles information regarding the instantaneous rate matrix from the MarkovRateTable class.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

stateOut

vector<double> (source message field) Sends updated state to the MarkovChannel class.

isInitialized

bool (value field) True if the message has come in to set solver parameters.

method

string (value field) Numerical method to use.

relativeAccuracy

double (value field) Accuracy criterion

absoluteAccuracy

double (value field) Another accuracy criterion

internalDt

double (value field) internal timestep to use.

class MarkovRateTable
channel

void (shared message field) This message couples the rate table to the compartment. The rate table needs updates on voltage in order to compute the rate table.

proc

void (shared message field) This is a shared message to receive Process message from thescheduler. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt andso on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

handleVm()

(destination message field) Handles incoming message containing voltage information.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

init()

(destination message field) Initialization of the class. Allocates memory for all the tables.

handleLigandConc()

(destination message field) Handles incoming message containing ligand concentration.

set1d()

(destination message field) Setting up of 1D lookup table for the (i,j)’th rate.

set2d()

(destination message field) Setting up of 2D lookup table for the (i,j)’th rate.

setconst()

(destination message field) Setting a constant value for the (i,j)’th rate. Internally, this is stored as a 1-D rate with a lookup table containing 1 entry.

setVm()

(destination message field) Assigns field value.

getVm()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setLigandConc()

(destination message field) Assigns field value.

getLigandConc()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getQ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSize()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

instratesOut

vector< vector<double> > (source message field) Sends out instantaneous rate information of varying transition ratesat each time step.

Vm

double (value field) Membrane voltage.

ligandConc

double (value field) Ligand concentration.

Q

vector< vector<double> > (value field) Instantaneous rate matrix.

size

unsigned int (value field) Dimension of the families of lookup tables. Is always equal to the number of states in the model.

class MarkovSolver
proc

void (shared message field) This is a shared message to receive Process message from thescheduler. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt andso on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

class MarkovSolverBase
channel

void (shared message field) This message couples the MarkovSolverBase to the Compartment. The compartment needs Vm in order to look up the correct matrix exponential for computing the state.

proc

void (shared message field) This is a shared message to receive Process message from thescheduler. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt andso on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

handleVm()

(destination message field) Handles incoming message containing voltage information.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

ligandConc()

(destination message field) Handles incoming message containing ligand concentration.

init()

(destination message field) Setups the table of matrix exponentials associated with the solver object.

getQ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getState()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInitialState()

(destination message field) Assigns field value.

getInitialState()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXmin()

(destination message field) Assigns field value.

getXmin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXmax()

(destination message field) Assigns field value.

getXmax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXdivs()

(destination message field) Assigns field value.

getXdivs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getInvdx()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYmin()

(destination message field) Assigns field value.

getYmin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYmax()

(destination message field) Assigns field value.

getYmax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYdivs()

(destination message field) Assigns field value.

getYdivs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getInvdy()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

stateOut

vector<double> (source message field) Sends updated state to the MarkovChannel class.

Q

vector< vector<double> > (value field) Instantaneous rate matrix.

state

vector<double> (value field) Current state of the channel.

initialState

vector<double> (value field) Initial state of the channel.

xmin

double (value field) Minimum value for x axis of lookup table

xmax

double (value field) Maximum value for x axis of lookup table

xdivs

unsigned int (value field) # of divisions on x axis of lookup table

invdx

double (value field) Reciprocal of increment on x axis of lookup table

ymin

double (value field) Minimum value for y axis of lookup table

ymax

double (value field) Maximum value for y axis of lookup table

ydivs

unsigned int (value field) # of divisions on y axis of lookup table

invdy

double (value field) Reciprocal of increment on y axis of lookup table

class MathFunc
proc

void (shared message field) Shared message for process and reinit

setMathML()

(destination message field) Assigns field value.

getMathML()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setFunction()

(destination message field) Assigns field value.

getFunction()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getResult()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

arg1()

(destination message field) Handle arg1

arg2()

(destination message field) Handle arg2

arg3()

(destination message field) Handle arg3

arg4()

(destination message field) Handle arg4

process()

(destination message field) Handle process call

reinit()

(destination message field) Handle reinit call

output

double (source message field) Sends out result of computation

mathML

string (value field) MathML version of expression to compute

function

string (value field) function is for functions of form f(x, y) = x + y

result

double (value field) result value

class MeshEntry

One voxel in a chemical reaction compartment

proc

void (shared message field) Shared message for process and reinit

mesh

void (shared message field) Shared message for updating mesh volumes and subdivisions,typically controls pool volumes

getVolume()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDimensions()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getMeshType()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getCoordinates()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNeighbors()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDiffusionArea()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDiffusionScaling()

(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) Handles reinit call

getVolume()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

remeshOut

double,unsigned int,unsigned int,vector<unsigned int>,vector<double> (source message field) Tells the target pool or other entity that the compartment subdivision(meshing) has changed, and that it has to redo its volume and memory allocation accordingly.Arguments are: oldvol, numTotalEntries, startEntry, localIndices, volsThe vols specifies volumes of each local mesh entry. It also specifieshow many meshEntries are present on the local node.The localIndices vector is used for general load balancing only.It has a list of the all meshEntries on current node.If it is empty, we assume block load balancing. In this secondcase the contents of the current node go from startEntry to startEntry + vols.size().

remeshReacsOut

void (source message field) Tells connected enz or reac that the compartment subdivision(meshing) has changed, and that it has to redo its volume-dependent rate terms like numKf_ accordingly.

volume

double (value field) Volume of this MeshEntry

dimensions

unsigned int (value field) number of dimensions of this MeshEntry

meshType

unsigned int (value field) The MeshType defines the shape of the mesh entry. 0: Not assigned 1: cuboid 2: cylinder 3. cylindrical shell 4: cylindrical shell segment 5: sphere 6: spherical shell 7: spherical shell segment 8: Tetrahedral

Coordinates

vector<double> (value field) Coordinates that define current MeshEntry. Depend on MeshType.

neighbors

vector<unsigned int> (value field) Indices of other MeshEntries that this one connects to

DiffusionArea

vector<double> (value field) Diffusion area for geometry of interface

DiffusionScaling

vector<double> (value field) Diffusion scaling for geometry of interface

class MgBlock

MgBlock: Hodgkin-Huxley type voltage-gated Ion channel. Something like the old tabchannel from GENESIS, but also presents a similar interface as hhchan from GENESIS.

proc

void (shared message field) This is a shared message to receive Process message from thescheduler. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt andso on.

The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

origChannel()

(destination message field)

setKMg_A()

(destination message field) Assigns field value.

getKMg_A()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setKMg_B()

(destination message field) Assigns field value.

getKMg_B()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCMg()

(destination message field) Assigns field value.

getCMg()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setIk()

(destination message field) Assigns field value.

getIk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZk()

(destination message field) Assigns field value.

getZk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

KMg_A

double (value field) 1/eta

KMg_B

double (value field) 1/gamma

CMg

double (value field) [Mg] in mM

Ik

double (value field) Current through MgBlock

Zk

double (value field) Charge on ion

class Msg
getE1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getE2()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSrcFieldsOnE1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDestFieldsOnE2()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSrcFieldsOnE2()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDestFieldsOnE1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getAdjacent()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

e1

Id (value field) Id of source Element.

e2

Id (value field) Id of source Element.

srcFieldsOnE1

vector<string> (value field) Names of SrcFinfos for messages going from e1 to e2. There arematching entries in the destFieldsOnE2 vector

destFieldsOnE2

vector<string> (value field) Names of DestFinfos for messages going from e1 to e2. There arematching entries in the srcFieldsOnE1 vector

srcFieldsOnE2

vector<string> (value field) Names of SrcFinfos for messages going from e2 to e1. There arematching entries in the destFieldsOnE1 vector

destFieldsOnE1

vector<string> (value field) Names of destFinfos for messages going from e2 to e1. There arematching entries in the srcFieldsOnE2 vector

adjacent

ObjId,ObjId (lookup field) The element adjacent to the specified element

class Mstring
setThis()

(destination message field) Assigns field value.

getThis()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setValue()

(destination message field) Assigns field value.

getValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

this

string (value field) Access function for entire Mstring object.

value

string (value field) Access function for value field of Mstring object,which happens also to be the entire contents of the object.

class Nernst
getE()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTemperature()

(destination message field) Assigns field value.

getTemperature()

(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.

setCin()

(destination message field) Assigns field value.

getCin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCout()

(destination message field) Assigns field value.

getCout()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setScale()

(destination message field) Assigns field value.

getScale()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

ci()

(destination message field) Set internal conc of ion, and immediately send out the updated E

co()

(destination message field) Set external conc of ion, and immediately send out the updated E

Eout

double (source message field) Computed reversal potential

E

double (value field) Computed reversal potential

Temperature

double (value field) Temperature of cell

valence

int (value field) Valence of ion in Nernst calculation

Cin

double (value field) Internal conc of ion

Cout

double (value field) External conc of ion

scale

double (value field) Voltage scale factor

class NeuroMesh
setCell()

(destination message field) Assigns field value.

getCell()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSubTree()

(destination message field) Assigns field value.

getSubTree()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSeparateSpines()

(destination message field) Assigns field value.

getSeparateSpines()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumSegments()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumDiffCompts()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getParentVoxel()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDiffLength()

(destination message field) Assigns field value.

getDiffLength()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setGeometryPolicy()

(destination message field) Assigns field value.

getGeometryPolicy()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

cellPortion()

(destination message field) Tells NeuroMesh to mesh up a subpart of a cell. For nowassumed contiguous.The first argument is the cell Id. The second is the wildcardpath of compartments to use for the subpart.

spineListOut

Id,vector<Id>,vector<Id>,vector<unsigned int> (source message field) Request SpineMesh to construct self based on list of electrical compartments that this NeuroMesh has determined are spine shaft and spine head respectively. Also passes in the info about where each spine is connected to the NeuroMesh. Arguments: Cell Id, shaft compartment Ids, head compartment Ids,index of matching parent voxels for each spine

psdListOut

Id,vector<double>,vector<unsigned int> (source message field) Tells PsdMesh to build a mesh. Arguments: Cell Id, Coordinates of each psd, index of matching parent voxels for each spineThe coordinates each have 8 entries:xyz of centre of psd, xyz of vector perpendicular to psd, psd diameter, diffusion distance from parent compartment to PSD

cell

Id (value field) Id for base element of cell model. Uses this to traverse theentire tree of the cell to build the mesh.

subTree

vector<Id> (value field) Set of compartments to model. If they happen to be contiguousthen also set up diffusion between the compartments. Can alsohandle cases where the same cell is divided into multiplenon-diffusively-coupled compartments

separateSpines

bool (value field) Flag: when separateSpines is true, the traversal separates any compartment with the strings ‘spine’, ‘head’, ‘shaft’ or ‘neck’ in its name,Allows to set up separate mesh for spines, based on the same cell model. Requires for the spineListOut message tobe sent to the target SpineMesh object.

numSegments

unsigned int (value field) Number of cylindrical/spherical segments in model

numDiffCompts

unsigned int (value field) Number of diffusive compartments in model

parentVoxel

vector<unsigned int> (value field) Vector of indices of parents of each voxel.

diffLength

double (value field) Diffusive length constant to use for subdivisions. The system willattempt to subdivide cell using diffusive compartments ofthe specified diffusion lengths as a maximum.In order to get integral numbersof compartments in each segment, it may subdivide more finely.Uses default of 0.5 microns, that is, half typical lambda.For default, consider a tau of about 1 second for mostreactions, and a diffusion const of about 1e-12 um^2/sec.This gives lambda of 1 micron

geometryPolicy

string (value field) Policy for how to interpret electrical model geometry (which is a branching 1-dimensional tree) in terms of 3-D constructslike spheres, cylinders, and cones.There are three options, default, trousers, and cylinder:default mode: - Use frustrums of cones. Distal diameter is always from compt dia. - For linear dendrites (no branching), proximal diameter is diameter of the parent compartment - For branching dendrites and dendrites emerging from soma, proximal diameter is from compt dia. Don’t worry about overlap. - Place somatic dendrites on surface of spherical soma, or at ends of cylindrical soma - Place dendritic spines on surface of cylindrical dendrites, not emerging from their middle.trousers mode: - Use frustrums of cones. Distal diameter is always from compt dia. - For linear dendrites (no branching), proximal diameter is diameter of the parent compartment - For branching dendrites, use a trouser function. Avoid overlap. - For soma, use some variant of trousers. Here we must avoid overlap - For spines, use a way to smoothly merge into parent dend. Radius of curvature should be similar to that of the spine neck. - Place somatic dendrites on surface of spherical soma, or at ends of cylindrical soma - Place dendritic spines on surface of cylindrical dendrites, not emerging from their middle.cylinder mode: - Use cylinders. Diameter is just compartment dia. - Place somatic dendrites on surface of spherical soma, or at ends of cylindrical soma - Place dendritic spines on surface of cylindrical dendrites, not emerging from their middle. - Ignore spatial overlap.

class Neuron

Neuron - A compartment container

class Neutral

Neutral: Base class for all MOOSE classes. Providesaccess functions for housekeeping fields and operations, messagetraversal, and so on.

parentMsg()

(destination message field) Message from Parent Element(s)

setThis()

(destination message field) Assigns field value.

getThis()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setName()

(destination message field) Assigns field value.

getName()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getMe()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getParent()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getChildren()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getPath()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getClassName()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumData()

(destination message field) Assigns field value.

getNumData()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumField()

(destination message field) Assigns field value.

getNumField()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getValueFields()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSourceFields()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDestFields()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getMsgOut()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getMsgIn()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNeighbors()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getMsgDests()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getMsgDestFunctions()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

childOut

int (source message field) Message to child Elements

this

Neutral (value field) Access function for entire object

name

string (value field) Name of object

me

ObjId (value field) ObjId for current object

parent

ObjId (value field) Parent ObjId for current object

children

vector<Id> (value field) vector of ObjIds listing all children of current object

path

string (value field) text path for object

className

string (value field) Class Name of object

numData

unsigned int (value field) # of Data entries on Element.Note that on a FieldElement this does NOT refer to field entries,but to the number of DataEntries on the parent of the FieldElement.

numField

unsigned int (value field) For a FieldElement: number of entries of self.For a regular Element: One.

valueFields

vector<string> (value field) List of all value fields on Element.These fields are accessed through the assignment operations in the Python interface.These fields may also be accessed as functions through the set<FieldName> and get<FieldName> commands.

sourceFields

vector<string> (value field) List of all source fields on Element, that is fields that can act as message sources.

destFields

vector<string> (value field) List of all destination fields on Element, that is, fieldsthat are accessed as Element functions.

msgOut

vector<ObjId> (value field) Messages going out from this Element

msgIn

vector<ObjId> (value field) Messages coming in to this Element

neighbors

string,vector<Id> (lookup field) Ids of Elements connected this Element on specified field.

msgDests

string,vector<ObjId> (lookup field) ObjIds receiving messages from the specified SrcFinfo

msgDestFunctions

string,vector<string> (lookup field) Matching function names for each ObjId receiving a msg from the specified SrcFinfo

class OneToAllMsg
setI1()

(destination message field) Assigns field value.

getI1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

i1

unsigned int (value field) DataId of source Element.

class OneToOneDataIndexMsg
class OneToOneMsg
class PIDController

PID feedback controller.PID stands for Proportional-Integral-Derivative. It is used to feedback control dynamical systems. It tries to create a feedback output such that the sensed (measured) parameter is held at command value. Refer to wikipedia (http://wikipedia.org) for details on PID Controller.

proc

void (shared message field) This is a shared message to receive Process messages from the scheduler objects.The first entry in the shared msg is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

setGain()

(destination message field) Assigns field value.

getGain()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSaturation()

(destination message field) Assigns field value.

getSaturation()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCommand()

(destination message field) Assigns field value.

getCommand()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSensed()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTauI()

(destination message field) Assigns field value.

getTauI()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTauD()

(destination message field) Assigns field value.

getTauD()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getOutputValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getError()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getIntegral()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getDerivative()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getE_previous()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

commandIn()

(destination message field) Command (desired value) input. This is known as setpoint (SP) in control theory.

sensedIn()

(destination message field) Sensed parameter - this is the one to be tuned. This is known as process variable (PV) in control theory. This comes from the process we are trying to control.

gainDest()

(destination message field) Destination message to control the PIDController gain dynamically.

process()

(destination message field) Handle process calls.

reinit()

(destination message field) Reinitialize the object.

output

double (source message field) Sends the output of the PIDController. This is known as manipulated variable (MV) in control theory. This should be fed into the process which we are trying to control.

gain

double (value field) This is the proportional gain (Kp). This tuning parameter scales the proportional term. Larger gain usually results in faster response, but too much will lead to instability and oscillation.

saturation

double (value field) Bound on the permissible range of output. Defaults to maximum double value.

command

double (value field) The command (desired) value of the sensed parameter. In control theory this is commonly known as setpoint(SP).

sensed

double (value field) Sensed (measured) value. This is commonly known as process variable(PV) in control theory.

tauI

double (value field) The integration time constant, typically = dt. This is actually proportional gain divided by integral gain (Kp/Ki)). Larger Ki (smaller tauI) usually leads to fast elimination of steady state errors at the cost of larger overshoot.

tauD

double (value field) The differentiation time constant, typically = dt / 4. This is derivative gain (Kd) times proportional gain (Kp). Larger Kd (tauD) decreases overshoot at the cost of slowing down transient response and may lead to instability.

outputValue

double (value field) Output of the PIDController. This is given by: gain * ( error + INTEGRAL[ error dt ] / tau_i + tau_d * d(error)/dt )

Where gain = proportional gain (Kp), tau_i = integral gain (Kp/Ki) and tau_d = derivative gain (Kd/Kp). In control theory this is also known as the manipulated variable (MV)

error

double (value field) The error term, which is the difference between command and sensed value.

integral

double (value field) The integral term. It is calculated as INTEGRAL(error dt) = previous_integral + dt * (error + e_previous)/2.

derivative

double (value field) The derivative term. This is (error - e_previous)/dt.

e_previous

double (value field) The error term for previous step.

class Pool
increment()

(destination message field) Increments mol numbers by specified amount. Can be +ve or -ve

decrement()

(destination message field) Decrements mol numbers by specified amount. Can be +ve or -ve

class PoolBase

Abstract base class for pools.

reac

void (shared message field) Connects to reaction

proc

void (shared message field) Shared message for process and reinit

species

void (shared message field) Shared message for connecting to species objects

setN()

(destination message field) Assigns field value.

getN()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNInit()

(destination message field) Assigns field value.

getNInit()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDiffConst()

(destination message field) Assigns field value.

getDiffConst()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMotorConst()

(destination message field) Assigns field value.

getMotorConst()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setConc()

(destination message field) Assigns field value.

getConc()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setConcInit()

(destination message field) Assigns field value.

getConcInit()

(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.

setSpeciesId()

(destination message field) Assigns field value.

getSpeciesId()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

reacDest()

(destination message field) Handles reaction input

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

handleMolWt()

(destination message field) Separate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.

nOut

double (source message field) Sends out # of molecules in pool on each timestep

requestMolWt

void (source message field) Requests Species object for mol wt

n

double (value field) Number of molecules in pool

nInit

double (value field) Initial value of number of molecules in pool

diffConst

double (value field) Diffusion constant of molecule

motorConst

double (value field) Motor transport rate molecule. + is away from soma, - is towards soma. Only relevant for ZombiePool subclasses.

conc

double (value field) Concentration of molecules in this pool

concInit

double (value field) Initial value of molecular concentration in pool

volume

double (value field) Volume of compartment. Units are SI. Utility field, the actual volume info is stored on a volume mesh entry in the parent compartment.This mapping is implicit: the parent compartment must be somewhere up the element tree, and must have matching mesh entries. If the compartment isn’tavailable the volume is just taken as 1

speciesId

unsigned int (value field) Species identifier for this mol pool. Eventually link to ontology.

class PostMaster
proc

void (shared message field) Shared message for process and reinit

getNumNodes()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getMyNode()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setBufferSize()

(destination message field) Assigns field value.

getBufferSize()

(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) Handles reinit call

numNodes

unsigned int (value field) Returns number of nodes that simulation runs on.

myNode

unsigned int (value field) Returns index of current node.

bufferSize

unsigned int (value field) Size of the send a receive buffers for each node.

class PsdMesh
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.

psdList()

(destination message field) Specifies the geometry of the spine,and the associated parent voxelArguments: cell container, disk params vector with 8 entriesper psd, parent voxel index

thickness

double (value field) An assumed thickness for PSD. The volume is computed as thePSD area passed in to each PSD, times this value.defaults to 50 nanometres. For reference, membranes are 5 nm.

class PulseGen

PulseGen: general purpose pulse generator. This can generate any number of pulses with specified level and duration.

proc

void (shared message field) This is a shared message to receive Process messages from the scheduler objects.The first entry in the shared msg is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

getOutputValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setBaseLevel()

(destination message field) Assigns field value.

getBaseLevel()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setFirstLevel()

(destination message field) Assigns field value.

getFirstLevel()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setFirstWidth()

(destination message field) Assigns field value.

getFirstWidth()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setFirstDelay()

(destination message field) Assigns field value.

getFirstDelay()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSecondLevel()

(destination message field) Assigns field value.

getSecondLevel()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSecondWidth()

(destination message field) Assigns field value.

getSecondWidth()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSecondDelay()

(destination message field) Assigns field value.

getSecondDelay()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCount()

(destination message field) Assigns field value.

getCount()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTrigMode()

(destination message field) Assigns field value.

getTrigMode()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setLevel()

(destination message field) Assigns field value.

getLevel()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setWidth()

(destination message field) Assigns field value.

getWidth()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDelay()

(destination message field) Assigns field value.

getDelay()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

input()

(destination message field) Handle incoming input that determines gating/triggering onset.

levelIn()

(destination message field) Handle level value coming from other objects

widthIn()

(destination message field) Handle width value coming from other objects

delayIn()

(destination message field) Handle delay value coming from other objects

process()

(destination message field) Handles process call, updates internal time stamp.

reinit()

(destination message field) Handles reinit call.

output

double (source message field) Current output level.

outputValue

double (value field) Output amplitude

baseLevel

double (value field) Basal level of the stimulus

firstLevel

double (value field) Amplitude of the first pulse in a sequence

firstWidth

double (value field) Width of the first pulse in a sequence

firstDelay

double (value field) Delay to start of the first pulse in a sequence

secondLevel

double (value field) Amplitude of the second pulse in a sequence

secondWidth

double (value field) Width of the second pulse in a sequence

secondDelay

double (value field) Delay to start of of the second pulse in a sequence

count

unsigned int (value field) Number of pulses in a sequence

trigMode

unsigned int (value field) Trigger mode for pulses in the sequence.

0 : free-running mode where it keeps looping its output 1 : external trigger, where it is triggered by an external input (and stops after creating the first train of pulses) 2 : external gate mode, where it keeps generating the pulses in a loop as long as the input is high.

level

unsigned int,double (lookup field) Level of the pulse at specified index

width

unsigned int,double (lookup field) Width of the pulse at specified index

delay

unsigned int,double (lookup field) Delay of the pulse at specified index

class RC

RC circuit: a series resistance R shunted by a capacitance C.

proc

void (shared message field) This is a shared message to receive Process messages from the scheduler objects.The first entry in the shared msg is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt and so on. The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

setV0()

(destination message field) Assigns field value.

getV0()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setR()

(destination message field) Assigns field value.

getR()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setC()

(destination message field) Assigns field value.

getC()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getState()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInject()

(destination message field) Assigns field value.

getInject()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

injectIn()

(destination message field) Receives input to the RC circuit. All incoming messages are summed up to give the total input current.

process()

(destination message field) Handles process call.

reinit()

(destination message field) Handle reinitialization

output

double (source message field) Current output level.

V0

double (value field) Initial value of ‘state’

R

double (value field) Series resistance of the RC circuit.

C

double (value field) Parallel capacitance of the RC circuit.

state

double (value field) Output value of the RC circuit. This is the voltage across the capacitor.

inject

double (value field) Input value to the RC circuit.This is handled as an input current to the circuit.

class Reac
class ReacBase

Base class for reactions. Provides the MOOSE APIfunctions, but ruthlessly refers almost all of them to derivedclasses, which have to provide the man page output.

sub

void (shared message field) Connects to substrate pool

prd

void (shared message field) Connects to substrate pool

proc

void (shared message field) Shared message for process and reinit

setNumKf()

(destination message field) Assigns field value.

getNumKf()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumKb()

(destination message field) Assigns field value.

getNumKb()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setKf()

(destination message field) Assigns field value.

getKf()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setKb()

(destination message field) Assigns field value.

getKb()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumSubstrates()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumProducts()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

subDest()

(destination message field) Handles # of molecules of substrate

prdDest()

(destination message field) Handles # of molecules of product

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

subOut

double,double (source message field) Sends out increment of molecules on product each timestep

prdOut

double,double (source message field) Sends out increment of molecules on product each timestep

numKf

double (value field) Forward rate constant, in # units

numKb

double (value field) Reverse rate constant, in # units

Kf

double (value field) Forward rate constant, in concentration units

Kb

double (value field) Reverse rate constant, in concentration units

numSubstrates

unsigned int (value field) Number of substrates of reaction

numProducts

unsigned int (value field) Number of products of reaction

class Shell
setclock()

(destination message field) Assigns clock ticks. Args: tick#, dt

create()

(destination message field) create( class, parent, newElm, name, numData, isGlobal )

delete()

(destination message field) Destroys Element, all its messages, and all its children. Args: Id

copy()

(destination message field) handleCopy( vector< Id > args, string newName, unsigned int nCopies, bool toGlobal, bool copyExtMsgs ): The vector< Id > has Id orig, Id newParent, Id newElm. This function copies an Element and all its children to a new parent. May also expand out the original into nCopies copies. Normally all messages within the copy tree are also copied. If the flag copyExtMsgs is true, then all msgs going out are also copied.

move()

(destination message field) handleMove( Id orig, Id newParent ): moves an Element to a new parent

addMsg()

(destination message field) Makes a msg. Arguments are: msgtype, src object, src field, dest object, dest field

quit()

(destination message field) Stops simulation running and quits the simulator

useClock()

(destination message field) Deals with assignment of path to a given clock. Arguments: path, field, tick number.

class SingleMsg
setI1()

(destination message field) Assigns field value.

getI1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setI2()

(destination message field) Assigns field value.

getI2()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

i1

unsigned int (value field) Index of source object.

i2

unsigned int (value field) Index of dest object.

class SparseMsg
getNumRows()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumColumns()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumEntries()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setProbability()

(destination message field) Assigns field value.

getProbability()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setSeed()

(destination message field) Assigns field value.

getSeed()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRandomConnectivity()

(destination message field) Assigns connectivity with specified probability and seed

setEntry()

(destination message field) Assigns single row,column value

unsetEntry()

(destination message field) Clears single row,column entry

clear()

(destination message field) Clears out the entire matrix

transpose()

(destination message field) Transposes the sparse matrix

pairFill()

(destination message field) Fills entire matrix using pairs of (x,y) indices to indicate presence of a connection. If the target is a FieldElement itautomagically assigns FieldIndices.

tripletFill()

(destination message field) Fills entire matrix using triplets of (x,y,fieldIndex) to fully specify every connection in the sparse matrix.

numRows

unsigned int (value field) Number of rows in matrix.

numColumns

unsigned int (value field) Number of columns in matrix.

numEntries

unsigned int (value field) Number of Entries in matrix.

probability

double (value field) connection probability for random connectivity.

seed

long (value field) Random number seed for generating probabilistic connectivity.

class Species
pool

void (shared message field) Connects to pools of this Species type

setMolWt()

(destination message field) Assigns field value.

getMolWt()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

handleMolWtRequest()

(destination message field) Handle requests for molWt.

molWtOut

double (source message field) returns molWt.

molWt

double (value field) Molecular weight of species

class SpikeGen

SpikeGen object, for detecting threshold crossings.The threshold detection can work in multiple modes.

If the refractT < 0.0, then it fires an event only at the rising edge of the input voltage waveform
proc

void (shared message field) Shared message to receive Process message from scheduler

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

Vm()

(destination message field) Handles Vm message coming in from compartment

setThreshold()

(destination message field) Assigns field value.

getThreshold()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setRefractT()

(destination message field) Assigns field value.

getRefractT()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setAbs_refract()

(destination message field) Assigns field value.

getAbs_refract()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getHasFired()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setEdgeTriggered()

(destination message field) Assigns field value.

getEdgeTriggered()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

spikeOut

double (source message field) Sends out a trigger for an event.

threshold

double (value field) Spiking threshold, must cross it going up

refractT

double (value field) Refractory Time.

abs_refract

double (value field) Absolute refractory time. Synonym for refractT.

hasFired

bool (value field) True if SpikeGen has just fired

edgeTriggered

bool (value field) When edgeTriggered = 0, the SpikeGen will fire an event in each timestep while incoming Vm is > threshold and at least abs_refracttime has passed since last event. This may be problematic if the incoming Vm remains above threshold for longer than abs_refract. Setting edgeTriggered to 1 resolves this as the SpikeGen generatesan event only on the rising edge of the incoming Vm and will remain idle unless the incoming Vm goes below threshold.

class SpineMesh
getParentVoxel()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

spineList()

(destination message field) Specifies the list of electrical compartments for the spine,and the associated parent voxelArguments: cell container, shaft compartments, head compartments, parent voxel index

parentVoxel

vector<unsigned int> (value field) Vector of indices of proximal voxels within this mesh.Spines are at present modeled with just one compartment,so each entry in this vector is always set to EMPTY == -1U

class Stats
proc

void (shared message field) Shared message for process and reinit

getMean()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSdev()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSum()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNum()

(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) Handles reinit call

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

mean

double (value field) Mean of all sampled values.

sdev

double (value field) Standard Deviation of all sampled values.

sum

double (value field) Sum of all sampled values.

num

unsigned int (value field) Number of all sampled values.

class SteadyState

SteadyState: works out a steady-state value for a reaction system. It uses GSL heavily, and isn’t even compiled if the flag isn’t set. It finds the ss value closest to the initial conditions, defined by current molecular concentrations.If you want to find multiple stable states, use the MultiStable object,which operates a SteadyState object to find multiple states.If you want to carry out a dose-response calculation, use the DoseResponse object.If you want to follow a stable state in phase space, use the StateTrajectory object.

setStoich()

(destination message field) Assigns field value.

getStoich()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getBadStoichiometry()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getIsInitialized()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNIter()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getStatus()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMaxIter()

(destination message field) Assigns field value.

getMaxIter()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setConvergenceCriterion()

(destination message field) Assigns field value.

getConvergenceCriterion()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumVarPools()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getRank()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getStateType()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNNegEigenvalues()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNPosEigenvalues()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSolutionStatus()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTotal()

(destination message field) Assigns field value.

getTotal()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getEigenvalues()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setupMatrix()

(destination message field) This function initializes and rebuilds the matrices used in the calculation.

settle()

(destination message field) Finds the nearest steady state to the current initial conditions. This function rebuilds the entire calculation only if the object has not yet been initialized.

resettle()

(destination message field) Finds the nearest steady state to the current initial conditions. This function rebuilds the entire calculation

showMatrices()

(destination message field) Utility function to show the matrices derived for the calculations on the reaction system. Shows the Nr, gamma, and total matrices

randomInit()

(destination message field) Generate random initial conditions consistent with the massconservation rules. Typically invoked in order to scanstates

stoich

Id (value field) Specify the Id of the stoichiometry system to use

badStoichiometry

bool (value field) Bool: True if there is a problem with the stoichiometry

isInitialized

bool (value field) True if the model has been initialized successfully

nIter

unsigned int (value field) Number of iterations done by steady state solver

status

string (value field) Status of solver

maxIter

unsigned int (value field) Max permissible number of iterations to try before giving up

convergenceCriterion

double (value field) Fractional accuracy required to accept convergence

numVarPools

unsigned int (value field) Number of variable molecules in reaction system.

rank

unsigned int (value field) Number of independent molecules in reaction system

stateType

unsigned int (value field) 0: stable; 1: unstable; 2: saddle; 3: osc?; 4: one near-zero eigenvalue; 5: other

nNegEigenvalues

unsigned int (value field) Number of negative eigenvalues: indicates type of solution

nPosEigenvalues

unsigned int (value field) Number of positive eigenvalues: indicates type of solution

solutionStatus

unsigned int (value field) 0: Good; 1: Failed to find steady states; 2: Failed to find eigenvalues

total

unsigned int,double (lookup field) Totals table for conservation laws. The exact mapping ofthis to various sums of molecules is given by the conservation matrix, and is currently a bit opaque.The value of ‘total’ is set to initial conditions whenthe ‘SteadyState::settle’ function is called.Assigning values to the total is a special operation:it rescales the concentrations of all the affectedmolecules so that they are at the specified total.This happens the next time ‘settle’ is called.

eigenvalues

unsigned int,double (lookup field) Eigenvalues computed for steady state

class StimulusTable
proc

void (shared message field) Shared message for process and reinit

setStartTime()

(destination message field) Assigns field value.

getStartTime()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setStopTime()

(destination message field) Assigns field value.

getStopTime()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setLoopTime()

(destination message field) Assigns field value.

getLoopTime()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setStepSize()

(destination message field) Assigns field value.

getStepSize()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setStepPosition()

(destination message field) Assigns field value.

getStepPosition()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDoLoop()

(destination message field) Assigns field value.

getDoLoop()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

process()

(destination message field) Handles process call, updates internal time stamp.

reinit()

(destination message field) Handles reinit call.

output

double (source message field) Sends out tabulated data according to lookup parameters.

startTime

double (value field) Start time used when table is emitting values. For lookupvalues below this, the table just sends out its zero entry.Corresponds to zeroth entry of table.

stopTime

double (value field) Time to stop emitting values.If time exceeds this, then the table sends out its last entry.The stopTime corresponds to the last entry of table.

loopTime

double (value field) If looping, this is the time between successive cycle starts.Defaults to the difference between stopTime and startTime, so that the output waveform cycles with precisely the same duration as the table contents.If larger than stopTime - startTime, then it pauses at the last table value till it is time to go around again.If smaller than stopTime - startTime, then it begins the next cycle even before the first one has reached the end of the table.

stepSize

double (value field) Increment in lookup (x) value on every timestep. If it isless than or equal to zero, the StimulusTable uses the current timeas the lookup value.

stepPosition

double (value field) Current value of lookup (x) value.If stepSize is less than or equal to zero, this is set tothe current time to use as the lookup value.

doLoop

bool (value field) Flag: Should it loop around to startTime once it has reachedstopTime. Default (zero) is to do a single pass.

class Stoich
setPath()

(destination message field) Assigns field value.

getPath()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setKsolve()

(destination message field) Assigns field value.

getKsolve()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDsolve()

(destination message field) Assigns field value.

getDsolve()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCompartment()

(destination message field) Assigns field value.

getCompartment()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getEstimatedDt()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumVarPools()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumAllPools()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getPoolIdMap()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getNumRates()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getMatrixEntry()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getColumnIndex()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getRowStart()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

unzombify()

(destination message field) Restore all zombies to their native state

path

string (value field) Wildcard path for reaction system handled by Stoich

ksolve

Id (value field) Id of Kinetic reaction solver class that works with this Stoich. Must be of class Ksolve, or Gsolve (at present) Must be assigned before the path is set.

dsolve

Id (value field) Id of Diffusion solver class that works with this Stoich. Must be of class Dsolve If left unset then the system will be assumed to work in a non-diffusive, well-stirred cell. If it is going to be used it must be assigned before the path is set.

compartment

Id (value field) Id of chemical compartment class that works with this Stoich. Must be derived from class ChemCompt. If left unset then the system will be assumed to work in a non-diffusive, well-stirred cell. If it is going to be used it must be assigned before the path is set.

estimatedDt

double (value field) Estimated timestep for reac system based on Euler error

numVarPools

unsigned int (value field) Number of time-varying pools to be computed by the numerical engine

numAllPools

unsigned int (value field) Total number of pools handled by the numerical engine. This includes variable ones, buffered ones, and functions

poolIdMap

vector<unsigned int> (value field) Map to look up the index of the pool from its Id.poolIndex = poolIdMap[ Id::value() - poolOffset ] where the poolOffset is the smallest Id::value. poolOffset is passed back as the last entry of this vector. Any Ids that are not pools return EMPTY=~0.

numRates

unsigned int (value field) Total number of rate terms in the reaction system.

matrixEntry

vector<int> (value field) The non-zero matrix entries in the sparse matrix. Theircolumn indices are in a separate vector and the rowinformatino in a third

columnIndex

vector<unsigned int> (value field) Column Index of each matrix entry

rowStart

vector<unsigned int> (value field) Row start for each block of entries and column indices

class SumFunc

SumFunc object. Adds up all inputs

class SymCompartment

SymCompartment object, for branching neuron models. In symmetric

compartments the axial resistance is equally divided on two sides of

you must use a fixed-width font like Courier for correct rendition of the diagrams below.]

Ra/2 B Ra/2

A-///_____///– C


____|____

/ Rm

—- Cm

—- /

_____
— Em

|_________|


__|__

In case of branching, the B-C part of the parent’s axial resistance

forms a Y with the A-B part of the children.

B’


/

/

/

|A’

B |

A—–///—–///——|C


|A”

/

/

/


B”

As per basic circuit analysis techniques, the C node is replaced using

star-mesh transform. This requires all sibling compartments at a

branch point to be connected via ‘sibling’ messages by the user (or

by the cell reader in case of prototypes). For the same reason, the

child compartment must be connected to the parent by

distal-proximal message pair. The calculation of the

coefficient for computing equivalent resistances in the mesh is done

at reinit.

proximal

void (shared message field) This is a shared message between symmetric compartments.

It goes from the proximal end of the current compartment to distal end of the compartment closer to the soma.

distal

void (shared message field) This is a shared message between symmetric compartments.

It goes from the distal end of the current compartment to the
proximal end of one further from the soma.

The Ra values collected from children and sibling nodes are used for computing the equivalent resistance between each pair of nodes using star-mesh transformation. Mathematically this is the same as the proximal message, but the distinction is important for traversal and clarity.

sibling

void (shared message field) This is a shared message between symmetric compartments.

Conceptually, this goes from the proximal end of the current compartment to the proximal end of a sibling compartment on a branch in a dendrite. However, this works out to the same as a ‘distal’ message in terms of equivalent circuit. The Ra values collected from siblings and parent node are used for computing the equivalent resistance between each pair of nodes using star-mesh transformation.

sphere

void (shared message field) This is a shared message between a spherical compartment

(typically soma) and a number of evenly spaced cylindrical compartments, typically primary dendrites. The sphere contributes the usual Ra/2 to the resistance between itself and children. The child compartments do not connect across to each other through sibling messages. Instead they just connect to the soma through the ‘proximalOnly’ message

cylinder

void (shared message field) This is a shared message between a cylindrical compartment

(typically a dendrite) and a number of evenly spaced child compartments, typically dendritic spines, protruding from the curved surface of the cylinder. We assume that the resistance from the cylinder curved surface to its axis is negligible. The child compartments do not need to connect across to each other through sibling messages. Instead they just connect to the parent dendrite through the ‘proximalOnly’ message

proximalOnly

void (shared message field) This is a shared message between a dendrite and a parent

compartment whose offspring are spatially separated from each other. For example, evenly spaced dendrites emerging from a soma or spines emerging from a common parent dendrite. In these cases the sibling dendrites do not need to connect to each other through ‘sibling’ messages. Instead they just connect to the parent compartment (soma or dendrite) through this message

raxialSym()

(destination message field) Expects Ra and Vm from other compartment.

sumRaxial()

(destination message field) Expects Ra from other compartment.

raxialSym()

(destination message field) Expects Ra and Vm from other compartment.

sumRaxial()

(destination message field) Expects Ra from other compartment.

raxialSym()

(destination message field) Expects Ra and Vm from other compartment.

sumRaxial()

(destination message field) Expects Ra from other compartment.

raxialSphere()

(destination message field) Expects Ra and Vm from other compartment. This is a special case when

other compartments are evenly distributed on a spherical compartment.

raxialCylinder()

(destination message field) Expects Ra and Vm from other compartment. This is a special case when

other compartments are evenly distributed on the curved surface of the cylindrical compartment, so we assume that the cylinder does not add any further resistance.

raxialSphere()

(destination message field) Expects Ra and Vm from other compartment. This is a special case when

other compartments are evenly distributed on a spherical compartment.

proximalOut

double,double (source message field) Sends out Ra and Vm on each timestep, on the proximalend of a compartment. That is, this end should be pointed toward the soma. Mathematically the same as raxialOutbut provides a logical orientation of the dendrite.One can traverse proximalOut messages to get to the soma.

sumRaxialOut

double (source message field) Sends out Ra

distalOut

double,double (source message field) Sends out Ra and Vm on each timestep, on the distal endof a compartment. This end should be pointed away from thesoma. Mathematically the same as proximalOut, but givesan orientation to the dendrite and helps traversal.

sumRaxialOut

double (source message field) Sends out Ra

distalOut

double,double (source message field) Sends out Ra and Vm on each timestep, on the distal endof a compartment. This end should be pointed away from thesoma. Mathematically the same as proximalOut, but givesan orientation to the dendrite and helps traversal.

sumRaxialOut

double (source message field) Sends out Ra

distalOut

double,double (source message field) Sends out Ra and Vm on each timestep, on the distal endof a compartment. This end should be pointed away from thesoma. Mathematically the same as proximalOut, but givesan orientation to the dendrite and helps traversal.

cylinderOut

double,double (source message field) Sends out Ra and Vm to compartments (typically spines) on thecurved surface of a cylinder. Ra is set to nearly zero,since we assume that the resistance from axis to surface isnegligible.

proximalOut

double,double (source message field) Sends out Ra and Vm on each timestep, on the proximalend of a compartment. That is, this end should be pointed toward the soma. Mathematically the same as raxialOutbut provides a logical orientation of the dendrite.One can traverse proximalOut messages to get to the soma.

class SynChan
proc

void (shared message field) Shared message to receive Process message from scheduler

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

setTau1()

(destination message field) Assigns field value.

getTau1()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTau2()

(destination message field) Assigns field value.

getTau2()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNormalizeWeights()

(destination message field) Assigns field value.

getNormalizeWeights()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

activation()

(destination message field) Sometimes we want to continuously activate the channel

modulator()

(destination message field) Modulate channel response

tau1

double (value field) Decay time constant for the synaptic conductance, tau1 >= tau2.

tau2

double (value field) Rise time constant for the synaptic conductance, tau1 >= tau2.

normalizeWeights

bool (value field) Flag. If true, the overall conductance is normalized by the number of individual synapses in this SynChan object.

class SynChanBase

SynChanBase: Base class for assorted ion channels.Presents a common interface for all of them.

channel

void (shared message field) This is a shared message to couple channel to compartment. The first entry is a MsgSrc to send Gk and Ek to the compartment The second entry is a MsgDest for Vm from the compartment.

ghk

void (shared message field) Message to Goldman-Hodgkin-Katz object

Vm()

(destination message field) Handles Vm message coming in from compartment

Vm()

(destination message field) Handles Vm message coming in from compartment

setGbar()

(destination message field) Assigns field value.

getGbar()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setEk()

(destination message field) Assigns field value.

getEk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setGk()

(destination message field) Assigns field value.

getGk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getIk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setBufferTime()

(destination message field) Assigns field value.

getBufferTime()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

channelOut

double,double (source message field) Sends channel variables Gk and Ek to compartment

permeabilityOut

double (source message field) Conductance term going out to GHK object

IkOut

double (source message field) Channel current. This message typically goes to concenobjects that keep track of ion concentration.

Gbar

double (value field) Maximal channel conductance

Ek

double (value field) Reversal potential of channel

Gk

double (value field) Channel conductance variable

Ik

double (value field) Channel current variable

bufferTime

double (value field) Duration of spike buffer.

class SynHandler
setNumSynapses()

(destination message field) Assigns field value.

getNumSynapses()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setNumSynapse()

(destination message field) Assigns number of field entries in field array.

getNumSynapse()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

numSynapses

unsigned int (value field) Number of synapses on SynHandler. Duplicate field for num_synapse

class Synapse

Synapse using ring buffer for events.

setWeight()

(destination message field) Assigns field value.

getWeight()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setDelay()

(destination message field) Assigns field value.

getDelay()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

addSpike()

(destination message field) Handles arriving spike messages, inserts into event queue.

weight

double (value field) Synaptic weight

delay

double (value field) Axonal propagation delay to this synapse

class Table
proc

void (shared message field) Shared message for process and reinit

setThreshold()

(destination message field) Assigns field value.

getThreshold()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

input()

(destination message field) Fills data into table. Also handles data sent back following request

spike()

(destination message field) Fills spike timings into the Table. Signal has to exceed thresh

process()

(destination message field) Handles process call, updates internal time stamp.

reinit()

(destination message field) Handles reinit call.

requestOut

Pd (source message field) Sends request for a field to target object

threshold

double (value field) threshold used when Table acts as a buffer for spikes

class TableBase
setVector()

(destination message field) Assigns field value.

getVector()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getOutputValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSize()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getY()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

linearTransform()

(destination message field) Linearly scales and offsets data. Scale first, then offset.

xplot()

(destination message field) Dumps table contents to xplot-format file. Argument 1 is filename, argument 2 is plotname

plainPlot()

(destination message field) Dumps table contents to single-column ascii file. Uses scientific notation. Argument 1 is filename

loadCSV()

(destination message field) Reads a single column from a CSV file. Arguments: filename, column#, starting row#, separator

loadXplot()

(destination message field) Reads a single plot from an xplot file. Arguments: filename, plotnameWhen the file has 2 columns, the 2nd column is loaded.

loadXplotRange()

(destination message field) Reads a single plot from an xplot file, and selects a subset of points from it. Arguments: filename, plotname, startindex, endindexUses C convention: startindex included, endindex not included.When the file has 2 columns, the 2nd column is loaded.

compareXplot()

(destination message field) Reads a plot from an xplot file and compares with contents of TableBase.Result is put in ‘output’ field of table.If the comparison fails (e.g., due to zero entries), the return value is -1.Arguments: filename, plotname, comparison_operationOperations: rmsd (for RMSDifference), rmsr (RMSratio ), dotp (Dot product, not yet implemented).

compareVec()

(destination message field) Compares contents of TableBase with a vector of doubles.Result is put in ‘output’ field of table.If the comparison fails (e.g., due to zero entries), the return value is -1.Arguments: Other vector, comparison_operationOperations: rmsd (for RMSDifference), rmsr (RMSratio ), dotp (Dot product, not yet implemented).

clearVec()

(destination message field) Handles request to clear the data vector

vector

vector<double> (value field) vector with all table entries

outputValue

double (value field) Output value holding current table entry or output of a calculation

size

unsigned int (value field) size of table. Note that this is the number of x divisions +1since it must represent the largest value as well as thesmallest

y

unsigned int,double (lookup field) Value of table at specified index

class TimeTable

TimeTable: Read in spike times from file and send out eventOut messages

at the specified times.

proc

void (shared message field) Shared message for process and reinit

setFilename()

(destination message field) Assigns field value.

getFilename()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMethod()

(destination message field) Assigns field value.

getMethod()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getState()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

process()

(destination message field) Handle process call

reinit()

(destination message field) Handles reinit call

eventOut

double (source message field) Sends out spike time if it falls in current timestep.

filename

string (value field) File to read lookup data from. The file should be contain two columns

separated by any space character.

method

int (value field) Method to use for filling up the entries. Currently only method 4

(loading from file) is supported.

state

double (value field) Current state of the time table.

class Unsigned

Variable for storing values.

setValue()

(destination message field) Assigns field value.

getValue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

value

unsigned long (value field) Variable value

class VClamp

Voltage clamp object for holding neuronal compartments at a specific voltage. This implementation uses a builtin RC circuit to filter the

command input and then use a PID to bring the sensed voltage (Vm from

compartment) to the filtered command potential.

Connect the currentOut source of VClamp to injectMsg

dest of Compartment. Connect the VmOut source of Compartment to

set_sensed dest of VClamp. Either set command field to a

fixed value, or connect an appropriate source of command potential

(like the outputOut message of an appropriately configured

PulseGen) to set_command dest.

The default settings for the RC filter and PID controller should be

time constant of RC filter, tau = 5 * dt

proportional gain of PID, gain = Cm/dt where Cm is the membrane

capacitance of the compartment

integration time of PID, ti = dt

derivative time of PID, td = 0

proc

void (shared message field) Shared message to receive Process messages from the scheduler

getCommand()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getCurrent()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getSensed()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setMode()

(destination message field) Assigns field value.

getMode()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTi()

(destination message field) Assigns field value.

getTi()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTd()

(destination message field) Assigns field value.

getTd()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTau()

(destination message field) Assigns field value.

getTau()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setGain()

(destination message field) Assigns field value.

getGain()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

sensedIn()

(destination message field) The VmOut message of the Compartment object should be connected

here.

commandIn()

(destination message field) The command voltage source should be connected to this.

process()

(destination message field) Handles ‘process’ call on each time step.

reinit()

(destination message field) Handles ‘reinit’ call

currentOut

double (source message field) Sends out current output of the clamping circuit. This should be connected to the injectMsg field of a compartment to voltage clamp it.

command

double (value field) Command input received by the clamp circuit.

current

double (value field) The amount of current injected by the clamp into the membrane.

sensed

double (value field) Membrane potential read from compartment.

mode

unsigned int (value field) Working mode of the PID controller.

mode = 0, standard PID with proportional, integral and derivative
all acting on the error.

mode = 1, derivative action based on command input mode = 2, proportional action and derivative action are based on command input.

ti

double (value field) Integration time of the PID controller. Defaults to 1e9, i.e. integral

action is negligibly small.

td

double (value field) Derivative time of the PID controller. This defaults to 0,

i.e. derivative action is unused.

tau

double (value field) Time constant of the lowpass filter at input of the PID

controller. This smooths out abrupt changes in the input. Set it to 5 * dt or more to avoid overshoots.

gain

double (value field) Proportional gain of the PID controller.

class VectorTable
setXdivs()

(destination message field) Assigns field value.

getXdivs()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXmin()

(destination message field) Assigns field value.

getXmin()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXmax()

(destination message field) Assigns field value.

getXmax()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getInvdx()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTable()

(destination message field) Assigns field value.

getTable()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getLookupvalue()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getLookupindex()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

xdivs

unsigned int (value field) Number of divisions.

xmin

double (value field) Minimum value in table.

xmax

double (value field) Maximum value in table.

invdx

double (value field) Maximum value in table.

table

vector<double> (value field) The lookup table.

lookupvalue

double,double (lookup field) Lookup function that performs interpolation to return a value.

lookupindex

unsigned int,double (lookup field) Lookup function that returns value by index.

class ZombieBufPool
class ZombieCaConc
proc

void (shared message field) Shared message to receive Process message from scheduler

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

setCa()

(destination message field) Assigns field value.

getCa()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCaBasal()

(destination message field) Assigns field value.

getCaBasal()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCa_base()

(destination message field) Assigns field value.

getCa_base()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setTau()

(destination message field) Assigns field value.

getTau()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setB()

(destination message field) Assigns field value.

getB()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setThick()

(destination message field) Assigns field value.

getThick()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setCeiling()

(destination message field) Assigns field value.

getCeiling()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setFloor()

(destination message field) Assigns field value.

getFloor()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

current()

(destination message field) Calcium Ion current, due to be converted to conc.

currentFraction()

(destination message field) Fraction of total Ion current, that is carried by Ca2+.

increase()

(destination message field) Any input current that increases the concentration.

decrease()

(destination message field) Any input current that decreases the concentration.

basal()

(destination message field) Synonym for assignment of basal conc.

concOut

double (source message field) Concentration of Ca in pool

Ca

double (value field) Calcium concentration.

CaBasal

double (value field) Basal Calcium concentration.

Ca_base

double (value field) Basal Calcium concentration, synonym for CaBasal

tau

double (value field) Settling time for Ca concentration

B

double (value field) Volume scaling factor

thick

double (value field) Thickness of Ca shell.

ceiling

double (value field) Ceiling value for Ca concentration. If Ca > ceiling, Ca = ceiling. If ceiling <= 0.0, there is no upper limit on Ca concentration value.

floor

double (value field) Floor value for Ca concentration. If Ca < floor, Ca = floor

class ZombieCompartment

Compartment object, for branching neuron models.

class ZombieEnz
class ZombieFuncPool
input()

(destination message field) Handles input to control value of n_

class ZombieHHChannel
proc

void (shared message field) This is a shared message to receive Process message from thescheduler. The first entry is a MsgDest for the Process operation. It has a single argument, ProcInfo, which holds lots of information about current time, thread, dt andso on.

The second entry is a MsgDest for the Reinit operation. It also uses ProcInfo.

process()

(destination message field) Handles process call

reinit()

(destination message field) Handles reinit call

setGbar()

(destination message field) Assigns field value.

getGbar()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setEk()

(destination message field) Assigns field value.

getEk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setGk()

(destination message field) Assigns field value.

getGk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

getIk()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setXpower()

(destination message field) Assigns field value.

getXpower()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setYpower()

(destination message field) Assigns field value.

getYpower()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZpower()

(destination message field) Assigns field value.

getZpower()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setInstant()

(destination message field) Assigns field value.

getInstant()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setX()

(destination message field) Assigns field value.

getX()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setY()

(destination message field) Assigns field value.

getY()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setZ()

(destination message field) Assigns field value.

getZ()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

setUseConcentration()

(destination message field) Assigns field value.

getUseConcentration()

(destination message field) Requests field value. The requesting Element must provide a handler for the returned value.

concen()

(destination message field) Incoming message from Concen object to specific conc to usein the Z gate calculations

createGate()

(destination message field) Function to create specified gate.Argument: Gate type [X Y Z]

setNumGateX()

(destination message field) Assigns number of field entries in field array.

getNumGateX()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

setNumGateY()

(destination message field) Assigns number of field entries in field array.

getNumGateY()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

setNumGateZ()

(destination message field) Assigns number of field entries in field array.

getNumGateZ()

(destination message field) Requests number of field entries in field array.The requesting Element must provide a handler for the returned value.

Gbar

double (value field) Maximal channel conductance

Ek

double (value field) Reversal potential of channel

Gk

double (value field) Channel conductance variable

Ik

double (value field) Channel current variable

Xpower

double (value field) Power for X gate

Ypower

double (value field) Power for Y gate

Zpower

double (value field) Power for Z gate

instant

int (value field) Bitmapped flag: bit 0 = Xgate, bit 1 = Ygate, bit 2 = ZgateWhen true, specifies that the lookup table value should beused directly as the state of the channel, rather than usedas a rate term for numerical integration for the state

X

double (value field) State variable for X gate

Y

double (value field) State variable for Y gate

Z

double (value field) State variable for Y gate

useConcentration

int (value field) Flag: when true, use concentration message rather than Vm tocontrol Z gate

class ZombieMMenz
class ZombiePool
class ZombieReac
class testSched
process()

(destination message field) handles process call

Previous topic

MOOSE Builtins

This Page