Documentation for all MOOSE classes and functions

As visible in the Python module

Auto-generated on January 07, 2013

Index for MOOSE Classes

AEnzInterpol2DNMDAChanSpeciesVectorTable
AdaptorEnzBaseIntFireOSpherePanelZ
AnnotatorFIzhikevichNrnOneToAllMsgSpikeGenZBufPool
ArithFinfoLOneToOneMsgStatsZEnz
BFuncBaseLeakyIaFPStimulusTableZFuncPool
BoundaryFuncPoolMPanelStoichZMMenz
BufPoolGMarkovChannelPIDControllerStoichCoreZombieBufPool
CGeometryMarkovGslSolverPoolStoichPoolsZombieCaConc
CaConcGHKMarkovRateTablePoolBaseSumFuncZombieCompartment
ChanBaseGroupMarkovSolverPortSurfaceZombieEnz
ChemMeshGslIntegratorMarkovSolverBasePulseGenSymCompartmentZombieFuncPool
CinfoGslStoichMathFuncRSynapseZombieHHChannel
ClockGssaStoichMdoubleRCSynBaseZombieMMenz
CompartmentHMeshEntryReacSynChanZombiePool
CplxEnzBaseHDF5DataWriterMgBlockReacBaseSynChanBaseZombieReac
CubeMeshHDF5WriterBaseMMenzRectPanelTZombieSumFunc
CylMeshHemispherePanelMsgReduceMsgTableZPool
CylPanelHHChannelMstringSTableBaseZReac
DHHChannel2DNShellTableEntry
DiagonalMsgHHGateNernstSimManagertestSched
DiffAmpHHGate2DNeuroMeshSingleMsgTick
DiskPanelHSolveNeuronSolverJunctionTriPanel
EINeutralSparseMsgV

Index for MOOSE Functions

CelementgetmoosedocmovesaveModelstop
ceexistsIPseedsyncDataHandler
connectGisRunningpwesetClockU
copygetCweLQsetCweuseClock
DgetFieldlequitshowfieldW
deletegetFieldDictlistmsgRshowfieldswildcardFind
docgetfielddocloadModelreinitshowmsgwriteSBML
EgetFieldNamesMSstart

MOOSE Classes

Adaptor

Author: Upinder S. Bhalla, 2008, NCBS

Description: Averages and rescales values to couple different kinds of simulation

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
inputOffsetdoubleOffset to apply to input message, before scaling
outputOffsetdoubleOffset to apply at output, after scaling
scaledoubleScaling factor to apply to input
outputdoubleThis is the linearly transformed output.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputSrcdoubleSends the output value every timestep.
requestInputvoidSends out the request. Issued from the process call.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
inputdoubleInput message to the adaptor. If multiple inputs are received, the system averages the inputs.
processvoidHandles 'process' call
reinitvoidHandles 'reinit' call
handleInputdoubleHandle the returned value.

Shared message fields

FieldTypeDescription
procvoidThis is a shared message to receive Process message from the scheduler.
inputRequestvoidThis is a shared message to request and handle value messages from fields.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Annotator

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
xdoublex field. Typically display coordinate x
ydoubley field. Typically display coordinate y
zdoublez field. Typically display coordinate z
notesstringA string to hold some text notes about parent object
colorstringA string to hold a text string specifying display color.Can be a regular English color name, or an rgb code rrrgggbbb
textColorstringA 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
iconstringA string to specify icon to use for display

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Arith

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
functionstringArithmetic function to perform on inputs.
outputValuedoubleValue of output as computed last timestep.
arg1ValuedoubleValue of arg1 as computed last timestep.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputdoubleSends out the computed value

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
arg1doubleHandles argument 1. This just assigns it
arg2doubleHandles argument 2. This just assigns it
arg3doubleHandles argument 3. This sums in each input, and clears each clock tick.
arg1x2double,doubleStore the product of the two arguments in output_
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
anyValueunsigned int,doubleValue of any of the internal fields, output, arg1, arg2, arg3,as specified by the index argument from 0 to 3.

Boundary

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
reflectivitydoubleWhat happens to a molecule hitting it: bounces, absorbed, diffused?

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toAdjacentvoidDummy message going to adjacent compartment.
toInsidevoidDummy message going to surrounded compartment.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
adjacentvoidDummy message coming from adjacent compartment to current oneImplies that compts are peers: do not surround each other
outsidevoidDummy message coming from surrounding compartment to this one.Implies that the originating compartment surrounds this one

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

BufPool

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes
incrementdoubleIncrements mol numbers by specified amount. Can be +ve or -ve
decrementdoubleDecrements mol numbers by specified amount. Can be +ve or -ve
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

CaConc

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
CadoubleCalcium concentration.
CaBasaldoubleBasal Calcium concentration.
Ca_basedoubleBasal Calcium concentration, synonym for CaBasal
taudoubleSettling time for Ca concentration
BdoubleVolume scaling factor
thickdoubleThickness of Ca shell.
ceilingdoubleCeiling value for Ca concentration. If Ca > ceiling, Ca = ceiling. If ceiling <= 0.0, there is no upper limit on Ca concentration value.
floordoubleFloor value for Ca concentration. If Ca < floor, Ca = floor

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
concOutdoubleConcentration of Ca in pool

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
processvoidHandles process call
reinitvoidHandles reinit call
currentdoubleCalcium Ion current, due to be converted to conc.
currentFractiondouble,doubleFraction of total Ion current, that is carried by Ca2+.
increasedoubleAny input current that increases the concentration.
decreasedoubleAny input current that decreases the concentration.
basaldoubleSynonym for assignment of basal conc.

Shared message fields

FieldTypeDescription
procvoidShared message to receive Process message from scheduler

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ChanBase

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
GbardoubleMaximal channel conductance
EkdoubleReversal potential of channel
GkdoubleChannel conductance variable
IkdoubleChannel current variable

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
permeabilitydoubleConductance term going out to GHK object
IkOutdoubleChannel current. This message typically goes to concenobjects that keep track of ion concentration.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
VmdoubleHandles Vm message coming in from compartment
VmdoubleHandles Vm message coming in from compartment

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage to Goldman-Hodgkin-Katz object

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ChemMesh

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
sizedoubleSize of entire chemical domain.Assigning this assumes that the geometry is that of the default mesh, which may not be what you want. If so, usea more specific mesh assignment function.
numDimensionsunsigned intNumber of spatial dimensions of this compartment. Usually 3 or 2

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
meshSplitdouble,vector<double>,vector<unsigned int>,vector< vector<unsigned int> >,vector< vector<unsigned int> >Defines how meshEntries communicate between nodes.Args: oldVol, volListOfAllEntries, localEntryList, outgoingDiffusion[node#][entry#], incomingDiffusion[node#][entry#]This message is meant to go to the SimManager and Stoich.
meshStatsunsigned int,vector<double>Basic statistics for mesh: Total # of entries, and a vector ofunique volumes of voxels

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
buildDefaultMeshdouble,unsigned intTells ChemMesh derived class to build a default mesh with thespecified size and number of meshEntries.
handleRequestMeshStatsvoidHandles request from SimManager for mesh stats
handleNodeInfounsigned int,unsigned intTells ChemMesh how many nodes and threads per node it is allowed to use. Triggers a return meshSplit message.

Shared message fields

FieldTypeDescription
nodeMeshingvoidConnects to SimManager to coordinate meshing with paralleldecomposition and with the Stoich

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Cinfo

Author: Upi Bhalla

Description: Class information object.

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
docsstringDocumentation
baseClassstringName of base class

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Clock

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
runTimedoubleDuration to run the simulation
currentTimedoubleCurrent simulation time
nstepsunsigned intNumber of steps to advance the simulation, in units of the smallest timestep on the clock ticks
numTicksunsigned intNumber of clock ticks
currentStepunsigned intCurrent simulation step
dtsvector<double>Utility function returning the dt (timestep) of all ticks.
isRunningboolUtility function to report if simulation is in progress.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
childTickvoidParent of Tick element
finishedvoidSignal for completion of run
ackunsigned int,unsigned intAcknowledgement signal for receipt/completion of function.Goes back to Shell on master node

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
startdoubleSets off the simulation for the specified duration
stepunsigned intSets off the simulation for the specified # of steps
stopvoidHalts the simulation, with option to restart seamlessly
setupTickunsigned int,doubleSets up a specific clock tick: args tick#, dt
reinitvoidZeroes out all ticks, starts at t = 0

Shared message fields

FieldTypeDescription
clockControlvoidControls all scheduling aspects of Clock, usually from Shell

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Compartment

Author: Upi Bhalla

Description: Compartment object, for branching neuron models.

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
Vmdoublemembrane potential
CmdoubleMembrane capacitance
EmdoubleResting membrane potential
ImdoubleCurrent going through membrane
injectdoubleCurrent injection to deliver into compartment
initVmdoubleInitial value for membrane potential
RmdoubleMembrane resistance
RadoubleAxial resistance of compartment
diameterdoubleDiameter of compartment
lengthdoubleLength of compartment
x0doubleX coordinate of start of compartment
y0doubleY coordinate of start of compartment
z0doubleZ coordinate of start of compartment
xdoublex coordinate of end of compartment
ydoubley coordinate of end of compartment
zdoublez coordinate of end of compartment

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
VmOutdoubleSends out Vm value of compartment on each timestep
axialOutdoubleSends out Vm value of compartment to adjacent compartments,on each timestep
raxialOutdouble,doubleSends out Raxial information on each timestep, fields are Ra and Vm

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
injectMsgdoubleThe 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
randInjectdouble,doubleSends a random injection current to the compartment. Must beupdated each timestep.Arguments to randInject are probability and current.
injectMsgdoubleThe 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
cablevoidMessage for organizing compartments into groups, calledcables. Doesn't do anything.
processvoidHandles 'process' call
reinitvoidHandles 'reinit' call
initProcvoidHandles Process call for the 'init' phase of the Compartment calculations. These occur as a separate Tick cycle from the regular proc cycle, and should be called before the proc msg.
initReinitvoidHandles Reinit call for the 'init' phase of the Compartment calculations.
handleChanneldouble,doubleHandles conductance and Reversal potential arguments from Channel
handleRaxialdouble,doubleHandles Raxial info: arguments are Ra and Vm.
handleAxialdoubleHandles Axial information. Argument is just Vm.

Shared message fields

FieldTypeDescription
procvoidThis 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.
initvoidThis 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.
channelvoidThis 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
axialvoidThis 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.
raxialvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

CplxEnzBase

Author: Upi Bhalla

Description:: 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

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
KmdoubleMichaelis-Menten constant in SI conc units (milliMolar)
numKmdoubleMichaelis-Menten constant in number units, volume dependent
kcatdoubleForward rate constant for enzyme, units 1/sec
numSubstratesunsigned intNumber of substrates in this MM reaction. Usually 1.Does not include the enzyme itself
k1doubleForward reaction from enz + sub to complex
k2doubleReverse reaction from complex to enz + sub
k3doubleForward rate constant from complex to product + enz
ratiodoubleRatio of k2/k3
concK1doubleK1 expressed in concentration (1/millimolar.sec) units

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep
toEnzdouble,doubleSends out increment of molecules on product each timestep
toCplxdouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
enzDestdoubleHandles # of molecules of Enzyme
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product. Dummy.
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the MMEnz to recompute its numKm after remeshing
enzDestdoubleHandles # of molecules of Enzyme
cplxDestdoubleHandles # of molecules of enz-sub complex

Shared message fields

FieldTypeDescription
subvoidConnects to substrate molecule
prdvoidConnects to product molecule
procvoidShared message for process and reinit
enzvoidConnects to enzyme pool
cplxvoidConnects to enz-sub complex pool

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

CubeMesh

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
sizedoubleSize of entire chemical domain.Assigning this assumes that the geometry is that of the default mesh, which may not be what you want. If so, usea more specific mesh assignment function.
numDimensionsunsigned intNumber of spatial dimensions of this compartment. Usually 3 or 2
isToroidboolFlag. 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
preserveNumEntriesboolFlag. 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
x0doubleX coord of one end
y0doubleY coord of one end
z0doubleZ coord of one end
x1doubleX coord of other end
y1doubleY coord of other end
z1doubleZ coord of other end
dxdoubleX size for mesh
dydoubleY size for mesh
dzdoubleZ size for mesh
nxunsigned intNumber of subdivisions in mesh in X
nyunsigned intNumber of subdivisions in mesh in Y
nzunsigned intNumber of subdivisions in mesh in Z
coordsvector<double>Set all the coords of the cuboid at once. Order is:x0 y0 z0 x1 y1 z1 dx dy dz
meshToSpacevector<unsigned int>Array in which each mesh entry stores spatial (cubic) index
spaceToMeshvector<unsigned int>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
surfacevector<unsigned int>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

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
meshSplitdouble,vector<double>,vector<unsigned int>,vector< vector<unsigned int> >,vector< vector<unsigned int> >Defines how meshEntries communicate between nodes.Args: oldVol, volListOfAllEntries, localEntryList, outgoingDiffusion[node#][entry#], incomingDiffusion[node#][entry#]This message is meant to go to the SimManager and Stoich.
meshStatsunsigned int,vector<double>Basic statistics for mesh: Total # of entries, and a vector ofunique volumes of voxels

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
buildDefaultMeshdouble,unsigned intTells ChemMesh derived class to build a default mesh with thespecified size and number of meshEntries.
handleRequestMeshStatsvoidHandles request from SimManager for mesh stats
handleNodeInfounsigned int,unsigned intTells ChemMesh how many nodes and threads per node it is allowed to use. Triggers a return meshSplit message.
parentMsgintMessage from Parent Element(s)

Shared message fields

FieldTypeDescription
nodeMeshingvoidConnects to SimManager to coordinate meshing with paralleldecomposition and with the Stoich

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

CylMesh

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
sizedoubleSize of entire chemical domain.Assigning this assumes that the geometry is that of the default mesh, which may not be what you want. If so, usea more specific mesh assignment function.
numDimensionsunsigned intNumber of spatial dimensions of this compartment. Usually 3 or 2
x0doublex coord of one end
y0doubley coord of one end
z0doublez coord of one end
r0doubleRadius of one end
x1doublex coord of other end
y1doubley coord of other end
z1doublez coord of other end
r1doubleRadius of other end
lambdadoubleLength constant to use for subdivisionsThe system will attempt to subdivide using compartments oflength lambda 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 lambda as totLength/numEntries
coordsvector<double>All the coords as a single vector: x0 y0 z0 x1 y1 z1 r0 r1 lambda
totLengthdoubleTotal length of cylinder

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
meshSplitdouble,vector<double>,vector<unsigned int>,vector< vector<unsigned int> >,vector< vector<unsigned int> >Defines how meshEntries communicate between nodes.Args: oldVol, volListOfAllEntries, localEntryList, outgoingDiffusion[node#][entry#], incomingDiffusion[node#][entry#]This message is meant to go to the SimManager and Stoich.
meshStatsunsigned int,vector<double>Basic statistics for mesh: Total # of entries, and a vector ofunique volumes of voxels

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
buildDefaultMeshdouble,unsigned intTells ChemMesh derived class to build a default mesh with thespecified size and number of meshEntries.
handleRequestMeshStatsvoidHandles request from SimManager for mesh stats
handleNodeInfounsigned int,unsigned intTells ChemMesh how many nodes and threads per node it is allowed to use. Triggers a return meshSplit message.

Shared message fields

FieldTypeDescription
nodeMeshingvoidConnects to SimManager to coordinate meshing with paralleldecomposition and with the Stoich

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

CylPanel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
nPtsunsigned intNumber of points used by panel to specify geometry
nDimsunsigned intNumber of Dimensions used by panel to specify geometry
numNeighborsunsigned intNumber of Neighbors of panel
shapeIdunsigned intIdentifier for shape type, as used by Smoldyn
coordsvector<double>All the coordinates for the panel. X vector, then Y, then ZZ can be left out for 2-D panels.Z and Y can be left out for 1-D panels.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toNeighborvoidIdentifies neighbors of the current panel

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
neighborvoidHandles incoming message from neighbor

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
xunsigned int,doublex coordinate identified by index
yunsigned int,doubley coordinate identified by index
zunsigned int,doublez coordinate identified by index

DiagonalMsg

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
e1IdId of source Element.
e2IdId of source Element.
srcFieldsOnE1vector<string>Names of SrcFinfos for messages going from e1 to e2. There arematching entries in the destFieldsOnE2 vector
destFieldsOnE2vector<string>Names of DestFinfos for messages going from e1 to e2. There arematching entries in the srcFieldsOnE1 vector
srcFieldsOnE2vector<string>Names of SrcFinfos for messages going from e2 to e1. There arematching entries in the destFieldsOnE1 vector
destFieldsOnE1vector<string>Names of destFinfos for messages going from e2 to e1. There arematching entries in the srcFieldsOnE2 vector
strideintThe 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.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

DiffAmp

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
gaindoubleGain 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
saturationdoubleSaturation 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.
outputdoubleOutput of the amplifier, i.e. gain * (plus - minus).

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputOutdoubleCurrent output level.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
gainIndoubleDestination message to control gain dynamically.
plusIndoublePositive input terminal of the amplifier. All the messages connected here are summed up to get total positive input.
minusIndoubleNegative input terminal of the amplifier. All the messages connected here are summed up to get total positive input.
processvoidHandles process call, updates internal time stamp.
reinitvoidHandles reinit call.

Shared message fields

FieldTypeDescription
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

DiskPanel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
nPtsunsigned intNumber of points used by panel to specify geometry
nDimsunsigned intNumber of Dimensions used by panel to specify geometry
numNeighborsunsigned intNumber of Neighbors of panel
shapeIdunsigned intIdentifier for shape type, as used by Smoldyn
coordsvector<double>All the coordinates for the panel. X vector, then Y, then ZZ can be left out for 2-D panels.Z and Y can be left out for 1-D panels.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toNeighborvoidIdentifies neighbors of the current panel

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
neighborvoidHandles incoming message from neighbor

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
xunsigned int,doublex coordinate identified by index
yunsigned int,doubley coordinate identified by index
zunsigned int,doublez coordinate identified by index

Enz

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
KmdoubleMichaelis-Menten constant in SI conc units (milliMolar)
numKmdoubleMichaelis-Menten constant in number units, volume dependent
kcatdoubleForward rate constant for enzyme, units 1/sec
numSubstratesunsigned intNumber of substrates in this MM reaction. Usually 1.Does not include the enzyme itself
k1doubleForward reaction from enz + sub to complex
k2doubleReverse reaction from complex to enz + sub
k3doubleForward rate constant from complex to product + enz
ratiodoubleRatio of k2/k3
concK1doubleK1 expressed in concentration (1/millimolar.sec) units

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep
toEnzdouble,doubleSends out increment of molecules on product each timestep
toCplxdouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
enzDestdoubleHandles # of molecules of Enzyme
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product. Dummy.
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the MMEnz to recompute its numKm after remeshing
enzDestdoubleHandles # of molecules of Enzyme
cplxDestdoubleHandles # of molecules of enz-sub complex

Shared message fields

FieldTypeDescription
subvoidConnects to substrate molecule
prdvoidConnects to product molecule
procvoidShared message for process and reinit
enzvoidConnects to enzyme pool
cplxvoidConnects to enz-sub complex pool

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

EnzBase

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
KmdoubleMichaelis-Menten constant in SI conc units (milliMolar)
numKmdoubleMichaelis-Menten constant in number units, volume dependent
kcatdoubleForward rate constant for enzyme, units 1/sec
numSubstratesunsigned intNumber of substrates in this MM reaction. Usually 1.Does not include the enzyme itself

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
enzDestdoubleHandles # of molecules of Enzyme
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product. Dummy.
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the MMEnz to recompute its numKm after remeshing

Shared message fields

FieldTypeDescription
subvoidConnects to substrate molecule
prdvoidConnects to product molecule
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Finfo

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
namestringName of Finfo
docsstringDocumentation for Finfo
typestringRTTI type info for this Finfo
srcvector<string>Subsidiary SrcFinfos. Useful for SharedFinfos
destvector<string>Subsidiary DestFinfos. Useful for SharedFinfos

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

FuncBase

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
resultdoubleOutcome of function computation

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputdoubleSends out sum on each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
inputdoubleHandles 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.
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

FuncPool

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes
incrementdoubleIncrements mol numbers by specified amount. Can be +ve or -ve
decrementdoubleDecrements mol numbers by specified amount. Can be +ve or -ve
inputdoubleHandles input to control value of n_

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

GHK

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
IkdoubleMembrane current
GkdoubleConductance
EkdoubleReversal Potential
TdoubleTemperature of system
pdoublePermeability of channel
VmdoubleMembrane potential
CindoubleInternal concentration
CoutdoubleExternal ion concentration
valencydoubleValence of ion

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
VmOutdoubleRelay of membrane potential Vm.
IkOutdoubleMembraneCurrent.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
processvoidHandles process call
handleVmdoubleHandles Vm message coming in from compartment
addPermeabilitydoubleHandles permeability message coming in from channel
CinDestdoubleAlias for set_Cin
CoutDestdoubleAlias for set_Cout
addPermeabilitydoubleHandles permeability message coming in from channel

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage from channel to current Goldman-Hodgkin-Katz objectThis shared message connects to an HHChannel. The first entry is a MsgSrc which relays the Vm received from a compartment. The second entry is a MsgDest which receives channel conductance, and interprets it as permeability.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Geometry

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
epsilondoubleepsilon is the max deviation of surface-point from surface.I think it refers to when the molecule is stuck to the surface. Need to check with Steven.
neighdistdoubleneighdist is capture distance from one panel to another.When a molecule diffuses off one panel and is within neighdist of the other, it is captured by the second.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
returnSizedoubleReturn size of compartment

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
handleSizeRequestvoidHandles a request for size. Part of SharedMsg to ChemCompt.

Shared message fields

FieldTypeDescription
comptvoidConnects to compartment(s) to specify geometry.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Group

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
groupvoidHandle for grouping Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

GslIntegrator

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
isInitializedboolTrue if the Stoich message has come in to set parms
methodstringNumerical method to use.
relativeAccuracydoubleAccuracy criterion
absoluteAccuracydoubleAnother accuracy criterion

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
stoichIdHandle data from Stoich
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

GslStoich

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
isInitializedboolTrue if the Stoich message has come in to set parms
methodstringNumerical method to use.
relativeAccuracydoubleAccuracy criterion
absoluteAccuracydoubleAnother accuracy criterion
compartmentIdThis is the Id of the compartment, which must be derived fromthe ChemMesh baseclass. The GslStoich needsthe ChemMesh Id only for diffusion, and one can pass in Id() instead if there is no diffusion, or just leave it unset.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
addJunctionIdAdd a junction between the current solver and the one whose Id is passed in.
dropJunctionIdDrops a junction between the current solver and the one whose Id is passed in. Ignores if no junction.
stoichIdAssign the StoichCore and ChemMesh Ids. The GslStoich needsthe StoichCore pointer in all cases, in order to perform allcalculations.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes
processvoidHandles process call
reinitvoidHandles reinit call
initProcvoidHandles init call
initReinitvoidHandles initReinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit
initvoidShared message for init and initReinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

GssaStoich

Author: Upinder S. Bhalla, 2008, 2011, NCBS

Description: GssaStoich: Gillespie Stochastic Simulation Algorithm object.Closely based on the Stoich object and inherits its handling functions for constructing the matrix. Sets up stoichiometry matrix based calculations from a

wildcard path for the reaction system.Knows how to compute derivatives for most common things, also knows how to handle special cases where the object will have to do its own computation.Generates a stoichiometry matrix, which is useful for lots of other operations as well.

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
useOneWayReacsboolFlag: use bidirectional or one-way reacs. One-way is neededfor Gillespie type stochastic calculations. Two-way islikely to be margninally more efficient in ODE calculations
nVarPoolsunsigned intNumber of variable molecule pools in the reac system
numMeshEntriesunsigned intNumber of meshEntries in reac-diff system
estimatedDtdoubleEstimate of fastest (smallest) timescale in system.This is fallible because it depends on instantaneous concs,which of course change over the course of the simulation.
pathstringPath of reaction system to take over
pathstringPath of reaction system to take over and solve
methodstringNumerical method to use for the GssaStoich. The defaultand currently the only method is Gillespie1.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
pluginIdSends out Stoich Id so that plugins can directly access fields and functions
nodeDiffBoundaryunsigned int,vector<unsigned int>,vector<double>Sends mol #s across boundary between nodes, to calculate diffusionterms. arg1 is originating node, arg2 is list of meshIndices forwhich data is being transferred, and arg3 are the 'n' values forall the pools on the specified meshIndices, to be plugged intothe appropriate place on the recipient node's S_ matrix
poolsReactingAcrossBoundaryunsigned int,vector<double>A vector of mol counts (n) of those pools that react across a boundary. Sent over to another Stoich every sync timestep so that the target Stoich has both sides of the boundary reaction. Assumes that the mesh encolosing the target Stoich also encloses the reaction object.
reacRollbacksAcrossBoundaryunsigned int,vector<double>Occasionally, a Gillespie advance will cause the mol conc on the target stoich side to become negative. If so, this message does a patch up job by telling the originating Stoich to roll back to the specified number of reac firings, which is the max that the target was able to handle. This is probably numerically naughty, but it is better than negative concentrations
reacRatesAcrossBoundaryunsigned int,vector<double>A vector of reac rates (V) of each reaction crossing the boundary between compartments. Sent over to another Stoich every sync timestep so that the target Stoich has both sides of the boundary reaction. In the case of Gillespie calculations V is the integer # of transitions (firings) of each reaction. Assumes that the mesh encolosing the target Stoich also encloses the reaction object.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
meshSplitdouble,vector<double>,vector<unsigned int>,vector< vector<unsigned int> >,vector< vector<unsigned int> >Handles message from ChemMesh that defines how meshEntries are decomposed on this node, and how they communicate between nodes.Args: (oldVol, volumeVectorForAllEntries, localEntryList, outgoingDiffusion[node#][entry#], incomingDiffusion[node#][entry#])
handleReacRatesAcrossBoundaryunsigned int,vector<double>When we have reactions that cross compartment boundaries, we may have different solvers and meshes on either side. This message handle info for two things: Arg 1: An identifier for the boundary. Arg 2: A vector of reaction rates for every reaction across the boundary, in every mesh entry.
handlePoolsReactingAcrossBoundaryunsigned int,vector<double>When we have reactions that cross compartment boundaries, we may have different solvers and meshes on either side. This message handle info for two things: Arg 1: An identifier for the boundary. Arg 2: A vector of pool #s for every pool that reacts across the boundary, in every mesh entry. that reacts across a boundary, in every mesh entry
handleReacRollbacksAcrossBoundaryunsigned int,vector<double>When we have reactions that cross compartment boundaries, we may have different solvers and meshes on either side. Only one side does the calculations to assure mass conservation. There are rare cases when the calculations of one solver, typically a Gillespie one, gives such a large change that the concentrations on the other side would become negative in one or more molecules This message handles such cases on the Gillespie side, by telling the solver to roll back its recent calculation and instead use the specified vector for the rates, that is the # of mols changed in the latest timestep. This message handle info for two things: Arg 1: An identifier for the boundary. Arg 2: A vector of reaction rates for every reaction across the boundary, in every mesh entry.
processvoidHandles process call
reinitvoidHandles reinint call

Shared message fields

FieldTypeDescription
boundaryReacOutvoidShared message between Stoichs to handle reactions taking molecules between the pools handled by the two Stoichs.
boundaryReacInvoidShared message between Stoichs to handle reactions taking molecules between the pools handled by the two Stoichs.
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

HDF5DataWriter

Author: Subhasis Ray

Description: HDF5 file writer for saving data tables. It saves the tables connected to it via requestData field into an HDF5 file. The path of the table is maintained in the HDF5 file, with a HDF5 group for each element above the table.

Thus, if you have a table /data/VmTable in MOOSE, then it will be written as an HDF5 table called VmTable inside an HDF5 Group called data.

However Table inside Table is considered a pathological case and is not handled.

At every process call it writes the contents of the tables to the file and clears the table vectors. You can explicitly force writing of the data via the flush function.

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
filenamestringName of the file associated with this HDF5 writer object.
isOpenboolTrue if this object has an open file handle.
modeunsigned intDepending on mode, if file already exists, if mode=1, data will be appended to existing file, if mode=2, file will be truncated, if mode=4, no writing will happen.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
requestDataunsigned intSends request for a field to target object
clearvoidSend request to clear a Table vector.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
flushvoidWrite all buffer contents to file and clear the buffers.
recvDatabadHandles data sent back following request
processvoidHandle process calls. Write data to file and clear all Table objects associated with this. Hence you want to keep it on a slow clock 1000 times or more slower than that for the tables.
reinitvoidReinitialize the object. If the current file handle is valid, it tries to close that and open the file specified in current filename field.

Shared message fields

FieldTypeDescription
procvoidShared message to receive process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

HDF5WriterBase

Author: Subhasis Ray

Description: HDF5 file writer base class. This is not to be used directly. Instead, it should be subclassed to provide specific data writing functions. This class provides most basic properties like filename, file opening mode, file open status.

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
filenamestringName of the file associated with this HDF5 writer object.
isOpenboolTrue if this object has an open file handle.
modeunsigned intDepending on mode, if file already exists, if mode=1, data will be appended to existing file, if mode=2, file will be truncated, if mode=4, no writing will happen.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
flushvoidWrite all buffer contents to file and clear the buffers.

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

HHChannel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
GbardoubleMaximal channel conductance
EkdoubleReversal potential of channel
GkdoubleChannel conductance variable
IkdoubleChannel current variable
XpowerdoublePower for X gate
YpowerdoublePower for Y gate
ZpowerdoublePower for Z gate
instantintBitmapped 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
XdoubleState variable for X gate
YdoubleState variable for Y gate
ZdoubleState variable for Y gate
useConcentrationintFlag: when true, use concentration message rather than Vm tocontrol Z gate

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
permeabilitydoubleConductance term going out to GHK object
IkOutdoubleChannel current. This message typically goes to concenobjects that keep track of ion concentration.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
VmdoubleHandles Vm message coming in from compartment
VmdoubleHandles Vm message coming in from compartment
processvoidHandles process call
reinitvoidHandles reinit call
concendoubleIncoming message from Concen object to specific conc to usein the Z gate calculations
createGatestringFunction to create specified gate.Argument: Gate type [X Y Z]

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage to Goldman-Hodgkin-Katz object
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

HHChannel2D

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
GbardoubleMaximal channel conductance
EkdoubleReversal potential of channel
GkdoubleChannel conductance variable
IkdoubleChannel current variable
XindexstringString for setting X index.
YindexstringString for setting Y index.
ZindexstringString for setting Z index.
XpowerdoublePower for X gate
YpowerdoublePower for Y gate
ZpowerdoublePower for Z gate
instantintBitmapped 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
XdoubleState variable for X gate
YdoubleState variable for Y gate
ZdoubleState variable for Y gate

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
permeabilitydoubleConductance term going out to GHK object
IkOutdoubleChannel current. This message typically goes to concenobjects that keep track of ion concentration.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
VmdoubleHandles Vm message coming in from compartment
VmdoubleHandles Vm message coming in from compartment
processvoidHandles process call
reinitvoidHandles reinit call
concendoubleIncoming message from Concen object to specific conc to useas the first concen variable
concen2doubleIncoming message from Concen object to specific conc to useas the second concen variable

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage to Goldman-Hodgkin-Katz object
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

HHGate

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
alphavector<double>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
betavector<double>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
tauvector<double>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))
mInfinityvector<double>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
mindoubleMinimum range for lookup
maxdoubleMinimum range for lookup
divsunsigned intDivisions for lookup. Zero means to use linear interpolation
tableAvector<double>Table of A entries
tableBvector<double>Table of alpha + beta entries
useInterpolationboolFlag: use linear interpolation if true, else direct lookup

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
setupAlphavector<double>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
setupTauvector<double>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))
tweakAlphavoidDummy 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.
tweakTauvoidDummy 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.
setupGatevector<double>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.

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
Adouble,doublelookupA: 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.
Bdouble,doublelookupB: Look up the B gate value from a double.Note that this looks up the raw tables, which are transformedfrom the reference parameters.

HHGate2D

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
Avector<double>,doublelookupA: 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.
Bvector<double>,doublelookupB: Look up B gate value from two doubles in a vector.

HSolve

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
seedIdUse 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.
targetstringSpecifies 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.
dtdoubleThe time-step for this solver.
caAdvanceintThis 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.
vDivintSpecifies number of divisions for lookup tables of voltage-sensitive channels.
vMindoubleSpecifies 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.
vMaxdoubleSpecifies 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.
caDivintSpecifies number of divisions for lookup tables of calcium-sensitive channels.
caMindoubleSpecifies 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.
caMaxdoubleSpecifies 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.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
processvoidHandles 'process' call: Solver advances by one time-step.
reinitvoidHandles 'reinit' call: Solver reads in model.

Shared message fields

FieldTypeDescription
procvoidHandles 'reinit' and 'process' calls from a clock.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

HemispherePanel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
nPtsunsigned intNumber of points used by panel to specify geometry
nDimsunsigned intNumber of Dimensions used by panel to specify geometry
numNeighborsunsigned intNumber of Neighbors of panel
shapeIdunsigned intIdentifier for shape type, as used by Smoldyn
coordsvector<double>All the coordinates for the panel. X vector, then Y, then ZZ can be left out for 2-D panels.Z and Y can be left out for 1-D panels.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toNeighborvoidIdentifies neighbors of the current panel

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
neighborvoidHandles incoming message from neighbor

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
xunsigned int,doublex coordinate identified by index
yunsigned int,doubley coordinate identified by index
zunsigned int,doublez coordinate identified by index

IntFire

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
numSynapsesunsigned intNumber of synapses on SynBase
VmdoubleMembrane potential
taudoublecharging time-course
threshdoublefiring threshold
refractoryPerioddoubleMinimum time between successive spikes

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
spikedoubleSends out spike events

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Interpol2D

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
xmindoubleMinimum value for x axis of lookup table
xmaxdoubleMaximum value for x axis of lookup table
xdivsunsigned int# of divisions on x axis of lookup table
dxdoubleIncrement on x axis of lookup table
ymindoubleMinimum value for y axis of lookup table
ymaxdoubleMaximum value for y axis of lookup table
ydivsunsigned int# of divisions on y axis of lookup table
dydoubleIncrement on y axis of lookup table
tableVector2Dvector< vector<double> >Get the entire table.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
trigdoublerespond to a request for a value lookup

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
lookupdouble,doubleLooks up table value based on indices v1 and v2, and sendsvalue back using the 'trig' message

Shared message fields

FieldTypeDescription
lookupReturn2DvoidThis 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 fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
tablevector<unsigned int>,doubleLookup an entry on the table
zvector<double>,doubleInterpolated value for specified x and y. This is provided for debugging. Normally other objects will retrieve interpolated values via lookup message.

IzhikevichNrn

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
VmaxdoubleMaximum 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.
cdoubleReset potential. Membrane potential is reset to c whenever it reaches Vmax.
ddoubleParameter d in Izhikevich model. Unit is V/s.
adoubleParameter a in Izhikevich model. Unit is s^{-1}
bdoubleParameter b in Izhikevich model. Unit is s^{-1}
udoubleParameter u in Izhikevich equation. Unit is V/s
VmdoubleMembrane potential, equivalent to v in Izhikevich equation.
ImdoubleTotal current going through the membrane. Unit is A.
RmdoubleHidden cefficient of input current term (I) in Izhikevich model. Defaults to 1e6 Ohm.
initVmdoubleInitial membrane potential. Unit is V.
initUdoubleInitial value of u.
alphadoubleCoefficient 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}
betadoubleCoefficient of v in Izhikevich model. Defaults to 5 in physiological unit, 5000.0 for SI units. Unit is s^{-1}
gammadoubleConstant term in Izhikevich model. Defaults to 140 in both physiological and SI units. unit is V/s.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
VmOutdoubleSends out Vm
spikedoubleSends out spike events

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
processvoidHandles process call
reinitvoidHandles reinit call
injectDestdoubleInjection current into the neuron.
cDestdoubleDestination message to modify parameter c at runtime.
dDestdoubleDestination message to modify parameter d at runtime.
bDestdoubleDestination message to modify parameter b at runtime
aDestdoubleDestination message modify parameter a at runtime.

Shared message fields

FieldTypeDescription
procvoidShared message to receive Process message from scheduler

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

LeakyIaF

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
CmdoubleMembrane capacitance.
RmdoubleMembrane resistance, inverse of leak-conductance.
EmdoubleLeak reversal potential
VmdoubleMembrane potential
initVmdoubleInital value of membrane potential
VresetdoubleReset potnetial after firing.
Vthresholddoublefiring threshold
refractoryPerioddoubleMinimum time between successive spikes
injectdoubleInjection current.
tSpikedoubleTime of the last spike

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
spikedoubleSends out spike events
VmOutdoubleSends out Vm

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
processvoidHandles process call
reinitvoidHandles reinit call
injectDestdoubleDestination for current input.

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

MMenz

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
KmdoubleMichaelis-Menten constant in SI conc units (milliMolar)
numKmdoubleMichaelis-Menten constant in number units, volume dependent
kcatdoubleForward rate constant for enzyme, units 1/sec
numSubstratesunsigned intNumber of substrates in this MM reaction. Usually 1.Does not include the enzyme itself

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
enzDestdoubleHandles # of molecules of Enzyme
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product. Dummy.
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the MMEnz to recompute its numKm after remeshing

Shared message fields

FieldTypeDescription
subvoidConnects to substrate molecule
prdvoidConnects to product molecule
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

MarkovChannel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
GbardoubleMaximal channel conductance
EkdoubleReversal potential of channel
GkdoubleChannel conductance variable
IkdoubleChannel current variable
ligandconcdoubleLigand concentration.
vmdoubleMembrane voltage.
numstatesunsigned intThe number of states that the channel can occupy.
numopenstatesunsigned intThe number of states which are open/conducting.
statevector<double>This is a row vector that contains the probabilities of finding the channel in each state.
initialstatevector<double>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()
labelsvector<string>Labels for each state.
gbarvector<double>A row vector containing the conductance associated with each of the open/conducting states.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
permeabilitydoubleConductance term going out to GHK object
IkOutdoubleChannel current. This message typically goes to concenobjects that keep track of ion concentration.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
VmdoubleHandles Vm message coming in from compartment
VmdoubleHandles Vm message coming in from compartment
processvoidHandles process call
reinitvoidHandles reinit call
handleligandconcdoubleDeals with incoming messages containing information of ligand concentration
handlestatevector<double>Deals with incoming message from MarkovSolver object containing state information of the channel.

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage to Goldman-Hodgkin-Katz object
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

MarkovGslSolver

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
isInitializedboolTrue if the message has come in to set solver parameters.
methodstringNumerical method to use.
relativeAccuracydoubleAccuracy criterion
absoluteAccuracydoubleAnother accuracy criterion
internalDtdoubleinternal timestep to use.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
stateOutvector<double>Sends updated state to the MarkovChannel class.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
initvector<double>Initialize solver parameters.
handleQvector< vector<double> >Handles information regarding the instantaneous rate matrix from the MarkovRateTable class.
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

MarkovRateTable

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
vmdoubleMembrane voltage.
ligandconcdoubleLigand concentration.
Qvector< vector<double> >Instantaneous rate matrix.
sizeunsigned intDimension of the families of lookup tables. Is always equal to the number of states in the model.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
instratesOutvector< vector<double> >Sends out instantaneous rate information of varying transition rates at each time step.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
handleVmdoubleHandles incoming message containing voltage information.
processvoidHandles process call
reinitvoidHandles reinit call
initunsigned intInitialization of the class. Allocates memory for all the tables.
handleLigandConcdoubleHandles incoming message containing ligand concentration.
set1dunsigned int,unsigned int,Id,unsigned intSetting up of 1D lookup table for the (i,j)'th rate.
set2dunsigned int,unsigned int,IdSetting up of 2D lookup table for the (i,j)'th rate.
setconstunsigned int,unsigned int,doubleSetting 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.

Shared message fields

FieldTypeDescription
channelvoidThis message couples the rate table to the compartment. The rate table needs updates on voltage in order to compute the rate table.
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

MarkovSolver

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
Qvector< vector<double> >Instantaneous rate matrix.
statevector<double>Current state of the channel.
initialstatevector<double>Initial state of the channel.
xmindoubleMinimum value for x axis of lookup table
xmaxdoubleMaximum value for x axis of lookup table
xdivsunsigned int# of divisions on x axis of lookup table
invdxdoubleReciprocal of increment on x axis of lookup table
ymindoubleMinimum value for y axis of lookup table
ymaxdoubleMaximum value for y axis of lookup table
ydivsunsigned int# of divisions on y axis of lookup table
invdydoubleReciprocal of increment on y axis of lookup table

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
stateOutvector<double>Sends updated state to the MarkovChannel class.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
handleVmdoubleHandles incoming message containing voltage information.
processvoidHandles process call
reinitvoidHandles reinit call
ligandconcdoubleHandles incoming message containing ligand concentration.
initId,doubleSetups the table of matrix exponentials associated with the solver object.
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
channelvoidThis message couples the MarkovSolverBase to the Compartment. The compartment needs Vm in order to look up the correct matrix exponential for computing the state.
procvoidThis 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.
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

MarkovSolverBase

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
Qvector< vector<double> >Instantaneous rate matrix.
statevector<double>Current state of the channel.
initialstatevector<double>Initial state of the channel.
xmindoubleMinimum value for x axis of lookup table
xmaxdoubleMaximum value for x axis of lookup table
xdivsunsigned int# of divisions on x axis of lookup table
invdxdoubleReciprocal of increment on x axis of lookup table
ymindoubleMinimum value for y axis of lookup table
ymaxdoubleMaximum value for y axis of lookup table
ydivsunsigned int# of divisions on y axis of lookup table
invdydoubleReciprocal of increment on y axis of lookup table

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
stateOutvector<double>Sends updated state to the MarkovChannel class.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
handleVmdoubleHandles incoming message containing voltage information.
processvoidHandles process call
reinitvoidHandles reinit call
ligandconcdoubleHandles incoming message containing ligand concentration.
initId,doubleSetups the table of matrix exponentials associated with the solver object.

Shared message fields

FieldTypeDescription
channelvoidThis message couples the MarkovSolverBase to the Compartment. The compartment needs Vm in order to look up the correct matrix exponential for computing the state.
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

MathFunc

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
mathMLstringMathML version of expression to compute
functionstringfunction is for functions of form f(x, y) = x + y
resultdoubleresult value

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputdoubleSends out result of computation

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
arg1doubleHandle arg1
arg2doubleHandle arg2
arg3doubleHandle arg3
arg4doubleHandle arg4
processvoidHandle process call
reinitvoidHandle reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Mdouble

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
thisdoubleAccess function for entire Mdouble object.
valuedoubleAccess function for value field of Mdouble object,which happens also to be the entire contents of the object.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

MeshEntry

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
sizedoubleVolume of this MeshEntry
dimensionsunsigned intnumber of dimensions of this MeshEntry
meshTypeunsigned intThe 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
Coordinatesvector<double>Coordinates that define current MeshEntry. Depend on MeshType.
neighborsvector<unsigned int>Indices of other MeshEntries that this one connects to
DiffusionAreavector<double>Diffusion area for geometry of interface
DiffusionScalingvector<double>Diffusion scaling for geometry of interface

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>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().
remeshReacsvoidTells 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.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit
meshvoidShared message for updating mesh volumes and subdivisions,typically controls pool sizes

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

MgBlock

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
GbardoubleMaximal channel conductance
EkdoubleReversal potential of channel
GkdoubleChannel conductance variable
IkdoubleChannel current variable
KMg_Adouble1/eta
KMg_Bdouble1/gamma
CMgdouble[Mg] in mM
IkdoubleCurrent through MgBlock
ZkdoubleCharge on ion

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
permeabilitydoubleConductance term going out to GHK object
IkOutdoubleChannel current. This message typically goes to concenobjects that keep track of ion concentration.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
VmdoubleHandles Vm message coming in from compartment
VmdoubleHandles Vm message coming in from compartment
processvoidHandles process call
origChanneldouble,double

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage to Goldman-Hodgkin-Katz object

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Msg

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
e1IdId of source Element.
e2IdId of source Element.
srcFieldsOnE1vector<string>Names of SrcFinfos for messages going from e1 to e2. There arematching entries in the destFieldsOnE2 vector
destFieldsOnE2vector<string>Names of DestFinfos for messages going from e1 to e2. There arematching entries in the srcFieldsOnE1 vector
srcFieldsOnE2vector<string>Names of SrcFinfos for messages going from e2 to e1. There arematching entries in the destFieldsOnE1 vector
destFieldsOnE1vector<string>Names of destFinfos for messages going from e2 to e1. There arematching entries in the srcFieldsOnE2 vector

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Mstring

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
thisstringAccess function for entire Mstring object.
valuestringAccess function for value field of Mstring object,which happens also to be the entire contents of the object.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

NMDAChan

Author: Subhasis Ray, 2010, NCBS

Description: NMDAChan: Extracellular [Mg2+] dependent NMDA channel.This channel has four states as described by Jahr and Stevens (J. Neurosci. 1990, 10(9)) This implementation is based on equation 4(a) in that article. The channel conductance is defined as : k * g(V, [Mg2+]o) * S(t) where k is a scaling constant. S(t) is the legand gated component of the conductance. It rises linearly for t = tau2. Then decays exponentially with time constant t = tau1. g is a function of voltage and the extracellular [Mg2+] defined as: 1 / { 1 + (a1 + a2) * (a1 * B1 + a2 * B2)/ [A * a1 * (b1 + B1) + A * a2 * (b2 + B2)]}

a1 = 1e3 * exp( - c0 * V - c1) s^{-1}, c0 = 16.0 / V, c1 = 2.91

a2 = 1e-3 * [Mg2+] * exp( -c2 * V - c3) mM^{-1} s, c2 = 45.0 / V, c3 = 6.97

b1 = 1e3 * exp(c4 * V + c5) s^{-1}, c4 = 9.0 / V, c5 = 1.22

b2 = 1e3 * exp(c6 * V + c7) s^{-1}, c6 = 17.0 / V, c7 = 0.96

A = 1e3 * exp(-c8) s^{-1}, c8 = 2.847

B1 = 1e3 * exp(-c9) s^{-1}, c9 = 0.693 s^{-1}

B2 = 1e3 * exp(-c10) s^{-1}, c10 = 3.101.

The behaviour of S(t) is as follows:

If a spike arrives, then the slope of the linear rise of S(t) is incremented by weight / tau2.

After tau2 time, this component is removed from the slope (reduced by weight/tau) and added over to the rate of decay of S(t).

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
numSynapsesunsigned intNumber of synapses on SynBase
GbardoubleMaximal channel conductance
EkdoubleReversal potential of channel
GkdoubleChannel conductance variable
IkdoubleChannel current variable
tau1doubleDecay time constant for the synaptic conductance, tau1 >= tau2.
tau2doubleRise time constant for the synaptic conductance, tau1 >= tau2.
normalizeWeightsboolFlag. If true, the overall conductance is normalized by the number of individual synapses in this SynChan object.
unblockeddoubleFraction of channels recovered from Mg2+ block. This is an intermediate variable which corresponds to g(V, [Mg2+]o) in the equation for conductance: k * g(V, [Mg2+]o) * S(t) where k is a constant.
MgConcdoubleExternal Mg2+ concentration
unblockeddoubleFraction of channels recovered from Mg2+ block. This is an intermediate variable which corresponds to g(V, [Mg2+]o) in the equation for conductance: k * g(V, [Mg2+]o) * S(t) where k is a constant.
saturationdoubleUpper limit on the NMDA conductance.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
permeabilitydoubleConductance term going out to GHK object
IkOutdoubleChannel current. This message typically goes to concenobjects that keep track of ion concentration.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
VmdoubleHandles Vm message coming in from compartment
VmdoubleHandles Vm message coming in from compartment
processvoidHandles process call
reinitvoidHandles reinit call
activationdoubleSometimes we want to continuously activate the channel
modulatordoubleModulate channel response
MgConcDestdoubleUpdate [Mg2+] from other sources at every time step.

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage to Goldman-Hodgkin-Katz object
procvoidShared message to receive Process message from scheduler

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
cunsigned int,doubleTransition parameters c0 to c10 in the Mg2+ dependentstate transitions.

Nernst

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
EdoubleComputed reversal potential
TemperaturedoubleTemperature of cell
valenceintValence of ion in Nernst calculation
CindoubleInternal conc of ion
CoutdoubleExternal conc of ion
scaledoubleVoltage scale factor

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
EoutdoubleComputed reversal potential

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
cidoubleSet internal conc of ion, and immediately send out the updated E
codoubleSet external conc of ion, and immediately send out the updated E

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

NeuroMesh

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
sizedoubleSize of entire chemical domain.Assigning this assumes that the geometry is that of the default mesh, which may not be what you want. If so, usea more specific mesh assignment function.
numDimensionsunsigned intNumber of spatial dimensions of this compartment. Usually 3 or 2
cellIdId for base element of cell model. Uses this to traverse theentire tree of the cell to build the mesh.
subTreevector<Id>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
skipSpinesboolFlag: when skipSpines is true, the traversal does not includeany compartment with the string 'spine' or 'neck' in its name,and also then skips compartments below this skipped one.Allows to set up separate mesh for spines, based on the same cell model.
numSegmentsunsigned intNumber of cylindrical/spherical segments in model
numDiffComptsunsigned intNumber of diffusive compartments in model
diffLengthdoubleDiffusive 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
geometryPolicystringPolicy 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.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
meshSplitdouble,vector<double>,vector<unsigned int>,vector< vector<unsigned int> >,vector< vector<unsigned int> >Defines how meshEntries communicate between nodes.Args: oldVol, volListOfAllEntries, localEntryList, outgoingDiffusion[node#][entry#], incomingDiffusion[node#][entry#]This message is meant to go to the SimManager and Stoich.
meshStatsunsigned int,vector<double>Basic statistics for mesh: Total # of entries, and a vector ofunique volumes of voxels

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
buildDefaultMeshdouble,unsigned intTells ChemMesh derived class to build a default mesh with thespecified size and number of meshEntries.
handleRequestMeshStatsvoidHandles request from SimManager for mesh stats
handleNodeInfounsigned int,unsigned intTells ChemMesh how many nodes and threads per node it is allowed to use. Triggers a return meshSplit message.
setCellPortionId,vector<Id>Tells NeuroMesh to mesh up a subpart of a cell. For nowassumed contiguous.The first argument is the cell Id. The second is the vectorof Ids to consider in meshing up the subpart.

Shared message fields

FieldTypeDescription
nodeMeshingvoidConnects to SimManager to coordinate meshing with paralleldecomposition and with the Stoich

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Neuron

Author: C H Chaitanya

Description: Neuron - A compartment container

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Neutral

Author: Upinder S. Bhalla, 2007, NCBS

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

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

OneToAllMsg

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
e1IdId of source Element.
e2IdId of source Element.
srcFieldsOnE1vector<string>Names of SrcFinfos for messages going from e1 to e2. There arematching entries in the destFieldsOnE2 vector
destFieldsOnE2vector<string>Names of DestFinfos for messages going from e1 to e2. There arematching entries in the srcFieldsOnE1 vector
srcFieldsOnE2vector<string>Names of SrcFinfos for messages going from e2 to e1. There arematching entries in the destFieldsOnE1 vector
destFieldsOnE1vector<string>Names of destFinfos for messages going from e2 to e1. There arematching entries in the srcFieldsOnE2 vector
i1DataIdDataId of source Element.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

OneToOneMsg

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
e1IdId of source Element.
e2IdId of source Element.
srcFieldsOnE1vector<string>Names of SrcFinfos for messages going from e1 to e2. There arematching entries in the destFieldsOnE2 vector
destFieldsOnE2vector<string>Names of DestFinfos for messages going from e1 to e2. There arematching entries in the srcFieldsOnE1 vector
srcFieldsOnE2vector<string>Names of SrcFinfos for messages going from e2 to e1. There arematching entries in the destFieldsOnE1 vector
destFieldsOnE1vector<string>Names of destFinfos for messages going from e2 to e1. There arematching entries in the srcFieldsOnE2 vector

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

PIDController

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
gaindoubleThis 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.
saturationdoubleBound on the permissible range of output. Defaults to maximum double value.
commanddoubleThe command (desired) value of the sensed parameter. In control theory this is commonly known as setpoint(SP).
senseddoubleSensed (measured) value. This is commonly known as process variable(PV) in control theory.
tauIdoubleThe 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.
tauDdoubleThe 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.
outputdoubleOutput 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)
errordoubleThe error term, which is the difference between command and sensed value.
integraldoubleThe integral term. It is calculated as INTEGRAL(error dt) = previous_integral + dt * (error + e_previous)/2.
derivativedoubleThe derivative term. This is (error - e_previous)/dt.
e_previousdoubleThe error term for previous step.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputOutdoubleSends 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.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
commandIndoubleCommand (desired value) input. This is known as setpoint (SP) in control theory.
sensedIndoubleSensed 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.
gainDestdoubleDestination message to control the PIDController gain dynamically.
processvoidHandle process calls.
reinitvoidReinitialize the object.

Shared message fields

FieldTypeDescription
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Panel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
nPtsunsigned intNumber of points used by panel to specify geometry
nDimsunsigned intNumber of Dimensions used by panel to specify geometry
numNeighborsunsigned intNumber of Neighbors of panel
shapeIdunsigned intIdentifier for shape type, as used by Smoldyn
coordsvector<double>All the coordinates for the panel. X vector, then Y, then ZZ can be left out for 2-D panels.Z and Y can be left out for 1-D panels.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toNeighborvoidIdentifies neighbors of the current panel

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
neighborvoidHandles incoming message from neighbor

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
xunsigned int,doublex coordinate identified by index
yunsigned int,doubley coordinate identified by index
zunsigned int,doublez coordinate identified by index

Pool

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes
incrementdoubleIncrements mol numbers by specified amount. Can be +ve or -ve
decrementdoubleDecrements mol numbers by specified amount. Can be +ve or -ve

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

PoolBase

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Port

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
scaleOutRatedoubleScaling factor for outgoing rates. Applies to the RateTermscontrolled by this port. Represents a diffusion related term,or the permeability of the port
inStartunsigned intStart index to S_ vector into which incoming molecules should add.
inEndunsigned intEnd index to S_ vector into which incoming molecules should add.
outStartunsigned intStart index to S_ vector from where outgoing molecules come.
outEndunsigned intEnd index to S_ vector from where outgoing molecules come.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
availableMolsAtPortvector<Id>Sends out the full set of molecule Ids that are available for data transfer
effluxvector<double>Molecule #s going out
matchedMolsAtPortvector<Id>Sends out the set of molecule Ids that match between both ports
effluxvector<double>Molecule #s going out

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
handleMatchedMolsAtPortvector<unsigned int>Handles list of matched molecules worked out by the other port
influxvector<double>Molecule #s coming back in
handleAvailableMolsAtPortvector<unsigned int>Handles list of all species that the other port cares about
influxvector<double>Molecule #s coming back in

Shared message fields

FieldTypeDescription
port1voidShared message for port. This one initiates the request forsetting up the communications between the portsThe shared message also handles the runtime data transfer
port2voidShared message for port. This one responds to the request forsetting up the communications between the portsThe shared message also handles the runtime data transfer

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

PulseGen

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
outputdoubleOutput amplitude
baseLeveldoubleBasal level of the stimulus
firstLeveldoubleAmplitude of the first pulse in a sequence
firstWidthdoubleWidth of the first pulse in a sequence
firstDelaydoubleDelay to start of the first pulse in a sequence
secondLeveldoubleAmplitude of the second pulse in a sequence
secondWidthdoubleWidth of the second pulse in a sequence
secondDelaydoubleDelay to start of of the second pulse in a sequence
countunsigned intNumber of pulses in a sequence
trigModeunsigned intTrigger 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.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputOutdoubleCurrent output level.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
inputdoubleHandle incoming input that determines gating/triggering onset.
levelInunsigned int,doubleHandle level value coming from other objects
widthInunsigned int,doubleHandle width value coming from other objects
delayInunsigned int,doubleHandle delay value coming from other objects
processvoidHandles process call, updates internal time stamp.
reinitvoidHandles reinit call.

Shared message fields

FieldTypeDescription
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
levelunsigned int,doubleLevel of the pulse at specified index
widthunsigned int,doubleWidth of the pulse at specified index
delayunsigned int,doubleDelay of the pulse at specified index

RC

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
V0doubleInitial value of 'state'
RdoubleSeries resistance of the RC circuit.
CdoubleParallel capacitance of the RC circuit.
statedoubleOutput value of the RC circuit. This is the voltage across the capacitor.
injectdoubleInput value to the RC circuit.This is handled as an input current to the circuit.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputOutdoubleCurrent output level.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
injectIndoubleReceives input to the RC circuit. All incoming messages are summed up to give the total input current.
processvoidHandles process call.
reinitvoidHandle reinitialization

Shared message fields

FieldTypeDescription
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Reac

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
kfdoubleForward rate constant, in # units
kbdoubleReverse rate constant, in # units
KfdoubleForward rate constant, in concentration units
KbdoubleReverse rate constant, in concentration units
numSubstratesunsigned intNumber of substrates of reaction
numProductsunsigned intNumber of products of reaction

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the reac to recompute its numRates, as remeshing has happened

Shared message fields

FieldTypeDescription
subvoidConnects to substrate pool
prdvoidConnects to substrate pool
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ReacBase

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
kfdoubleForward rate constant, in # units
kbdoubleReverse rate constant, in # units
KfdoubleForward rate constant, in concentration units
KbdoubleReverse rate constant, in concentration units
numSubstratesunsigned intNumber of substrates of reaction
numProductsunsigned intNumber of products of reaction

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the reac to recompute its numRates, as remeshing has happened

Shared message fields

FieldTypeDescription
subvoidConnects to substrate pool
prdvoidConnects to substrate pool
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

RectPanel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
nPtsunsigned intNumber of points used by panel to specify geometry
nDimsunsigned intNumber of Dimensions used by panel to specify geometry
numNeighborsunsigned intNumber of Neighbors of panel
shapeIdunsigned intIdentifier for shape type, as used by Smoldyn
coordsvector<double>All the coordinates for the panel. X vector, then Y, then ZZ can be left out for 2-D panels.Z and Y can be left out for 1-D panels.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toNeighborvoidIdentifies neighbors of the current panel

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
neighborvoidHandles incoming message from neighbor

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
xunsigned int,doublex coordinate identified by index
yunsigned int,doubley coordinate identified by index
zunsigned int,doublez coordinate identified by index

ReduceMsg

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
e1IdId of source Element.
e2IdId of source Element.
srcFieldsOnE1vector<string>Names of SrcFinfos for messages going from e1 to e2. There arematching entries in the destFieldsOnE2 vector
destFieldsOnE2vector<string>Names of DestFinfos for messages going from e1 to e2. There arematching entries in the srcFieldsOnE1 vector
srcFieldsOnE2vector<string>Names of SrcFinfos for messages going from e2 to e1. There arematching entries in the destFieldsOnE1 vector
destFieldsOnE1vector<string>Names of destFinfos for messages going from e2 to e1. There arematching entries in the srcFieldsOnE2 vector
i1DataIdDataId of source Element.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Shell

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
reduceArraySizeunsigned intLook up maximum value of an index, here ragged array size,across many nodes, and assign uniformly to all nodes. Normallyfollowed by an operation to assign the size to the object thatwas resized.
requestCreatestring,Id,Id,string,vector<int>requestCreate( class, parent, newElm, name, dimensions ): creates a new Element on all nodes with the specified Id. Initiates a callback to indicate completion of operation. Goes to all nodes including self.
requestDeleteIdrequestDelete( doomedElement ):Deletes specified Element on all nodes.Initiates a callback to indicate completion of operation.Goes to all nodes including self.
requestAddMsgstring,unsigned int,ObjId,string,ObjId,stringrequestAddMsg( type, src, srcField, dest, destField );Creates specified Msg between specified Element on all nodes.Initiates a callback to indicate completion of operation.Goes to all nodes including self.
requestQuitvoidrequestQuit():Emerges from the inner loop, and wraps up. No return value.
moveId,Idmove( origId, newParent);Moves origId to become a child of newParent
copyvector<Id>,string,unsigned int,bool,boolcopy( origId, newParent, numRepeats, toGlobal, copyExtMsg );Copies origId to become a child of newParent
useClockstring,string,unsigned intuseClock( path, field, tick# );Specifies which clock tick to use for all elements in Path.The 'field' is typically process, but some cases need to sendupdates to the 'init' field.Tick # specifies which tick to be attached to the objects.
syncId,unsigned intsync( ElementId, FuncId );Synchronizes Element data indexing across all nodes.Used when distributed ops like message setup might set updifferent #s of data entries on Elements on different nodes.The ElementId is the element being synchronized.The FuncId is the 'get' function for the synchronized field.
requestReMeshIdrequestReMesh( meshId );Chops up specified mesh.
requestSetParserIdleFlagboolSetParserIdleFlag( bool isParserIdle );When True, the main ProcessLoop waits a little each cycleso as to avoid pounding on the CPU.
ackunsigned int,unsigned intack( unsigned int node#, unsigned int status ):Acknowledges receipt and completion of a command on a worker node.Goes back only to master node.
requestStartdoublerequestStart( runtime ):Starts a simulation. Goes to all nodes including self.Initiates a callback to indicate completion of run.
requestStepunsigned intrequestStep():Advances a simulation for the specified # of steps.Goes to all nodes including self.
requestStopvoidrequestStop():Gently stops a simulation after completing current ops.After this op it is save to do 'start' again, and it willresume where it left offGoes to all nodes including self.
requestSetupTickunsigned int,doublerequestSetupTick():Asks the Clock to coordinate the assignment of a specificclock tick. Args: Tick#, dt.Goes to all nodes including self.
requestReinitvoidrequestReinit():Reinits a simulation: sets to time 0.If simulation is running it stops it first.Goes to all nodes including self.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
receiveGetbadreceiveGet( Uint node#, Uint status, PrepackedBuffer data )Function on master shell that handles the value relayed from worker.
setclockunsigned int,double,boolAssigns clock ticks. Args: tick#, dt
handleAckunsigned int,unsigned intKeeps track of # of acks to a blocking shell command. Arg: Source node num.
createstring,Id,Id,string,vector<int>create( class, parent, newElm, name, dimensions )
deleteIdDestroys Element, all its messages, and all its children. Args: Id
handleAddMsgstring,unsigned int,ObjId,string,ObjId,stringMakes a msg
handleQuitvoidStops simulation running and quits the simulator
moveId,IdhandleMove( Id orig, Id newParent ): moves an Element to a new parent
handleCopyvector<Id>,string,unsigned int,bool,boolhandleCopy( vector args, string newName, unsigned int nCopies, bool toGlobal, bool copyExtMsgs ): The vector 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.
handleUseClockstring,string,unsigned intDeals with assignment of path to a given clock.
handleSyncId,unsigned inthandleSync( Id Element): Synchronizes DataHandler indexing across nodesThe ElementId is the element being synchronized.The FuncId is the 'get' function for the synchronized field.
handleReMeshIdhandleReMesh( Id BaseMesh): Deals with outcome of resizing the meshing in a cellularcompartment (the ChemMesh class). The mesh change has topropagate down to the molecules and reactions managed by this.Mesh. The ElementId is the mesh being synchronized.
handleSetParserIdleFlagboolhandleSetParserIdleFlag( bool isParserIdle ): When True, tells the ProcessLoop to wait as the Parser is idle.
handleAckunsigned int,unsigned intKeeps track of # of acks to a blocking shell command. Arg: Source node num.

Shared message fields

FieldTypeDescription
mastervoidIssues commands from master shell to worker shells located on different nodes. Also handles acknowledgements from them.
workervoidHandles commands arriving from master shell on node 0.Sends out acknowledgements from them.
clockControlvoidControls the system Clock

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SimManager

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
syncTimedoubleSyncTime is the interval between synchronizing solvers5 msec is a typical value
autoPlotboolWhen the autoPlot flag is true, the simManager guesses whichplots are of interest, and builds them.
plotDtdoubleplotDt is the timestep for plotting variables. As most will bechemical, a default of 1 sec is reasonable
runTimedoublerunTime is the requested duration of the simulation that is stored in some kinds of model definition files.
methodstringmethod is the numerical method used for the calculations.This will set up or even replace the solver with one ableto use the specified method. Currently works only with two solvers: GSL and GSSA.The GSL solver has a variety of ODE methods, by defaultRunge-Kutta-Fehlberg.The GSSA solver currently uses the Gillespie StochasticSystems Algorithm, somewhat optimized over the originalmethod.
versionunsigned intNumerical version number. Used by kkit
modelFamilystringFamily classification of model: kinetic, andneuron are the options so far. In due course expect to see thingslike detailedNetwork, intFireNetwork, sigNeur and so on.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
requestMeshStatsvoidAsks for basic stats for mesh:Total # of entries, and a vector of unique volumes of voxels
nodeInfounsigned int,unsigned intSends out # of nodes to use for meshing, and # of threads to use on each node, to the ChemMesh. These numbers sometimesdiffer from the total # of nodes and threads, because the SimManager may have other portions of the model to allocate.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
buildstringSets up model, with the specified method. The method may beempty if the intention is that methods be set up through hints in the ChemMesh compartments.
makeStandardElementsstringSets up the usual infrastructure for a model, with theChemMesh, Stoich, solver and suitable messaging.The argument is the MeshClass to use.
meshSplitdouble,vector<unsigned int>,vector<unsigned int>,vector<unsigned int>,vector<unsigned int>Handles message from ChemMesh that defines howmeshEntries communicate between nodes.First arg is oldvol, next is list of other nodes, third arg is list number ofmeshEntries to be transferred for each of these nodes, fourth arg is catenated list of meshEntries indices onmy node going to each of the other connected nodes, andlast arg is matching list of meshEntries on other nodes
meshStatsunsigned int,vector<double>Basic statistics for mesh: Total # of entries, and a vectorof unique volumes of voxels

Shared message fields

FieldTypeDescription
nodeMeshingvoidConnects to ChemMesh to coordinate meshing with paralleldecomposition and with the Stoich

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SingleMsg

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
e1IdId of source Element.
e2IdId of source Element.
srcFieldsOnE1vector<string>Names of SrcFinfos for messages going from e1 to e2. There arematching entries in the destFieldsOnE2 vector
destFieldsOnE2vector<string>Names of DestFinfos for messages going from e1 to e2. There arematching entries in the srcFieldsOnE1 vector
srcFieldsOnE2vector<string>Names of SrcFinfos for messages going from e2 to e1. There arematching entries in the destFieldsOnE1 vector
destFieldsOnE1vector<string>Names of destFinfos for messages going from e2 to e1. There arematching entries in the srcFieldsOnE2 vector
i1DataIdIndex of source object.
i2DataIdIndex of dest object.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SolverJunction

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
numReacsunsigned intNumber of cross-compartment reactions on this Junction
numDiffMolsunsigned intNumber of molecule species diffusing across this Junction
numMeshEntriesunsigned intNumber of voxels (mesh entries) handled by Junction
otherCompartmentIdId of compartment on other side of this Junction. Readily obtained by message traversal, just a utility field.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
junctionPoolNumvector<double>Sends out vector of all mol #s needed to compute junction rates.
junctionPoolDeltavector<double>Sends out vector of all mol # changes going across junction.
junctionPoolNumvector<double>Sends out vector of all mol #s needed to compute junction rates.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
handleJunctionPoolNumvector<double>Handles vector of doubles specifying pool num, that arrive at the Junction, by redirecting up to parent StoichPools object
handleJunctionPoolNumvector<double>Handles vector of doubles specifying pool num, that arrive at the Junction, by redirecting up to parent StoichPools object
handleJunctionPoolDeltavector<double>Handles vector of doubles with pool num changes that arrive at the Junction, by redirecting up to parent StoichPools object

Shared message fields

FieldTypeDescription
symJunctionvoidSymmetric shared message between SolverJunctions to handle cross-solver reactions and diffusion. This variant sends only pool mol#s, and is symmetric.
masterJunctionvoidShared message between SolverJunctions to handle cross-solver reactions and diffusion. This sends the change in pool #, of abutting voxels, and receives the pool# of the same abutting voxels. Thus it operates on the solver that is doing the diffusion calculations. This will typically be the solver that operates at a finer level of detail. The order of detail is Smoldyn > Gillespie > deterministic. For two identical solvers we would typically have one with the finer grid size become the master Junction.
followerJunctionvoidShared message between SolverJunctions to handle cross-solver reactions and diffusion. This sends the pool #, of its boundary voxels, and receives back changes in the pool# of the same boundary voxels voxels. Thus it operates on the solver that is just tracking the diffusion calculations that the other (master) solver is doing

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SparseMsg

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
e1IdId of source Element.
e2IdId of source Element.
srcFieldsOnE1vector<string>Names of SrcFinfos for messages going from e1 to e2. There arematching entries in the destFieldsOnE2 vector
destFieldsOnE2vector<string>Names of DestFinfos for messages going from e1 to e2. There arematching entries in the srcFieldsOnE1 vector
srcFieldsOnE2vector<string>Names of SrcFinfos for messages going from e2 to e1. There arematching entries in the destFieldsOnE1 vector
destFieldsOnE1vector<string>Names of destFinfos for messages going from e2 to e1. There arematching entries in the srcFieldsOnE2 vector
numRowsunsigned intNumber of rows in matrix.
numColumnsunsigned intNumber of columns in matrix.
numEntriesunsigned intNumber of Entries in matrix.
probabilitydoubleconnection probability for random connectivity.
seedlongRandom number seed for generating probabilistic connectivity.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
setRandomConnectivitydouble,longAssigns connectivity with specified probability and seed
setEntryunsigned int,unsigned int,unsigned intAssigns single row,column value
unsetEntryunsigned int,unsigned intClears single row,column entry
clearvoidClears out the entire matrix
transposevoidTransposes the sparse matrix

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Species

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
molWtdoubleMolecular weight of species

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
sendMolWtdoublereturns molWt.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
handleMolWtRequestvoidHandle requests for molWt.

Shared message fields

FieldTypeDescription
poolvoidConnects to pools of this Species type

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SpherePanel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
nPtsunsigned intNumber of points used by panel to specify geometry
nDimsunsigned intNumber of Dimensions used by panel to specify geometry
numNeighborsunsigned intNumber of Neighbors of panel
shapeIdunsigned intIdentifier for shape type, as used by Smoldyn
coordsvector<double>All the coordinates for the panel. X vector, then Y, then ZZ can be left out for 2-D panels.Z and Y can be left out for 1-D panels.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toNeighborvoidIdentifies neighbors of the current panel

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
neighborvoidHandles incoming message from neighbor

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
xunsigned int,doublex coordinate identified by index
yunsigned int,doubley coordinate identified by index
zunsigned int,doublez coordinate identified by index

SpikeGen

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
thresholddoubleSpiking threshold, must cross it going up
refractTdoubleRefractory Time.
abs_refractdoubleAbsolute refractory time. Synonym for refractT.
hasFiredboolTrue if SpikeGen has just fired
edgeTriggeredboolWhen 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.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
eventdoubleSends out a trigger for an event.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
processvoidHandles process call
reinitvoidHandles reinit call
VmdoubleHandles Vm message coming in from compartment

Shared message fields

FieldTypeDescription
procvoidShared message to receive Process message from scheduler

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Stats

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
meandoubleMean of all sampled values.
sdevdoubleStandard Deviation of all sampled values.
sumdoubleSum of all sampled values.
numunsigned intNumber of all sampled values.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
reduceunsigned intExecute statistics reduction operation on all targets andplace results in this object

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
trigvoidTriggers Reduction operation.
processvoidHandles process call
reinitvoidHandles reinit call
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

StimulusTable

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
vecvector<double>vector with all table entries
outputValuedoubleOutput value holding current table entry or output of a calculation
sizeunsigned intsize of table. Note that this is the number of x divisions +1since it must represent the largest value as well as thesmallest
startTimedoubleStart 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.
stopTimedoubleTime 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.
loopTimedoubleIf 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.
stepSizedoubleIncrement in lookup (x) value on every timestep. If it isless than or equal to zero, the StimulusTable uses the current timeas the lookup value.
stepPositiondoubleCurrent 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.
doLoopboolFlag: Should it loop around to startTime once it has reachedstopTime. Default (zero) is to do a single pass.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputdoubleSends out tabulated data according to lookup parameters.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
linearTransformdouble,doubleLinearly scales and offsets data. Scale first, then offset.
xplotstring,stringDumps table contents to xplot-format file. Argument 1 is filename, argument 2 is plotname
plainPlotstringDumps table contents to single-column ascii file. Uses scientific notation. Argument 1 is filename
loadCSVstring,int,int,charReads a single column from a CSV file. Arguments: filename, column#, starting row#, separator
loadXplotstring,stringReads a single plot from an xplot file. Arguments: filename, plotnameWhen the file has 2 columns, the 2nd column is loaded.
loadXplotRangestring,string,unsigned int,unsigned intReads 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.
compareXplotstring,string,stringReads 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).
compareVecvector<double>,stringCompares 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).
clearVecvoidHandles request to clear the data vector
processvoidHandles process call, updates internal time stamp.
reinitvoidHandles reinit call.

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
yunsigned int,doubleValue of table at specified index

Stoich

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
useOneWayReacsboolFlag: use bidirectional or one-way reacs. One-way is neededfor Gillespie type stochastic calculations. Two-way islikely to be margninally more efficient in ODE calculations
nVarPoolsunsigned intNumber of variable molecule pools in the reac system
numMeshEntriesunsigned intNumber of meshEntries in reac-diff system
estimatedDtdoubleEstimate of fastest (smallest) timescale in system.This is fallible because it depends on instantaneous concs,which of course change over the course of the simulation.
pathstringPath of reaction system to take over

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
pluginIdSends out Stoich Id so that plugins can directly access fields and functions
nodeDiffBoundaryunsigned int,vector<unsigned int>,vector<double>Sends mol #s across boundary between nodes, to calculate diffusionterms. arg1 is originating node, arg2 is list of meshIndices forwhich data is being transferred, and arg3 are the 'n' values forall the pools on the specified meshIndices, to be plugged intothe appropriate place on the recipient node's S_ matrix
poolsReactingAcrossBoundaryunsigned int,vector<double>A vector of mol counts (n) of those pools that react across a boundary. Sent over to another Stoich every sync timestep so that the target Stoich has both sides of the boundary reaction. Assumes that the mesh encolosing the target Stoich also encloses the reaction object.
reacRollbacksAcrossBoundaryunsigned int,vector<double>Occasionally, a Gillespie advance will cause the mol conc on the target stoich side to become negative. If so, this message does a patch up job by telling the originating Stoich to roll back to the specified number of reac firings, which is the max that the target was able to handle. This is probably numerically naughty, but it is better than negative concentrations
reacRatesAcrossBoundaryunsigned int,vector<double>A vector of reac rates (V) of each reaction crossing the boundary between compartments. Sent over to another Stoich every sync timestep so that the target Stoich has both sides of the boundary reaction. In the case of Gillespie calculations V is the integer # of transitions (firings) of each reaction. Assumes that the mesh encolosing the target Stoich also encloses the reaction object.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
meshSplitdouble,vector<double>,vector<unsigned int>,vector< vector<unsigned int> >,vector< vector<unsigned int> >Handles message from ChemMesh that defines how meshEntries are decomposed on this node, and how they communicate between nodes.Args: (oldVol, volumeVectorForAllEntries, localEntryList, outgoingDiffusion[node#][entry#], incomingDiffusion[node#][entry#])
handleReacRatesAcrossBoundaryunsigned int,vector<double>When we have reactions that cross compartment boundaries, we may have different solvers and meshes on either side. This message handle info for two things: Arg 1: An identifier for the boundary. Arg 2: A vector of reaction rates for every reaction across the boundary, in every mesh entry.
handlePoolsReactingAcrossBoundaryunsigned int,vector<double>When we have reactions that cross compartment boundaries, we may have different solvers and meshes on either side. This message handle info for two things: Arg 1: An identifier for the boundary. Arg 2: A vector of pool #s for every pool that reacts across the boundary, in every mesh entry. that reacts across a boundary, in every mesh entry
handleReacRollbacksAcrossBoundaryunsigned int,vector<double>When we have reactions that cross compartment boundaries, we may have different solvers and meshes on either side. Only one side does the calculations to assure mass conservation. There are rare cases when the calculations of one solver, typically a Gillespie one, gives such a large change that the concentrations on the other side would become negative in one or more molecules This message handles such cases on the Gillespie side, by telling the solver to roll back its recent calculation and instead use the specified vector for the rates, that is the # of mols changed in the latest timestep. This message handle info for two things: Arg 1: An identifier for the boundary. Arg 2: A vector of reaction rates for every reaction across the boundary, in every mesh entry.

Shared message fields

FieldTypeDescription
boundaryReacOutvoidShared message between Stoichs to handle reactions taking molecules between the pools handled by the two Stoichs.
boundaryReacInvoidShared message between Stoichs to handle reactions taking molecules between the pools handled by the two Stoichs.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

StoichCore

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
useOneWayReacsboolFlag: use bidirectional or one-way reacs. One-way is neededfor Gillespie type stochastic calculations. Two-way islikely to be margninally more efficient in ODE calculations
nVarPoolsunsigned intNumber of variable molecule pools in the reac system
estimatedDtdoubleEstimate of fastest (smallest) timescale in system.This is fallible because it depends on instantaneous concs,which of course change over the course of the simulation.
pathstringPath of reaction system to take over

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

StoichPools

Author: Upinder S. Bhalla, 2012, NCBS

Description: Pure virtual base class for handling reaction pools. GslStoich is derived from this.

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
addJunctionIdAdd a junction between the current solver and the one whose Id is passed in.
dropJunctionIdDrops a junction between the current solver and the one whose Id is passed in. Ignores if no junction.

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SumFunc

Author: Upi Bhalla

Description: SumFunc object. Adds up all inputs

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
resultdoubleOutcome of function computation

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputdoubleSends out sum on each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
inputdoubleHandles 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.
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Surface

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
volumedoubleThis is something I'll need to write a function to compute.Perhaps have an update routine as it may be hard to compute but is needed often by the molecules.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
absorbvoidthese help the system define non-standard operations for what a molecule does when it hits a surface.The default is reflect.As a molecule may interact with multiple surfaces, it isn't enough to confer a property on the molecule itself. We have to use messages. Perhaps we don't need these, but instead put entities on the surface which the molecule interacts with if it doesn't do the basic reflect operation.
transmitvoidSurface lets molecules through
jumpvoiddunno
mixturevoiddunno
surfacedouble,double,doubleConnects up to a compartment, either as interior or exterior Args are volume, area, perimeter

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SymCompartment

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
Vmdoublemembrane potential
CmdoubleMembrane capacitance
EmdoubleResting membrane potential
ImdoubleCurrent going through membrane
injectdoubleCurrent injection to deliver into compartment
initVmdoubleInitial value for membrane potential
RmdoubleMembrane resistance
RadoubleAxial resistance of compartment
diameterdoubleDiameter of compartment
lengthdoubleLength of compartment
x0doubleX coordinate of start of compartment
y0doubleY coordinate of start of compartment
z0doubleZ coordinate of start of compartment
xdoublex coordinate of end of compartment
ydoubley coordinate of end of compartment
zdoublez coordinate of end of compartment

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
VmOutdoubleSends out Vm value of compartment on each timestep
axialOutdoubleSends out Vm value of compartment to adjacent compartments,on each timestep
raxialOutdouble,doubleSends out Raxial information on each timestep, fields are Ra and Vm
raxialOutdouble,doubleSends out Ra and Vm on each timestep
sumRaxialOutdoubleSends out Ra
requestSumAxialvoidSends out request for Ra.
raxialOutdouble,doubleSends out Ra and Vm on each timestep
sumRaxialOutdoubleSends out Ra
requestSumAxialvoidSends out request for Ra.
Raxial2Outdouble,doubleSends out Ra and Vm
sumRaxial2OutdoubleSends out Ra
requestSumAxial2voidSends out request for Ra.
Raxial2Outdouble,doubleSends out Ra and Vm
sumRaxial2OutdoubleSends out Ra
requestSumAxial2voidSends out request for Ra.
Raxial2Outdouble,doubleSends out Ra and Vm
sumRaxial2OutdoubleSends out Ra
requestSumAxial2voidSends out request for Ra.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
injectMsgdoubleThe 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
randInjectdouble,doubleSends a random injection current to the compartment. Must beupdated each timestep.Arguments to randInject are probability and current.
injectMsgdoubleThe 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
cablevoidMessage for organizing compartments into groups, calledcables. Doesn't do anything.
processvoidHandles 'process' call
reinitvoidHandles 'reinit' call
initProcvoidHandles Process call for the 'init' phase of the Compartment calculations. These occur as a separate Tick cycle from the regular proc cycle, and should be called before the proc msg.
initReinitvoidHandles Reinit call for the 'init' phase of the Compartment calculations.
handleChanneldouble,doubleHandles conductance and Reversal potential arguments from Channel
handleRaxialdouble,doubleHandles Raxial info: arguments are Ra and Vm.
handleAxialdoubleHandles Axial information. Argument is just Vm.
raxialSymdouble,doubleExpects Ra and Vm from other compartment.
sumRaxialdoubleExpects Ra from other compartment.
handleSumRaxialRequestvoidHandle request to send back Ra to originating compartment.
parentMsgintMessage from Parent Element(s)

Shared message fields

FieldTypeDescription
procvoidThis 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.
initvoidThis 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.
channelvoidThis 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
axialvoidThis 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.
raxialvoidThis 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.
raxial1voidThis is a raxial shared message between symmetric compartments.It goes from the tail of the current compartment to one closer to the soma.
CONNECTTAILvoidThis is a raxial shared message between symmetric compartments.It is an alias for raxial1.
raxial2voidThis is a raxial2 shared message between symmetric compartments.It goes from the head of the current compartment to a compartment further away from the soma
CONNECTHEADvoidThis is a raxial2 shared message between symmetric compartments.It is an alias for raxial2.It goes from the current compartment to one further from the soma
CONNECTCROSSvoidThis is a raxial2 shared message between symmetric compartments.It is an alias for raxial2.Conceptually, this goes from the tail of the current compartment to the tail of a sibling compartment. However,this works out to the same as CONNECTHEAD in terms of equivalentcircuit.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SynBase

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
numSynapsesunsigned intNumber of synapses on SynBase

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SynChan

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
numSynapsesunsigned intNumber of synapses on SynBase
GbardoubleMaximal channel conductance
EkdoubleReversal potential of channel
GkdoubleChannel conductance variable
IkdoubleChannel current variable
tau1doubleDecay time constant for the synaptic conductance, tau1 >= tau2.
tau2doubleRise time constant for the synaptic conductance, tau1 >= tau2.
normalizeWeightsboolFlag. If true, the overall conductance is normalized by the number of individual synapses in this SynChan object.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
permeabilitydoubleConductance term going out to GHK object
IkOutdoubleChannel current. This message typically goes to concenobjects that keep track of ion concentration.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
VmdoubleHandles Vm message coming in from compartment
VmdoubleHandles Vm message coming in from compartment
processvoidHandles process call
reinitvoidHandles reinit call
activationdoubleSometimes we want to continuously activate the channel
modulatordoubleModulate channel response

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage to Goldman-Hodgkin-Katz object
procvoidShared message to receive Process message from scheduler

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

SynChanBase

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
numSynapsesunsigned intNumber of synapses on SynBase
GbardoubleMaximal channel conductance
EkdoubleReversal potential of channel
GkdoubleChannel conductance variable
IkdoubleChannel current variable

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
permeabilitydoubleConductance term going out to GHK object
IkOutdoubleChannel current. This message typically goes to concenobjects that keep track of ion concentration.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
VmdoubleHandles Vm message coming in from compartment
VmdoubleHandles Vm message coming in from compartment

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage to Goldman-Hodgkin-Katz object

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Synapse

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
weightdoubleSynaptic weight
delaydoubleAxonal propagation delay to this synapse

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
addSpikedoubleHandles arriving spike messages, by redirecting up to parent SynBase object

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Table

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
vecvector<double>vector with all table entries
outputValuedoubleOutput value holding current table entry or output of a calculation
sizeunsigned intsize of table. Note that this is the number of x divisions +1since it must represent the largest value as well as thesmallest
thresholddoublethreshold used when Table acts as a buffer for spikes

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
requestDataunsigned intSends request for a field to target object

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
linearTransformdouble,doubleLinearly scales and offsets data. Scale first, then offset.
xplotstring,stringDumps table contents to xplot-format file. Argument 1 is filename, argument 2 is plotname
plainPlotstringDumps table contents to single-column ascii file. Uses scientific notation. Argument 1 is filename
loadCSVstring,int,int,charReads a single column from a CSV file. Arguments: filename, column#, starting row#, separator
loadXplotstring,stringReads a single plot from an xplot file. Arguments: filename, plotnameWhen the file has 2 columns, the 2nd column is loaded.
loadXplotRangestring,string,unsigned int,unsigned intReads 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.
compareXplotstring,string,stringReads 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).
compareVecvector<double>,stringCompares 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).
clearVecvoidHandles request to clear the data vector
inputdoubleFills data into the Table.
spikedoubleFills spike timings into the Table. Signal has to exceed thresh
recvDatabadHandles data sent back following request
processvoidHandles process call, updates internal time stamp.
reinitvoidHandles reinit call.

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
yunsigned int,doubleValue of table at specified index

TableBase

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
vecvector<double>vector with all table entries
outputValuedoubleOutput value holding current table entry or output of a calculation
sizeunsigned intsize of table. Note that this is the number of x divisions +1since it must represent the largest value as well as thesmallest

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
linearTransformdouble,doubleLinearly scales and offsets data. Scale first, then offset.
xplotstring,stringDumps table contents to xplot-format file. Argument 1 is filename, argument 2 is plotname
plainPlotstringDumps table contents to single-column ascii file. Uses scientific notation. Argument 1 is filename
loadCSVstring,int,int,charReads a single column from a CSV file. Arguments: filename, column#, starting row#, separator
loadXplotstring,stringReads a single plot from an xplot file. Arguments: filename, plotnameWhen the file has 2 columns, the 2nd column is loaded.
loadXplotRangestring,string,unsigned int,unsigned intReads 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.
compareXplotstring,string,stringReads 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).
compareVecvector<double>,stringCompares 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).
clearVecvoidHandles request to clear the data vector

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
yunsigned int,doubleValue of table at specified index

TableEntry

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
valuedoubleData value in this entry

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

Tick

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
dtdoubleTimestep for this tick
localdtdoubleTimestep for this tick

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
process0PK8ProcInfoProcess for Tick 0
reinit0PK8ProcInfoReinit for Tick 0
process1PK8ProcInfoProcess for Tick 1
reinit1PK8ProcInfoReinit for Tick 1
process2PK8ProcInfoProcess for Tick 2
reinit2PK8ProcInfoReinit for Tick 2
process3PK8ProcInfoProcess for Tick 3
reinit3PK8ProcInfoReinit for Tick 3
process4PK8ProcInfoProcess for Tick 4
reinit4PK8ProcInfoReinit for Tick 4
process5PK8ProcInfoProcess for Tick 5
reinit5PK8ProcInfoReinit for Tick 5
process6PK8ProcInfoProcess for Tick 6
reinit6PK8ProcInfoReinit for Tick 6
process7PK8ProcInfoProcess for Tick 7
reinit7PK8ProcInfoReinit for Tick 7
process8PK8ProcInfoProcess for Tick 8
reinit8PK8ProcInfoReinit for Tick 8
process9PK8ProcInfoProcess for Tick 9
reinit9PK8ProcInfoReinit for Tick 9

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

FieldTypeDescription
proc0voidShared proc/reinit message
proc1voidShared proc/reinit message
proc2voidShared proc/reinit message
proc3voidShared proc/reinit message
proc4voidShared proc/reinit message
proc5voidShared proc/reinit message
proc6voidShared proc/reinit message
proc7voidShared proc/reinit message
proc8voidShared proc/reinit message
proc9voidShared proc/reinit message

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

TriPanel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
nPtsunsigned intNumber of points used by panel to specify geometry
nDimsunsigned intNumber of Dimensions used by panel to specify geometry
numNeighborsunsigned intNumber of Neighbors of panel
shapeIdunsigned intIdentifier for shape type, as used by Smoldyn
coordsvector<double>All the coordinates for the panel. X vector, then Y, then ZZ can be left out for 2-D panels.Z and Y can be left out for 1-D panels.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toNeighborvoidIdentifies neighbors of the current panel

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
neighborvoidHandles incoming message from neighbor

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
xunsigned int,doublex coordinate identified by index
yunsigned int,doubley coordinate identified by index
zunsigned int,doublez coordinate identified by index

VectorTable

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
xdivsunsigned intNumber of divisions.
xmindoubleMinimum value in table.
xmaxdoubleMaximum value in table.
invdxdoubleMaximum value in table.
tablevector<double>The lookup table.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)

Shared message fields

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.
lookupvaluedouble,doubleLookup function that performs interpolation to return a value.
lookupindexunsigned int,doubleLookup function that returns value by index.

ZBufPool

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZEnz

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
KmdoubleMichaelis-Menten constant in SI conc units (milliMolar)
numKmdoubleMichaelis-Menten constant in number units, volume dependent
kcatdoubleForward rate constant for enzyme, units 1/sec
numSubstratesunsigned intNumber of substrates in this MM reaction. Usually 1.Does not include the enzyme itself
k1doubleForward reaction from enz + sub to complex
k2doubleReverse reaction from complex to enz + sub
k3doubleForward rate constant from complex to product + enz
ratiodoubleRatio of k2/k3
concK1doubleK1 expressed in concentration (1/millimolar.sec) units

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep
toEnzdouble,doubleSends out increment of molecules on product each timestep
toCplxdouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
enzDestdoubleHandles # of molecules of Enzyme
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product. Dummy.
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the MMEnz to recompute its numKm after remeshing
enzDestdoubleHandles # of molecules of Enzyme
cplxDestdoubleHandles # of molecules of enz-sub complex

Shared message fields

FieldTypeDescription
subvoidConnects to substrate molecule
prdvoidConnects to product molecule
procvoidShared message for process and reinit
enzvoidConnects to enzyme pool
cplxvoidConnects to enz-sub complex pool

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZFuncPool

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes
inputdoubleHandles input to control value of n_

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZMMenz

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
KmdoubleMichaelis-Menten constant in SI conc units (milliMolar)
numKmdoubleMichaelis-Menten constant in number units, volume dependent
kcatdoubleForward rate constant for enzyme, units 1/sec
numSubstratesunsigned intNumber of substrates in this MM reaction. Usually 1.Does not include the enzyme itself

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
enzDestdoubleHandles # of molecules of Enzyme
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product. Dummy.
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the MMEnz to recompute its numKm after remeshing

Shared message fields

FieldTypeDescription
subvoidConnects to substrate molecule
prdvoidConnects to product molecule
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZPool

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZReac

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
kfdoubleForward rate constant, in # units
kbdoubleReverse rate constant, in # units
KfdoubleForward rate constant, in concentration units
KbdoubleReverse rate constant, in concentration units
numSubstratesunsigned intNumber of substrates of reaction
numProductsunsigned intNumber of products of reaction

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the reac to recompute its numRates, as remeshing has happened

Shared message fields

FieldTypeDescription
subvoidConnects to substrate pool
prdvoidConnects to substrate pool
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombieBufPool

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombieCaConc

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
CadoubleCalcium concentration.
CaBasaldoubleBasal Calcium concentration.
Ca_basedoubleBasal Calcium concentration, synonym for CaBasal
taudoubleSettling time for Ca concentration
BdoubleVolume scaling factor
thickdoubleThickness of Ca shell.
ceilingdoubleCeiling value for Ca concentration. If Ca > ceiling, Ca = ceiling. If ceiling <= 0.0, there is no upper limit on Ca concentration value.
floordoubleFloor value for Ca concentration. If Ca < floor, Ca = floor

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
concOutdoubleConcentration of Ca in pool

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
processvoidHandles process call
reinitvoidHandles reinit call
currentdoubleCalcium Ion current, due to be converted to conc.
currentFractiondouble,doubleFraction of total Ion current, that is carried by Ca2+.
increasedoubleAny input current that increases the concentration.
decreasedoubleAny input current that decreases the concentration.
basaldoubleSynonym for assignment of basal conc.

Shared message fields

FieldTypeDescription
procvoidShared message to receive Process message from scheduler

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombieCompartment

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
Vmdoublemembrane potential
CmdoubleMembrane capacitance
EmdoubleResting membrane potential
ImdoubleCurrent going through membrane
injectdoubleCurrent injection to deliver into compartment
initVmdoubleInitial value for membrane potential
RmdoubleMembrane resistance
RadoubleAxial resistance of compartment
diameterdoubleDiameter of compartment
lengthdoubleLength of compartment
x0doubleX coordinate of start of compartment
y0doubleY coordinate of start of compartment
z0doubleZ coordinate of start of compartment
xdoublex coordinate of end of compartment
ydoubley coordinate of end of compartment
zdoublez coordinate of end of compartment

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
VmOutdoubleSends out Vm value of compartment on each timestep
axialOutdoubleSends out Vm value of compartment to adjacent compartments,on each timestep
raxialOutdouble,doubleSends out Raxial information on each timestep, fields are Ra and Vm

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
injectMsgdoubleThe 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
randInjectdouble,doubleSends a random injection current to the compartment. Must beupdated each timestep.Arguments to randInject are probability and current.
injectMsgdoubleThe 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
cablevoidMessage for organizing compartments into groups, calledcables. Doesn't do anything.
processvoidHandles 'process' call
reinitvoidHandles 'reinit' call
initProcvoidHandles Process call for the 'init' phase of the Compartment calculations. These occur as a separate Tick cycle from the regular proc cycle, and should be called before the proc msg.
initReinitvoidHandles Reinit call for the 'init' phase of the Compartment calculations.
handleChanneldouble,doubleHandles conductance and Reversal potential arguments from Channel
handleRaxialdouble,doubleHandles Raxial info: arguments are Ra and Vm.
handleAxialdoubleHandles Axial information. Argument is just Vm.

Shared message fields

FieldTypeDescription
procvoidThis 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.
initvoidThis 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.
channelvoidThis 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
axialvoidThis 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.
raxialvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombieEnz

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
KmdoubleMichaelis-Menten constant in SI conc units (milliMolar)
numKmdoubleMichaelis-Menten constant in number units, volume dependent
kcatdoubleForward rate constant for enzyme, units 1/sec
numSubstratesunsigned intNumber of substrates in this MM reaction. Usually 1.Does not include the enzyme itself
k1doubleForward reaction from enz + sub to complex
k2doubleReverse reaction from complex to enz + sub
k3doubleForward rate constant from complex to product + enz
ratiodoubleRatio of k2/k3
concK1doubleK1 expressed in concentration (1/millimolar.sec) units

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep
toEnzdouble,doubleSends out increment of molecules on product each timestep
toCplxdouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
enzDestdoubleHandles # of molecules of Enzyme
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product. Dummy.
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the MMEnz to recompute its numKm after remeshing
enzDestdoubleHandles # of molecules of Enzyme
cplxDestdoubleHandles # of molecules of enz-sub complex

Shared message fields

FieldTypeDescription
subvoidConnects to substrate molecule
prdvoidConnects to product molecule
procvoidShared message for process and reinit
enzvoidConnects to enzyme pool
cplxvoidConnects to enz-sub complex pool

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombieFuncPool

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes
inputdoubleHandles input to control value of n_

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombieHHChannel

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
GbardoubleMaximal channel conductance
EkdoubleReversal potential of channel
GkdoubleChannel conductance variable
IkdoubleChannel current variable
XpowerdoublePower for X gate
YpowerdoublePower for Y gate
ZpowerdoublePower for Z gate
instantintBitmapped 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
XdoubleState variable for X gate
YdoubleState variable for Y gate
ZdoubleState variable for Y gate
useConcentrationintFlag: when true, use concentration message rather than Vm tocontrol Z gate

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
channelOutdouble,doubleSends channel variables Gk and Ek to compartment
permeabilitydoubleConductance term going out to GHK object
IkOutdoubleChannel current. This message typically goes to concenobjects that keep track of ion concentration.

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
VmdoubleHandles Vm message coming in from compartment
VmdoubleHandles Vm message coming in from compartment
processvoidHandles process call
reinitvoidHandles reinit call
concendoubleIncoming message from Concen object to specific conc to usein the Z gate calculations
createGatestringFunction to create specified gate.Argument: Gate type [X Y Z]

Shared message fields

FieldTypeDescription
channelvoidThis 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.
ghkvoidMessage to Goldman-Hodgkin-Katz object
procvoidThis 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.

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombieMMenz

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
KmdoubleMichaelis-Menten constant in SI conc units (milliMolar)
numKmdoubleMichaelis-Menten constant in number units, volume dependent
kcatdoubleForward rate constant for enzyme, units 1/sec
numSubstratesunsigned intNumber of substrates in this MM reaction. Usually 1.Does not include the enzyme itself

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
enzDestdoubleHandles # of molecules of Enzyme
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product. Dummy.
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the MMEnz to recompute its numKm after remeshing

Shared message fields

FieldTypeDescription
subvoidConnects to substrate molecule
prdvoidConnects to product molecule
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombiePool

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
ndoubleNumber of molecules in pool
nInitdoubleInitial value of number of molecules in pool
diffConstdoubleDiffusion constant of molecule
concdoubleConcentration of molecules in this pool
concInitdoubleInitial value of molecular concentration in pool
sizedoubleSize of compartment. Units are SI. Utility field, the actual size info is stored on a volume mesh entry in the parent compartment.This is hooked up by a message. If the message isn'tavailable size is just taken as 1
speciesIdunsigned intSpecies identifier for this mol pool. Eventually link to ontology.

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
nOutdoubleSends out # of molecules in pool on each timestep
requestMolWtvoidRequests Species object for mol wt
requestSizedoubleRequests Size of pool from matching mesh entry

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
groupvoidHandle for grouping. Doesn't do anything.
reacDestdouble,doubleHandles reaction input
processvoidHandles process call
reinitvoidHandles reinit call
handleMolWtdoubleSeparate finfo to assign molWt, and consequently diffusion const.Should only be used in SharedMsg with species.
remeshdouble,unsigned int,unsigned int,vector<unsigned int>,vector<double>Handle commands to remesh the pool. This may involve changing the number of pool entries, as well as changing their volumes

Shared message fields

FieldTypeDescription
reacvoidConnects to reaction
procvoidShared message for process and reinit
speciesvoidShared message for connecting to species objects
meshvoidShared message for dealing with mesh operations

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombieReac

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
kfdoubleForward rate constant, in # units
kbdoubleReverse rate constant, in # units
KfdoubleForward rate constant, in concentration units
KbdoubleReverse rate constant, in concentration units
numSubstratesunsigned intNumber of substrates of reaction
numProductsunsigned intNumber of products of reaction

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
toSubdouble,doubleSends out increment of molecules on product each timestep
toPrddouble,doubleSends out increment of molecules on product each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
subDestdoubleHandles # of molecules of substrate
prdDestdoubleHandles # of molecules of product
processvoidHandles process call
reinitvoidHandles reinit call
remeshvoidTells the reac to recompute its numRates, as remeshing has happened

Shared message fields

FieldTypeDescription
subvoidConnects to substrate pool
prdvoidConnects to substrate pool
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

ZombieSumFunc

Value fields

FieldTypeDescription
thisNeutralAccess function for entire object
namestringName of object
meObjIdObjId for current object
parentObjIdParent ObjId for current object
childrenvector<Id>vector of ObjIds listing all children of current object
pathstringtext path for object
classstringClass Name of object
linearSizeunsigned int# of entries on Element: product of all dimensions.Note that on a FieldElement this includes field entries.If field entries form a ragged array, then the linearSize may begreater than the actual number of allocated entries, since thelastDimension is at least as big as the largest ragged array.
objectDimensionsvector<unsigned int>Array Dimensions of object on the Element.This includes the lastDimension (field dimension) if present.
lastDimensionunsigned intMax size of the last dimension of the object.In the case of regular objects, resizing this value resizesthe last dimensionIn the case of ragged arrays (such as synapses), resizing thisvalue resizes the upper limit of the last dimension,but cannot make it smaller than the biggest ragged array size.Normally is only assigned from Shell::doSyncDataHandler.
localNumFieldunsigned intFor a FieldElement: number of entries of self on current nodeFor a regular Element: zero.
pathIndicesvector< vector<unsigned int> >Indices of the entire path hierarchy leading up to this Object.
msgOutvector<ObjId>Messages going out from this Element
msgInvector<ObjId>Messages coming in to this Element
resultdoubleoutcome of summation

Source message fields

FieldTypeDescription
childMsgintMessage to child Elements
outputdoubleSends out sum on each timestep

Destination message fields

FieldTypeDescription
parentMsgintMessage from Parent Element(s)
inputdoubleHandles input values
processvoidHandles process call
reinitvoidHandles reinit call

Shared message fields

FieldTypeDescription
procvoidShared message for process and reinit

Lookup fields

FieldTypeDescription
neighboursstring,vector<Id>Ids of Elements connected this Element on specified field.

testSched

Value fields

Source message fields

Destination message fields

FieldTypeDescription
processvoidhandles process call

Shared message fields

Lookup fields

MOOSE Functions

ce

Set the current working element. 'ce' is an alias of this function

connect

connect(src, src_field, dest, dest_field, message_type) -> bool

Create a message between src_field on src object to dest_field

on dest object.

Parameters

src : element

the source object

src_field : str

the source field name. Fields listed under srcFinfo and

sharedFinfo qualify for this.

dest : element

the destination object.

dest_field : str

the destination field name. Fields listed under destFinfo

and sharedFinfo qualify for this.

message_type : str (optional)

Type of the message. Can be Single, OneToOne, OneToAll.

If not specified, it defaults to Single.

Returns

element of the message-manager for the newly created message.

Example

Connect the output of a pulse generator to the input of a spike

generator:


>>> pulsegen = moose.PulseGen('pulsegen') >>> spikegen = moose.SpikeGen('spikegen') >>> moose.connect(pulsegen, 'outputOut', spikegen, 'Vm') 1

copy

copy(src, dest, name, n, toGlobal, copyExtMsg) -> bool

Make copies of a moose object.

Parameters

src : ematrix, element or str

source object.

dest : ematrix, element or str

Destination object to copy into.

name : str

Name of the new object. If omitted, name of the original will be used.

n : int

Number of copies to make.

toGlobal: int

Relevant for parallel environments only. If false, the copies will

reside on local node, otherwise all nodes get the copies.

copyExtMsg: int

If true, messages to/from external objects are also copied.

Returns

ematrix of the copied object

delete

moose.delete(id)

Delete the underlying moose object. This does not delete any of the

Python objects referring to this ematrix but does invalidate them. Any

attempt to access them will raise a ValueError.

Parameters

id : ematrix

ematrix of the object to be deleted.

element

moose.element(arg) -> moose object

Convert a path or an object to the appropriate builtin moose class

instance

Parameters

arg: str or ematrix or moose object

path of the moose element to be converted or another element (possibly

available as a superclass instance).

Returns

An element of the moose builtin class the specified object belongs

to.

exists

True if there is an object with specified path.

getCwe

Get the current working element. 'pwe' is an alias of this function.

getField

getField(element, field, fieldtype) -- Get specified field of specified type from object ematrix.

getFieldDict

getFieldDict(className, finfoType) -> dict

Get dictionary of field names and types for specified class.

Parameters

className : str

MOOSE class to find the fields of.

finfoType : str (optional)

Finfo type of the fields to find. If empty or not specified, all

fields will be retrieved.

note: This behaviour is different from getFieldNames where only

valueFinfos are returned when finfoType remains unspecified.

Example

List all the source fields on class Neutral:


>>> moose.getFieldDict('Neutral', 'srcFinfo') {'childMsg': 'int'}

getFieldNames

getFieldNames(className, finfoType='valueFinfo') -> tuple

Get a tuple containing the name of all the fields of finfoType

kind.

Parameters

className : string

Name of the class to look up.

finfoType : string

The kind of field (valueFinfo, srcFinfo, destFinfo,

lookupFinfo, fieldElementFinfo.).

isRunning

True if the simulation is currently running.

loadModel

loadModel(filename, modelpath, solverclass) -> moose.ematrix

Load model from a file to a specified path.

Parameters

filename : str

model description file.

modelpath : str

moose path for the top level element of the model to be created.

solverclass : str

(optional) solver type to be used for simulating the model.

Returns

ematrix instance refering to the loaded model container.

move

Move a ematrix object to a destination.

quit

Finalize MOOSE threads and quit MOOSE. This is made available for debugging purpose only. It will automatically get called when moose module is unloaded. End user should not use this function.

reinit

reinit() -> None

Reinitialize simulation.

This function (re)initializes moose simulation. It must be called

before you start the simulation (see moose.start). If you want to

continue simulation after you have called moose.reinit() and

moose.start(), you must NOT call moose.reinit() again. Calling

moose.reinit() again will take the system back to initial setting

(like clear out all data recording tables, set state variables to

their initial values, etc.

saveModel

saveModel(source, fileame)

Save model rooted at source to file filename.

Parameters

source: ematrix or element or str

root of the model tree

filename: str

destination file to save the model in.

Returns

None

seed

moose.seed(seedvalue) -> None

Reseed MOOSE random number generator.

Parameters

seed: int

Optional value to use for seeding. If 0, a random seed is

automatically created using the current system time and other

information. If not specified, it defaults to 0.

setClock

Set the dt of a clock.

setCwe

Set the current working element. 'ce' is an alias of this function

start

start(t) -> None

Run simulation for t time. Advances the simulator clock by t

time.

After setting up a simulation, YOU MUST CALL MOOSE.REINIT() before

CALLING MOOSE.START() TO EXECUTE THE SIMULATION. Otherwise, the

simulator behaviour will be undefined. Once moose.reinit() has been

called, you can call moose.start(t) as many time as you like. This

will continue the simulation from the last state for t time.

Parameters

t : float

duration of simulation.

Returns

None

See also

moose.reinit : (Re)initialize simulation

stop

Stop simulation

useClock

Schedule objects on a specified clock

wildcardFind

moose.wildcardFind(expression) -> tuple of ematrices.

Find an object by wildcard.

Parameters

expression: str

MOOSE allows wildcard expressions of the form

{PATH}/{WILDCARD}[{CONDITION}]

where {PATH} is valid path in the element tree.

{WILDCARD} can be # or ##.

# causes the search to be restricted to the children of the

element specified by {PATH}.

## makes the search to recursively go through all the descendants

of the {PATH} element.

{CONDITION} can be

TYPE={CLASSNAME} : an element satisfies this condition if it is of

class {CLASSNAME}.

ISA={CLASSNAME} : alias for TYPE={CLASSNAME}

CLASS={CLASSNAME} : alias for TYPE={CLASSNAME}

FIELD({FIELDNAME}){OPERATOR}{VALUE} : compare field {FIELDNAME} with

{VALUE} by {OPERATOR} where {OPERATOR} is a comparison operator (=,

!=, >, <, >=, <=).

For example, /mymodel/##[FIELD(Vm)>=-65] will return a list of all

the objects under /mymodel whose Vm field is >= -65.

writeSBML

Export biochemical model to an SBML file.

doc

Display the documentation for class or field in a class.

Parameters

arg: str or moose class or instance of melement or instance of ematrix

argument can be a string specifying a moose class name and a field

name separated by a dot. e.g., 'Neutral.name'. Prepending moose.

is allowed. Thus moose.doc('moose.Neutral.name') is equivalent to

the above.

argument can also be string specifying just a moose class name or

a moose class or a moose object (instance of melement or ematrix

or there subclasses). In that case, the builtin documentation for

the corresponding moose class is displayed.

paged: bool

Whether to display the docs via builtin pager or print and

exit. If not specified, it defaults to False and moose.doc(xyz)

will print help on xyz and return control to command line.

getfielddoc

Get the documentation for field specified by

tokens.

tokens should be a two element list/tuple where first element is a

MOOSE class name and second is the field name.

getmoosedoc

Retrieve MOOSE builtin documentation for tokens.

tokens is a list or tuple containing: (classname, [fieldname])

le

List elements.

Parameters

el: str/melement/ematrix/None

The element or the path under which to look. If None, children

of current working element are displayed.

listmsg

Return a list containing the incoming and outgoing messages of

the given object.

pwe

Print present working element. Convenience function for GENESIS

users.

showfield

Show the fields of the element, their data types and values in

human readable format. Convenience function for GENESIS users.

Parameters:

elem: str/melement instance

Element or path of an existing element.

field: str

Field to be displayed. If '*', all fields are displayed.

showtype: bool

If True show the data type of each field.

showfields

Convenience function. Should be deprecated if nobody uses it.

showmsg

Prints the incoming and outgoing messages of the given object.

syncDataHandler

Synchronize data handlers for target.

Parameter:

target -- target element or path or ematrix.