MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <SymCompartment.h>
Public Member Functions | |
void | raxialCylinder (double Ra, double Vm) |
void | raxialSphere (double Ra, double Vm) |
void | raxialSym (double Ra, double Vm) |
void | sumRaxial (double Ra) |
SymCompartment () | |
void | vInitProc (const Eref &e, ProcPtr p) |
void | vInitReinit (const Eref &e, ProcPtr p) |
void | vReinit (const Eref &e, ProcPtr p) |
~SymCompartment () | |
![]() | |
void | cable () |
Compartment () | |
virtual double | vGetCm (const Eref &e) const |
virtual double | vGetEm (const Eref &e) const |
virtual double | vGetIm (const Eref &e) const |
virtual double | vGetInitVm (const Eref &e) const |
virtual double | vGetInject (const Eref &e) const |
virtual double | vGetRa (const Eref &e) const |
virtual double | vGetRm (const Eref &e) const |
virtual 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 | vInjectMsg (const Eref &e, double current) |
void | vProcess (const Eref &e, ProcPtr p) |
void | vRandInject (const Eref &e, double prob, double current) |
virtual void | vSetCm (const Eref &e, double Cm) |
virtual void | vSetEm (const Eref &e, double Em) |
virtual void | vSetInitVm (const Eref &e, double initVm) |
virtual void | vSetInject (const Eref &e, double Inject) |
virtual void | vSetRa (const Eref &e, double Ra) |
virtual void | vSetRm (const Eref &e, double Rm) |
virtual void | vSetVm (const Eref &e, double Vm) |
virtual | ~Compartment () |
![]() | |
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 void | vSetSolver (const Eref &e, Id hsolve) |
virtual | ~CompartmentBase () |
Static Public Member Functions | |
static const Cinfo * | initCinfo () |
![]() | |
static const Cinfo * | initCinfo () |
![]() | |
static const Cinfo * | initCinfo () |
static SrcFinfo1< double > * | VmOut () |
static void | zombify (Element *orig, const Cinfo *zClass, Id hsolve) |
Private Attributes | |
double | coeff_ |
double | RaSum_ |
Additional Inherited Members | |
![]() | |
double | A_ |
double | B_ |
double | Cm_ |
double | Em_ |
double | Im_ |
double | initVm_ |
double | inject_ |
double | lastIm_ |
double | Ra_ |
double | Rm_ |
double | sumInject_ |
double | Vm_ |
The SymCompartment class sets up a symmetric compartment for branched nerve calculations. Handles electronic structure and also channels. This version splits the Ra between either end of the compartment and is hence slightly cleaner than the asymmetric compartment. The default EE method is not a particularly efficient way of doing the calculations, so we should use a solver for any substantial calculations.
Definition at line 24 of file SymCompartment.h.
SymCompartment::SymCompartment | ( | ) |
Definition at line 283 of file SymCompartment.cpp.
|
inline |
Definition at line 28 of file SymCompartment.h.
|
static |
Definition at line 50 of file SymCompartment.cpp.
References cylinderOut(), distalOut(), moose::Compartment::initCinfo(), proximalOut(), raxialCylinder(), raxialSphere(), raxialSym(), sumRaxial(), sumRaxialOut(), and symCompartmentCinfo.
Referenced by ReadCell::buildCompartment().
void SymCompartment::raxialCylinder | ( | double | Ra, |
double | Vm | ||
) |
Definition at line 367 of file SymCompartment.cpp.
References moose::Compartment::A_, moose::Compartment::B_, moose::Compartment::Im_, and moose::Compartment::Vm_.
Referenced by initCinfo().
void SymCompartment::raxialSphere | ( | double | Ra, |
double | Vm | ||
) |
Definition at line 359 of file SymCompartment.cpp.
References moose::Compartment::A_, moose::Compartment::B_, moose::Compartment::Im_, moose::Compartment::Ra_, and moose::Compartment::Vm_.
Referenced by initCinfo().
void SymCompartment::raxialSym | ( | double | Ra, |
double | Vm | ||
) |
Definition at line 338 of file SymCompartment.cpp.
References moose::Compartment::A_, moose::Compartment::B_, coeff_, moose::Compartment::Im_, and moose::Compartment::Vm_.
Referenced by initCinfo().
void SymCompartment::sumRaxial | ( | double | Ra | ) |
Definition at line 331 of file SymCompartment.cpp.
References coeff_, moose::Compartment::Ra_, and RaSum_.
Referenced by initCinfo().
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.
Reimplemented from moose::Compartment.
Definition at line 296 of file SymCompartment.cpp.
References cylinderOut(), distalOut(), proximalOut(), moose::Compartment::Ra_, and moose::Compartment::Vm_.
Empty function to do another reinit step out of phase with the main one. Nothing needs doing there.
Reimplemented from moose::Compartment.
Definition at line 320 of file SymCompartment.cpp.
The reinit function reinitializes all fields.
Reimplemented from moose::Compartment.
Definition at line 305 of file SymCompartment.cpp.
References moose::Compartment::Ra_, sumRaxialOut(), and moose::Compartment::vReinit().
|
private |
Definition at line 46 of file SymCompartment.h.
Referenced by raxialSym(), and sumRaxial().
|
private |
Definition at line 47 of file SymCompartment.h.
Referenced by sumRaxial().