MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <PoolBase.h>
Public Member Functions | |
void | decrement (double val) |
double | getConc (const Eref &e) const |
double | getConcInit (const Eref &e) const |
double | getDiffConst (const Eref &e) const |
bool | getIsBuffered (const Eref &e) const |
double | getMotorConst (const Eref &e) const |
double | getN (const Eref &e) const |
double | getNinit (const Eref &e) const |
SpeciesId | getSpecies (const Eref &e) const |
double | getVolume (const Eref &e) const |
void | handleMolWt (const Eref &e, double v) |
void | increment (double val) |
void | nIn (double val) |
PoolBase () | |
void | process (const Eref &e, ProcPtr p) |
void | reac (double A, double B) |
void | reinit (const Eref &e, ProcPtr p) |
void | setConc (const Eref &e, double v) |
void | setConcInit (const Eref &e, double v) |
void | setDiffConst (const Eref &e, double v) |
void | setIsBuffered (const Eref &e, bool v) |
void | setMotorConst (const Eref &e, double v) |
void | setN (const Eref &e, double v) |
void | setNinit (const Eref &e, double v) |
void | setSpecies (const Eref &e, SpeciesId v) |
void | setVolume (const Eref &e, double v) |
virtual void | vDecrement (double val) |
virtual double | vGetConc (const Eref &e) const =0 |
virtual double | vGetConcInit (const Eref &e) const |
virtual double | vGetDiffConst (const Eref &e) const =0 |
virtual bool | vGetIsBuffered (const Eref &e) const =0 |
virtual double | vGetMotorConst (const Eref &e) const |
virtual double | vGetN (const Eref &e) const =0 |
virtual double | vGetNinit (const Eref &e) const =0 |
virtual SpeciesId | vGetSpecies (const Eref &e) const =0 |
virtual double | vGetVolume (const Eref &e) const =0 |
virtual void | vHandleMolWt (const Eref &e, double v) |
virtual void | vIncrement (double val) |
virtual void | vnIn (double val) |
virtual void | vProcess (const Eref &e, ProcPtr p) |
virtual void | vReac (double A, double B) |
virtual void | vReinit (const Eref &e, ProcPtr p) |
virtual void | vSetConc (const Eref &e, double v)=0 |
virtual void | vSetConcInit (const Eref &e, double v)=0 |
virtual void | vSetDiffConst (const Eref &e, double v)=0 |
virtual void | vSetIsBuffered (const Eref &e, bool v) |
I put in a default empty function for vSetIsBuffered. More... | |
virtual void | vSetMotorConst (const Eref &e, double v) |
Dummy MotorConst field for most Pool subclasses. More... | |
virtual void | vSetN (const Eref &e, double v)=0 |
virtual void | vSetNinit (const Eref &e, double v)=0 |
virtual void | vSetSolver (Id ksolve, Id dsolve) |
virtual void | vSetSpecies (const Eref &e, SpeciesId v)=0 |
virtual void | vSetVolume (const Eref &e, double v)=0 |
virtual | ~PoolBase () |
Static Public Member Functions | |
static const Cinfo * | initCinfo () |
static void | zombify (Element *original, const Cinfo *zClass, Id ksolve, Id dsolve) |
Private Attributes | |
double | concInit_ |
Friends | |
void | checkVal (double time, const PoolBase *m, unsigned int size) |
void | forceCheckVal (double time, Element *e, unsigned int size) |
void | testSyncArray (unsigned int size, unsigned int numThreads, unsigned int method) |
The PoolBase class is the base class for molecular pools. A pool is a set of molecules of a given species, in a uniform chemical context. Note that the same species might be present in other compartments, or be handled by other solvers. PoolBase is the base class for mass-action, single particle and other numerical variants of pools.
Definition at line 30 of file PoolBase.h.
PoolBase::PoolBase | ( | ) |
Definition at line 228 of file PoolBase.cpp.
|
virtual |
Definition at line 232 of file PoolBase.cpp.
void PoolBase::decrement | ( | double | val | ) |
Definition at line 254 of file PoolBase.cpp.
References vDecrement().
Referenced by initCinfo().
double PoolBase::getConc | ( | const Eref & | e | ) | const |
Definition at line 331 of file PoolBase.cpp.
References vGetConc().
Referenced by initCinfo().
double PoolBase::getConcInit | ( | const Eref & | e | ) | const |
Definition at line 347 of file PoolBase.cpp.
References vGetConcInit().
Referenced by initCinfo(), and zombify().
double PoolBase::getDiffConst | ( | const Eref & | e | ) | const |
Definition at line 358 of file PoolBase.cpp.
References vGetDiffConst().
Referenced by initCinfo(), Dsolve::setStoich(), and zombify().
bool PoolBase::getIsBuffered | ( | const Eref & | e | ) | const |
Definition at line 401 of file PoolBase.cpp.
References vGetIsBuffered().
Referenced by initCinfo().
double PoolBase::getMotorConst | ( | const Eref & | e | ) | const |
Definition at line 368 of file PoolBase.cpp.
References vGetMotorConst().
Referenced by initCinfo(), and zombify().
double PoolBase::getN | ( | const Eref & | e | ) | const |
Definition at line 308 of file PoolBase.cpp.
References vGetN().
Referenced by initCinfo().
double PoolBase::getNinit | ( | const Eref & | e | ) | const |
Definition at line 319 of file PoolBase.cpp.
References vGetNinit().
Referenced by initCinfo(), and Pool::vReinit().
unsigned int PoolBase::getSpecies | ( | const Eref & | e | ) | const |
Definition at line 388 of file PoolBase.cpp.
References vGetSpecies().
Referenced by initCinfo(), and zombify().
double PoolBase::getVolume | ( | const Eref & | e | ) | const |
Definition at line 378 of file PoolBase.cpp.
References vGetVolume().
Referenced by initCinfo().
void PoolBase::handleMolWt | ( | const Eref & | e, |
double | v | ||
) |
Definition at line 269 of file PoolBase.cpp.
References vHandleMolWt().
Referenced by initCinfo().
void PoolBase::increment | ( | double | val | ) |
Definition at line 249 of file PoolBase.cpp.
References vIncrement().
Referenced by initCinfo().
|
static |
Definition at line 19 of file PoolBase.cpp.
References decrement(), getConc(), getConcInit(), getDiffConst(), getIsBuffered(), getMotorConst(), getN(), getNinit(), getSpecies(), getVolume(), handleMolWt(), increment(), Neutral::initCinfo(), nIn(), nOut, poolCinfo, process(), reac(), reinit(), setConc(), setConcInit(), setDiffConst(), setIsBuffered(), setMotorConst(), setN(), setNinit(), setSpecies(), and setVolume().
Referenced by getSlaveEnable(), ZombiePool::initCinfo(), and Pool::initCinfo().
void PoolBase::nIn | ( | double | val | ) |
Definition at line 259 of file PoolBase.cpp.
References vnIn().
Referenced by initCinfo().
Definition at line 239 of file PoolBase.cpp.
References vProcess().
Referenced by initCinfo().
void PoolBase::reac | ( | double | A, |
double | B | ||
) |
Definition at line 264 of file PoolBase.cpp.
References vReac().
Referenced by initCinfo().
Definition at line 244 of file PoolBase.cpp.
References vReinit().
Referenced by initCinfo().
void PoolBase::setConc | ( | const Eref & | e, |
double | v | ||
) |
Definition at line 325 of file PoolBase.cpp.
References vSetConc().
Referenced by initCinfo().
void PoolBase::setConcInit | ( | const Eref & | e, |
double | v | ||
) |
Definition at line 336 of file PoolBase.cpp.
References concInit_, and vSetConcInit().
Referenced by initCinfo(), and zombify().
void PoolBase::setDiffConst | ( | const Eref & | e, |
double | v | ||
) |
Definition at line 353 of file PoolBase.cpp.
References vSetDiffConst().
Referenced by initCinfo(), and zombify().
void PoolBase::setIsBuffered | ( | const Eref & | e, |
bool | v | ||
) |
Functions to examine and change class between Pool and BufPool.
setIsBuffered is active only for Pool and BufPool. Otherwise ignored.
Definition at line 396 of file PoolBase.cpp.
References vSetIsBuffered().
Referenced by initCinfo().
void PoolBase::setMotorConst | ( | const Eref & | e, |
double | v | ||
) |
Definition at line 363 of file PoolBase.cpp.
References vSetMotorConst().
Referenced by initCinfo(), and zombify().
void PoolBase::setN | ( | const Eref & | e, |
double | v | ||
) |
Definition at line 303 of file PoolBase.cpp.
References vSetN().
Referenced by initCinfo().
void PoolBase::setNinit | ( | const Eref & | e, |
double | v | ||
) |
Definition at line 313 of file PoolBase.cpp.
References concInit_, lookupVolumeFromMesh(), NA, and vSetNinit().
Referenced by initCinfo().
Definition at line 383 of file PoolBase.cpp.
References vSetSpecies().
Referenced by initCinfo(), and zombify().
void PoolBase::setVolume | ( | const Eref & | e, |
double | v | ||
) |
Volume is usually volume, but we also permit areal density This is obtained by looking up the corresponding spatial mesh entry in the parent compartment. If the message isn't set then it defaults to 1.0.
Definition at line 373 of file PoolBase.cpp.
References vSetVolume().
Referenced by initCinfo().
|
virtual |
Reimplemented in Pool.
Definition at line 293 of file PoolBase.cpp.
Referenced by decrement().
|
pure virtual |
Implemented in Pool, and ZombiePool.
Referenced by getConc().
|
virtual |
Reimplemented in ZombiePool.
Definition at line 342 of file PoolBase.cpp.
References concInit_.
Referenced by getConcInit().
|
pure virtual |
Implemented in Pool, and ZombiePool.
Referenced by getDiffConst().
|
pure virtual |
Implemented in Pool, ZombiePool, and ZombieBufPool.
Referenced by getIsBuffered().
|
virtual |
Reimplemented in ZombiePool, and Pool.
Definition at line 414 of file PoolBase.cpp.
Referenced by getMotorConst().
|
pure virtual |
Implemented in Pool, and ZombiePool.
Referenced by getN().
|
pure virtual |
Implemented in Pool, and ZombiePool.
Referenced by getNinit().
Implemented in Pool, and ZombiePool.
Referenced by getSpecies().
|
pure virtual |
Implemented in Pool, and ZombiePool.
Referenced by getVolume().
|
virtual |
Reimplemented in Pool.
Definition at line 287 of file PoolBase.cpp.
Referenced by handleMolWt().
|
virtual |
Reimplemented in Pool.
Definition at line 290 of file PoolBase.cpp.
Referenced by increment().
|
virtual |
Reimplemented in Pool.
Definition at line 296 of file PoolBase.cpp.
Referenced by nIn().
Reimplemented in Pool, and BufPool.
Definition at line 278 of file PoolBase.cpp.
Referenced by process().
|
virtual |
Reimplemented in Pool.
Definition at line 284 of file PoolBase.cpp.
Referenced by reac().
Reimplemented in Pool, and BufPool.
Definition at line 281 of file PoolBase.cpp.
Referenced by reinit().
|
pure virtual |
Implemented in Pool, ZombiePool, BufPool, and ZombieBufPool.
Referenced by setConc().
|
pure virtual |
Implemented in Pool, ZombiePool, BufPool, and ZombieBufPool.
Referenced by setConcInit().
|
pure virtual |
Implemented in Pool, and ZombiePool.
Referenced by setDiffConst().
|
virtual |
I put in a default empty function for vSetIsBuffered.
Dummy default function for most pool subclasses.
Reimplemented in Pool.
Definition at line 420 of file PoolBase.cpp.
Referenced by setIsBuffered().
|
virtual |
Dummy MotorConst field for most Pool subclasses.
Reimplemented in ZombiePool, and Pool.
Definition at line 411 of file PoolBase.cpp.
Referenced by setMotorConst().
|
pure virtual |
Implemented in Pool, ZombiePool, BufPool, and ZombieBufPool.
Referenced by setN().
|
pure virtual |
Implemented in Pool, ZombiePool, BufPool, and ZombieBufPool.
Referenced by setNinit().
Assign whatever info is needed by the zombie based on the solver Element. Encapsulates some unpleasant field extraction, casting, and assignment. Default version of this function does nothing.
Reimplemented in ZombiePool.
Definition at line 467 of file PoolBase.cpp.
Referenced by zombify().
Implemented in Pool, and ZombiePool.
Referenced by setSpecies().
|
pure virtual |
Implemented in Pool, and ZombiePool.
Referenced by setVolume().
zombify is the base function for conversion between pool subclasses. This can be overridden, but should work for most things. This takes the original Element, and without touching its messaging, replaces it with a new data object of the specified zClass. It does the best it can with conversion of fields. Typically needs to be followed by rescheduling and possibly a class-specific function for assigning further zombie fields outside the ken of the PoolBase. The 'solver' argument specifies which objects handle the solver for this conversion. For the Pool this is either or both of a kinetic solver /ksolve/ and a diffusion solver /dsolve/. The term zombie arises because this operation was originally carried out to strip an object of independent function, and replace it with a solver-controlled facsimile.
Definition at line 430 of file PoolBase.cpp.
References Element::cinfo(), Eref::data(), getConcInit(), getDiffConst(), getMotorConst(), getSpecies(), Element::localDataStart(), Element::numLocalData(), setConcInit(), setDiffConst(), setMotorConst(), setSpecies(), vSetSolver(), and Element::zombieSwap().
Referenced by Dsolve::setPath(), Stoich::unZombifyPools(), and Stoich::zombifyModel().
|
friend |
|
friend |
|
friend |
|
private |
Definition at line 157 of file PoolBase.h.
Referenced by setConcInit(), setNinit(), and vGetConcInit().