#include <HSolveActive.h>
Public Member Functions | |
HSolveActive () | |
void | setup (Id seed, double dt) |
void | step (ProcPtr info) |
Equivalent to process. | |
void | reinit (ProcPtr info) |
Protected Attributes | |
int | caAdvance_ |
double | vMin_ |
double | vMax_ |
int | vDiv_ |
double | caMin_ |
double | caMax_ |
int | caDiv_ |
vector< CurrentStruct > | current_ |
Channel current. | |
vector< double > | state_ |
Fraction of gates open. | |
vector< ChannelStruct > | channel_ |
to compartment: chan2compt | |
vector< SpikeGenStruct > | spikegen_ |
vector< SynChanStruct > | synchan_ |
vector< CaConcStruct > | caConc_ |
Ca pool info. | |
vector< double > | ca_ |
Ca conc in each pool. | |
vector< double > | caActivation_ |
calcium pool | |
vector< double * > | caTarget_ |
LookupTable | vTable_ |
LookupTable | caTable_ |
vector< bool > | gCaDepend_ |
depend on Ca conc? | |
vector< unsigned int > | caCount_ |
each compartment | |
vector< int > | caDependIndex_ |
depdt channel depend upon? | |
vector< LookupColumn > | column_ |
to lookup for this species | |
vector< LookupRow > | caRowCompt_ |
vector< LookupRow * > | caRow_ |
vector< int > | channelCount_ |
compartment | |
vector< currentVecIter > | currentBoundary_ |
vector< unsigned int > | chan2compt_ |
vector< unsigned int > | chan2state_ |
a state index | |
vector< double > | externalCurrent_ |
vector< Id > | caConcId_ |
Used for localIndex-ing. | |
vector< Id > | channelId_ |
Used for localIndex-ing. | |
vector< Id > | gateId_ |
Used for localIndex-ing. | |
vector< unsigned int > | outVm_ |
vector< unsigned int > | outCa_ |
HSolveActive::HSolveActive | ( | ) |
References caAdvance_.
void HSolveActive::reinit | ( | ProcPtr | info | ) |
References externalCurrent_.
void HSolveActive::setup | ( | Id | seed, | |
double | dt | |||
) |
Reimplemented from HSolvePassive.
void HSolveActive::step | ( | ProcPtr | info | ) |
Equivalent to process.
References HSolvePassive::backwardSubstitute(), channel_, current_, ProcInfo::dt, externalCurrent_, HSolvePassive::forwardEliminate(), and HinesMatrix::nCompt_.
Referenced by HSolve::process().
vector< double > HSolveActive::ca_ [protected] |
Ca conc in each pool.
Referenced by HSolve::getCa(), and HSolve::setCa().
vector< double > HSolveActive::caActivation_ [protected] |
int HSolveActive::caAdvance_ [protected] |
Solver parameters: exposed as fields in MOOSE caAdvance_: This flag determines how current flowing into a calcium pool is computed. A value of 0 means that the membrane potential at the beginning of the time-step is used for the calculation. This is how GENESIS does its computations. A value of 1 means the membrane potential at the middle of the time-step is used. This is the correct way of integration, and is the default way.
Referenced by HSolve::getCaAdvance(), HSolveActive(), and HSolve::setCaAdvance().
vector< CaConcStruct > HSolveActive::caConc_ [protected] |
Ca pool info.
Referenced by HSolve::getCa(), HSolve::getCaBasal(), HSolve::getCaCeiling(), HSolve::getCaFloor(), HSolve::iCa(), HSolve::setCa(), HSolve::setCaBasal(), HSolve::setCaCeiling(), HSolve::setCaFloor(), and HSolve::setTauB().
vector< Id > HSolveActive::caConcId_ [protected] |
Used for localIndex-ing.
vector< unsigned int > HSolveActive::caCount_ [protected] |
each compartment
Number of calcium pools in
vector< int > HSolveActive::caDependIndex_ [protected] |
depdt channel depend upon?
Which pool does each Ca
int HSolveActive::caDiv_ [protected] |
Referenced by HSolve::getCaDiv(), and HSolve::setCaDiv().
double HSolveActive::caMax_ [protected] |
Referenced by HSolve::getCaMax(), and HSolve::setCaMax().
double HSolveActive::caMin_ [protected] |
Referenced by HSolve::getCaMin(), and HSolve::setCaMin().
vector< LookupRow* > HSolveActive::caRow_ [protected] |
Points into caRowCompt. For each channel, points to the appropriate pool's LookupRow in the caRowCompt vector. This value is then used by the channel. Also happens in HSolveActive::advanceChannels
vector< LookupRow > HSolveActive::caRowCompt_ [protected] |
Lookup row buffer. For each compartment, the lookup rows for calcium dependent channels are loaded into this vector before being used. The vector is then reused for the next compartment. This vector therefore has a size equal to the maximum number of calcium pools across all compartments. This is done in HSolveActive::advanceChannels
LookupTable HSolveActive::caTable_ [protected] |
vector< double* > HSolveActive::caTarget_ [protected] |
For each channel, which calcium pool is being fed? Points into caActivation.
vector< unsigned int > HSolveActive::chan2compt_ [protected] |
Index of the compt to which a given (index) channel belongs.
Referenced by HSolve::getIk().
vector< unsigned int > HSolveActive::chan2state_ [protected] |
a state index
Converts a chnnel index to
Referenced by HSolve::getX(), HSolve::getY(), HSolve::getZ(), HSolve::setX(), HSolve::setY(), and HSolve::setZ().
vector< ChannelStruct > HSolveActive::channel_ [protected] |
to compartment: chan2compt
Vector of channels. Link
Referenced by HSolve::getHHChannelGbar(), HSolve::getInstant(), HSolve::getX(), HSolve::getY(), HSolve::getZ(), HSolve::setHHChannelGbar(), HSolve::setHHmodulation(), HSolve::setInstant(), HSolve::setPowers(), HSolve::setX(), HSolve::setY(), HSolve::setZ(), and step().
vector< int > HSolveActive::channelCount_ [protected] |
compartment
Number of channels in each
vector< Id > HSolveActive::channelId_ [protected] |
Used for localIndex-ing.
vector< LookupColumn > HSolveActive::column_ [protected] |
to lookup for this species
Which column in the table
vector< CurrentStruct > HSolveActive::current_ [protected] |
Channel current.
Internal data structures. Will also be accessed in derived class HSolve.
Referenced by HSolve::getEk(), HSolve::getGk(), HSolve::getIk(), HSolve::getIm(), HSolve::setEk(), HSolve::setGk(), and step().
vector< currentVecIter > HSolveActive::currentBoundary_ [protected] |
Used to designate compt boundaries in the current_ vector.
Referenced by HSolve::getIm().
vector< double > HSolveActive::externalCurrent_ [protected] |
External currents from channels that HSolve cannot internalize.
Referenced by HSolve::addGkEk(), reinit(), and step().
vector< Id > HSolveActive::gateId_ [protected] |
Used for localIndex-ing.
vector< bool > HSolveActive::gCaDepend_ [protected] |
depend on Ca conc?
Does the conductance
vector< unsigned int > HSolveActive::outCa_ [protected] |
concOut info. Tells you which compartments have external calcium-dependent channels so that you can send out Calcium concentrations in only those compartments.
vector< unsigned int > HSolveActive::outVm_ [protected] |
VmOut info. Tells you which compartments have external voltage-dependent channels (if any), so that you can send out Vm values only in those places
vector< SpikeGenStruct > HSolveActive::spikegen_ [protected] |
vector< double > HSolveActive::state_ [protected] |
Fraction of gates open.
Referenced by HSolve::getX(), HSolve::getY(), HSolve::getZ(), HSolve::setX(), HSolve::setY(), and HSolve::setZ().
vector< SynChanStruct > HSolveActive::synchan_ [protected] |
int HSolveActive::vDiv_ [protected] |
Referenced by HSolve::getVDiv(), and HSolve::setVDiv().
double HSolveActive::vMax_ [protected] |
Referenced by HSolve::getVMax(), and HSolve::setVMax().
double HSolveActive::vMin_ [protected] |
vMin_, vMax_, vDiv_, caMin_, caMax_, caDiv_:
These are the parameters for the lookup tables for rate constants. 'min' and 'max' are the boundaries within which the function is defined. 'div' is the number of divisions between min and max.
Referenced by HSolve::getVMin(), and HSolve::setVMin().
LookupTable HSolveActive::vTable_ [protected] |