MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <ZombieCompartment.h>
Public Member Functions | |
void | dummy (const Eref &e, ProcPtr p) |
double | mtrand (void) |
double | vGetCm (const Eref &e) const |
double | vGetEm (const Eref &e) const |
double | vGetIm (const Eref &e) const |
double | vGetInitVm (const Eref &e) const |
double | vGetInject (const Eref &e) const |
double | vGetRa (const Eref &e) const |
double | vGetRm (const Eref &e) const |
double | vGetVm (const Eref &e) const |
void | vHandleAxial (double Vm) |
void | vHandleChannel (const Eref &e, double Gk, double Ek) |
void | vHandleRaxial (double Ra, double Vm) |
void | vInitProc (const Eref &e, ProcPtr p) |
void | vInitReinit (const Eref &e, ProcPtr p) |
void | vInjectMsg (const Eref &e, double current) |
void | vProcess (const Eref &e, ProcPtr p) |
void | vRandInject (const Eref &e, double prob, double current) |
void | vReinit (const Eref &e, ProcPtr p) |
void | vSetCm (const Eref &e, double Cm) |
void | vSetEm (const Eref &e, double Em) |
void | vSetInitVm (const Eref &e, double initVm) |
void | vSetInject (const Eref &e, double Inject) |
void | vSetRa (const Eref &e, double Ra) |
void | vSetRm (const Eref &e, double Rm) |
void | vSetSolver (const Eref &e, Id hsolve) |
Assigns the solver to the zombie. More... | |
void | vSetVm (const Eref &e, double Vm) |
ZombieCompartment () | |
virtual | ~ZombieCompartment () |
Public Member Functions inherited from moose::CompartmentBase | |
void | cable () |
CompartmentBase () | |
void | displace (double dx, double dy, double dz) |
Displaces compartment by specified distance vector. More... | |
double | getCm (const Eref &e) const |
double | getDiameter () const |
double | getEm (const Eref &e) const |
double | getIm (const Eref &e) const |
double | getInitVm (const Eref &e) const |
double | getInject (const Eref &e) const |
double | getLength () const |
double | getRa (const Eref &e) const |
double | getRm (const Eref &e) const |
double | getVm (const Eref &e) const |
double | getX () const |
double | getX0 () const |
double | getY () const |
double | getY0 () const |
double | getZ () const |
double | getZ0 () const |
void | handleAxial (double Vm) |
void | handleChannel (const Eref &e, double Gk, double Ek) |
void | handleRaxial (double Ra, double Vm) |
void | initProc (const Eref &e, ProcPtr p) |
void | initReinit (const Eref &e, ProcPtr p) |
void | injectMsg (const Eref &e, double current) |
void | process (const Eref &e, ProcPtr p) |
void | randInject (const Eref &e, double prob, double current) |
bool | rangeWarning (const string &field, double value) |
void | reinit (const Eref &e, ProcPtr p) |
void | setCm (const Eref &e, double Cm) |
void | setDiameter (double diameter) |
void | setEm (const Eref &e, double Em) |
void | setGeomAndElec (const Eref &e, double length, double dia) |
Scales electrical values along with setting length, dia. More... | |
void | setInitVm (const Eref &e, double initVm) |
void | setInject (const Eref &e, double Inject) |
void | setLength (double length) |
void | setRa (const Eref &e, double Ra) |
void | setRm (const Eref &e, double Rm) |
void | setVm (const Eref &e, double Vm) |
void | setX (double value) |
void | setX0 (double value) |
void | setY (double value) |
void | setY0 (double value) |
void | setZ (double value) |
void | setZ0 (double value) |
void | updateLength () |
virtual | ~CompartmentBase () |
Static Public Member Functions | |
static const Cinfo * | initCinfo () |
Static Public Member Functions inherited from moose::CompartmentBase | |
static const Cinfo * | initCinfo () |
static SrcFinfo1< double > * | VmOut () |
static void | zombify (Element *orig, const Cinfo *zClass, Id hsolve) |
Private Member Functions | |
void | copyFields (moose::Compartment *c) |
Private Attributes | |
HSolve * | hsolve_ |
moose::RNG< double > | rng |
Static Private Attributes | |
static const double | EPSILON = 1.0e-15 |
Zombie object that lets HSolve do its calculations, while letting the user interact with this object as if it were the original object.
Definition at line 35 of file ZombieCompartment.h.
ZombieCompartment::ZombieCompartment | ( | ) |
Definition at line 58 of file ZombieCompartment.cpp.
|
virtual |
Definition at line 63 of file ZombieCompartment.cpp.
|
private |
|
static |
Initializes the class info.
The initCinfo() function sets up the Compartment class. This function uses the common trick of having an internal static value which is created the first time the function is called. There are several static arrays set up here. The ones which use SharedFinfos are for shared messages where multiple kinds of information go along the same connection.
Definition at line 24 of file ZombieCompartment.cpp.
References moose::CompartmentBase::initCinfo(), and zombieCompartmentCinfo.
Referenced by HSolve::zombify().
double ZombieCompartment::mtrand | ( | void | ) |
Definition at line 217 of file ZombieCompartment.cpp.
References moose::rng, and moose::RNG< T >::uniform().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 97 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 86 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 129 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 149 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 139 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 119 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 108 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 75 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
handleAxial handles incoming axial message data.
Implements moose::CompartmentBase.
Definition at line 188 of file ZombieCompartment.cpp.
|
virtual |
handleChannel handles information coming from the channel to the compartment
Implements moose::CompartmentBase.
Definition at line 178 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
handleRaxial handles incoming raxial message data.
Implements moose::CompartmentBase.
Definition at line 183 of file ZombieCompartment.cpp.
The initProc function is for a second phase of 'process' operations. It sends the axial and raxial messages to other compartments. It has to be executed out of phase with the main process so that all compartments are equivalent and there is no calling order dependence in the results.
Implements moose::CompartmentBase.
Definition at line 168 of file ZombieCompartment.cpp.
Empty function to do another reinit step out of phase with the main one. Nothing needs doing there.
Implements moose::CompartmentBase.
Definition at line 173 of file ZombieCompartment.cpp.
|
virtual |
Injects a constantly updated current into the compartment. Unlike the 'inject' field, this injected current is applicable only for a single timestep. So this is meant to be used as the destination of a message rather than as a one-time assignment.
Implements moose::CompartmentBase.
Definition at line 193 of file ZombieCompartment.cpp.
References Eref::id().
The process function does the object updating and sends out messages to channels, nernsts, and so on.
Implements moose::CompartmentBase.
Definition at line 158 of file ZombieCompartment.cpp.
|
virtual |
Injects a constantly updated current into the compartment, with a probability prob. Note that it isn't the current amplitude that is random, it is the presence or absence of the current that is probabilistic.
Implements moose::CompartmentBase.
Definition at line 198 of file ZombieCompartment.cpp.
The reinit function reinitializes all fields.
Implements moose::CompartmentBase.
Definition at line 163 of file ZombieCompartment.cpp.
References moose::__rng_seed__, moose::rng, and moose::RNG< T >::setSeed().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 91 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 81 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 144 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 134 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 113 of file ZombieCompartment.cpp.
References Eref::id().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 102 of file ZombieCompartment.cpp.
References Eref::id().
Assigns the solver to the zombie.
Reimplemented from moose::CompartmentBase.
Definition at line 206 of file ZombieCompartment.cpp.
References Element::cinfo(), Eref::data(), Id::element(), Id::eref(), Cinfo::isA(), and Id::path().
|
virtual |
Implements moose::CompartmentBase.
Definition at line 69 of file ZombieCompartment.cpp.
References Eref::id().
|
staticprivate |
Definition at line 143 of file ZombieCompartment.h.
|
private |
Definition at line 141 of file ZombieCompartment.h.
|
private |
Definition at line 147 of file ZombieCompartment.h.