MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <ZombiePoolInterface.h>
Public Member Functions | |
virtual void | getBlock (vector< double > &values) const =0 |
Id | getCompartment () const |
virtual double | getDiffConst (const Eref &e) const =0 |
Diffusion constant: Only one per pool, voxel number is ignored. More... | |
virtual double | getN (const Eref &e) const =0 |
Get # of molecules in given pool and voxel. Varies with time. More... | |
virtual double | getNinit (const Eref &e) const =0 |
get initial # of molecules in given pool and voxel. Bdry cond. More... | |
virtual unsigned int | getNumLocalVoxels () const =0 |
Number of voxels here. pools_.size() == getNumLocalVoxels. More... | |
virtual unsigned int | getNumPools () const =0 |
gets number of pools (species) handled by system. More... | |
virtual unsigned int | getPoolIndex (const Eref &er) const =0 |
Return pool index, using Stoich ptr to do lookup. More... | |
virtual VoxelPoolsBase * | pools (unsigned int i)=0 |
Return a pointer to the specified VoxelPool. More... | |
virtual void | setBlock (const vector< double > &values)=0 |
virtual void | setCompartment (Id compartment) |
Assigns compartment. More... | |
virtual void | setDiffConst (const Eref &e, double val)=0 |
Diffusion constant: Only one per pool, voxel number is ignored. More... | |
virtual void | setDsolve (Id dsolve)=0 |
Assigns the diffusion solver. Used by the reac solvers. More... | |
virtual void | setMotorConst (const Eref &e, double val) |
virtual void | setN (const Eref &e, double val)=0 |
Set # of molecules in given pool and voxel. Varies with time. More... | |
virtual void | setNinit (const Eref &e, double val)=0 |
Set initial # of molecules in given pool and voxel. Bdry cond. More... | |
virtual void | setNumAllVoxels (unsigned int numVoxels)=0 |
Assign number of voxels (size of pools_ vector ) More... | |
virtual void | setNumPools (unsigned int num)=0 |
Specifies number of pools (species) handled by system. More... | |
virtual void | setPrev () |
Used to tell Dsolver to assign 'prev' values. More... | |
virtual void | setStoich (Id stoich)=0 |
virtual void | updateJunctions (double dt) |
Used for telling Dsolver to handle all ops across Junctions. More... | |
virtual void | updateRateTerms (unsigned int index=~0U)=0 |
virtual double | volume (unsigned int i) const =0 |
Return volume of voxel i. More... | |
ZombiePoolInterface () | |
Protected Attributes | |
Id | compartment_ |
Id of Chem compartment used to figure out volumes of voxels. More... | |
bool | isBuilt_ |
Flag: True when solver setup has been completed. More... | |
Id | stoich_ |
This pure virtual base class is for solvers that want to talk to the zombie pool. The Eref specifies both the pool identity and the voxel number within the pool.
Definition at line 19 of file ZombiePoolInterface.h.
ZombiePoolInterface::ZombiePoolInterface | ( | ) |
Definition at line 32 of file ZombiePoolInterface.cpp.
|
pure virtual |
Gets block of data. The first 4 entries are passed in on the 'values' vector: the start voxel, numVoxels, start pool#, numPools. These are followed by numVoxels * numPools of data values which are filled in by the function. We assert that the entire requested block is present in this ZombiePoolInterface. The block is organized as an array of arrays of voxels; values[pool#][voxel#]
Note that numVoxels and numPools are the number in the current block, not the upper limit of the block. So values.size() == 4 + numPools * numVoxels.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by Gsolve::process(), and Ksolve::process().
Id ZombiePoolInterface::getCompartment | ( | ) | const |
Definition at line 44 of file ZombiePoolInterface.cpp.
References compartment_.
Referenced by Ksolve::initCinfo(), and Dsolve::initCinfo().
|
pure virtual |
|
pure virtual |
Get # of molecules in given pool and voxel. Varies with time.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by ZombiePool::vGetN().
|
pure virtual |
get initial # of molecules in given pool and voxel. Bdry cond.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by ZombiePool::vGetNinit().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Return a pointer to the specified VoxelPool.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by Stoich::scaleBufsAndRates(), and setCompartment().
|
pure virtual |
Sets block of data. The first 4 entries on the 'values' vector are the start voxel, numVoxels, start pool#, numPools. These are followed by numVoxels * numPools of data values.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by Gsolve::process(), and Ksolve::process().
|
virtual |
Assigns compartment.
Reimplemented in Dsolve, and Gsolve.
Definition at line 49 of file ZombiePoolInterface.cpp.
References Element::cinfo(), compartment_, Id::element(), Cinfo::isA(), isBuilt_, pools(), setNumAllVoxels(), and VoxelPoolsBase::setVolume().
Referenced by Ksolve::initCinfo(), and Stoich::setElist().
|
pure virtual |
Diffusion constant: Only one per pool, voxel number is ignored.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by ZombiePool::vSetDiffConst().
|
pure virtual |
Assigns the diffusion solver. Used by the reac solvers.
Implemented in Gsolve, Dsolve, and Ksolve.
Referenced by Stoich::setElist().
|
inlinevirtual |
Motor constant: Only one per pool, voxel number is ignored. Used only in Dsolves, so here I put in a dummy.
Reimplemented in Dsolve.
Definition at line 41 of file ZombiePoolInterface.h.
Referenced by ZombiePool::vSetMotorConst().
|
pure virtual |
Set # of molecules in given pool and voxel. Varies with time.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by ZombiePool::vSetN().
|
pure virtual |
Set initial # of molecules in given pool and voxel. Bdry cond.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by ZombiePool::vSetNinit().
|
pure virtual |
Assign number of voxels (size of pools_ vector )
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by setCompartment().
|
pure virtual |
Specifies number of pools (species) handled by system.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by Stoich::resizeArrays().
|
virtual |
Used to tell Dsolver to assign 'prev' values.
Reimplemented in Dsolve.
Definition at line 39 of file ZombiePoolInterface.cpp.
Referenced by Gsolve::process(), and Ksolve::process().
|
pure virtual |
Informs the ZPI about the stoich, used during subsequent computations. Called to wrap up the model building. The Stoich does this call after it has set up its own path.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by Stoich::setElist().
|
virtual |
Used for telling Dsolver to handle all ops across Junctions.
Reimplemented in Dsolve.
Definition at line 37 of file ZombiePoolInterface.cpp.
Referenced by Gsolve::process(), and Ksolve::process().
|
pure virtual |
Informs the solver that the rate terms or volumes have changed and that the parameters must be updated. The index specifies which rateTerm to change, and if it is ~0U it means update all of them.
Implemented in Dsolve, Ksolve, and Gsolve.
Referenced by Stoich::setElist(), Stoich::setEnzK1(), Stoich::setEnzK2(), Stoich::setEnzK3(), Stoich::setMMenzKcat(), Stoich::setMMenzKm(), Stoich::setReacKb(), and Stoich::setReacKf().
|
pure virtual |
|
protected |
Id of Chem compartment used to figure out volumes of voxels.
Definition at line 123 of file ZombiePoolInterface.h.
Referenced by Dsolve::build(), Dsolve::buildMeshJunctions(), Dsolve::buildNeuroMeshJunctions(), Gsolve::getCompartment(), getCompartment(), Ksolve::print(), Gsolve::setCompartment(), Dsolve::setCompartment(), and setCompartment().
|
protected |
Flag: True when solver setup has been completed.
Definition at line 126 of file ZombiePoolInterface.h.
Referenced by Ksolve::process(), Ksolve::reinit(), setCompartment(), and Ksolve::setStoich().
|
protected |
Stoich is the class that sets up the reaction system and manages the stoichiometry matrix
Definition at line 120 of file ZombiePoolInterface.h.
Referenced by Gsolve::getStoich(), Ksolve::getStoich(), Dsolve::getStoich(), Dsolve::makePoolMapFromElist(), Ksolve::print(), Gsolve::setStoich(), Ksolve::setStoich(), and Dsolve::setStoich().