Gsolve Class Reference

#include <Gsolve.h>

Inheritance diagram for Gsolve:
Inheritance graph
[legend]
Collaboration diagram for Gsolve:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Gsolve ()
 ~Gsolve ()
Id getStoich () const
void setStoich (Id stoich)
Id getCompartment () const
 Inherited from ZombiePoolInterface.
void setCompartment (Id compt)
 Assigns compartment.
unsigned int getNumLocalVoxels () const
 Number of voxels here. pools_.size() == getNumLocalVoxels.
unsigned int getNumAllVoxels () const
void setNumAllVoxels (unsigned int num)
void setNumPools (unsigned int num)
unsigned int getNumPools () const
 Inherited.
VoxelPoolsBasepools (unsigned int i)
 Inherited.
double volume (unsigned int i) const
 Inherited.
vector< double > getNvec (unsigned int voxel) const
 Returns the vector of pool Num at the specified voxel.
void setNvec (unsigned int voxel, vector< double > vec)
void process (const Eref &e, ProcPtr p)
void reinit (const Eref &e, ProcPtr p)
void initProc (const Eref &e, ProcPtr p)
void initReinit (const Eref &e, ProcPtr p)
void updateVoxelVol (vector< double > vols)
void rebuildGssaSystem ()
void fillMmEnzDep ()
void fillMathDep ()
void insertMathDepReacs (unsigned int mathDepIndex, unsigned int firedReac)
void makeReacDepsUnique ()
unsigned int getPoolIndex (const Eref &e) const
 Return pool index, using Stoich ptr to do lookup.
unsigned int getVoxelIndex (const Eref &e) const
void setDsolve (Id dsolve)
void setN (const Eref &e, double v)
 Set # of molecules in given pool and voxel. Varies with time.
double getN (const Eref &e) const
 Get # of molecules in given pool and voxel. Varies with time.
void setNinit (const Eref &e, double v)
 Set initial # of molecules in given pool and voxel. Bdry cond.
double getNinit (const Eref &e) const
 get initial # of molecules in given pool and voxel. Bdry cond.
void setDiffConst (const Eref &e, double v)
 Diffusion constant: Only one per pool, voxel number is ignored.
double getDiffConst (const Eref &e) const
 Diffusion constant: Only one per pool, voxel number is ignored.
void getBlock (vector< double > &values) const
void setBlock (const vector< double > &values)
void updateRateTerms (unsigned int index)
bool getRandInit () const
void setRandInit (bool val)
 Flag: set true if randomized round to integers is to be done.

Static Public Member Functions

static SrcFinfo2< Id, vector
< double > > * 
xComptOut ()
static const CinfoinitCinfo ()

Constructor & Destructor Documentation

Gsolve::Gsolve (  ) 
Gsolve::~Gsolve (  ) 

Member Function Documentation

void Gsolve::fillMathDep (  ) 

Fill in dependency list for all MathExpns on reactions. Note that when a MathExpn updates, it alters a further molecule, that may be a substrate for another reaction. So we need to also add further dependent reactions. In principle we might also cascade to deeper MathExpns. Later.

References c, GssaSystem::dependency, GssaSystem::dependentMathExpn, Stoich::funcs(), Stoich::getNumAllPools(), Stoich::getNumBufPools(), Stoich::getNumFuncs(), Stoich::getNumProxyPools(), Stoich::getNumRates(), Stoich::getNumVarPools(), FuncTerm::getReactantIndex(), SparseMatrix< T >::getRow(), Stoich::getStoichiometryMatrix(), and GssaSystem::transposeN.

Referenced by rebuildGssaSystem().

Here is the call graph for this function:

void Gsolve::fillMmEnzDep (  ) 

Fill in dependency list for all MMEnzs on reactions. The dependencies of MMenz products are already in the system, so here we just need to add cases where any reaction product is the Enz of an MMEnz.

References GssaSystem::dependency, Stoich::getNumRates(), RateTerm::getReactants(), SparseMatrix< T >::getRow(), Stoich::rates(), and GssaSystem::transposeN.

Referenced by rebuildGssaSystem().

Here is the call graph for this function:

void Gsolve::getBlock ( vector< double > &  values  )  const [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.

Implements ZombiePoolInterface.

Referenced by process().

Id Gsolve::getCompartment (  )  const

Inherited from ZombiePoolInterface.

Reimplemented from ZombiePoolInterface.

References ZombiePoolInterface::compartment_.

Referenced by initCinfo().

double Gsolve::getDiffConst ( const Eref e  )  const [virtual]

Diffusion constant: Only one per pool, voxel number is ignored.

Implements ZombiePoolInterface.

double Gsolve::getN ( const Eref e  )  const [virtual]

Get # of molecules in given pool and voxel. Varies with time.

Implements ZombiePoolInterface.

References getPoolIndex(), getVoxelIndex(), and OFFNODE.

Here is the call graph for this function:

double Gsolve::getNinit ( const Eref e  )  const [virtual]

get initial # of molecules in given pool and voxel. Bdry cond.

Implements ZombiePoolInterface.

References getPoolIndex(), getVoxelIndex(), and OFFNODE.

Here is the call graph for this function:

unsigned int Gsolve::getNumAllVoxels (  )  const

Referenced by initCinfo().

unsigned int Gsolve::getNumLocalVoxels (  )  const [virtual]

Number of voxels here. pools_.size() == getNumLocalVoxels.

Implements ZombiePoolInterface.

Referenced by initCinfo(), and process().

unsigned int Gsolve::getNumPools (  )  const [virtual]

Inherited.

Implements ZombiePoolInterface.

Referenced by initCinfo().

vector< double > Gsolve::getNvec ( unsigned int  voxel  )  const

Returns the vector of pool Num at the specified voxel.

References dummy().

Referenced by initCinfo().

Here is the call graph for this function:

unsigned int Gsolve::getPoolIndex ( const Eref er  )  const [virtual]

Return pool index, using Stoich ptr to do lookup.

Implements ZombiePoolInterface.

References Stoich::convertIdToPoolIndex(), and Eref::id().

Referenced by getN(), getNinit(), setN(), and setNinit().

Here is the call graph for this function:

bool Gsolve::getRandInit (  )  const

Flag: returns true if randomized round to integers is done.

References GssaSystem::useRandInit.

Referenced by initCinfo().

Id Gsolve::getStoich (  )  const

References ZombiePoolInterface::stoich_.

Referenced by initCinfo().

unsigned int Gsolve::getVoxelIndex ( const Eref e  )  const

References Eref::dataIndex(), and OFFNODE.

Referenced by getN(), getNinit(), setN(), and setNinit().

Here is the call graph for this function:

const Cinfo * Gsolve::initCinfo (  )  [static]
void Gsolve::initProc ( const Eref e,
ProcPtr  p 
)

References Eref::id(), XferInfo::ksolve, xComptOut(), ZombiePoolInterface::xfer_, XferInfo::xferPoolIdx, and XferInfo::xferVoxel.

Referenced by initCinfo().

Here is the call graph for this function:

void Gsolve::initReinit ( const Eref e,
ProcPtr  p 
)
void Gsolve::insertMathDepReacs ( unsigned int  mathDepIndex,
unsigned int  firedReac 
)

Inserts reactions that depend on molecules modified by the specified MathExpn, into the dependency list. Later.

void Gsolve::makeReacDepsUnique (  ) 

STL stuff follows, with the usual weirdness.

References GssaSystem::dependency, and Stoich::getNumRates().

Referenced by rebuildGssaSystem().

Here is the call graph for this function:

VoxelPoolsBase * Gsolve::pools ( unsigned int  i  )  [virtual]

Inherited.

Implements ZombiePoolInterface.

void Gsolve::process ( const Eref e,
ProcPtr  p 
)
void Gsolve::rebuildGssaSystem (  ) 
void Gsolve::reinit ( const Eref e,
ProcPtr  p 
)
void Gsolve::setBlock ( const vector< double > &  values  )  [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.

Implements ZombiePoolInterface.

Referenced by process().

void Gsolve::setCompartment ( Id  compartment  )  [virtual]

Assigns compartment.

Reimplemented from ZombiePoolInterface.

References Element::cinfo(), ZombiePoolInterface::compartment_, Id::element(), and Cinfo::isA().

Referenced by initCinfo().

Here is the call graph for this function:

void Gsolve::setDiffConst ( const Eref e,
double  val 
) [virtual]

Diffusion constant: Only one per pool, voxel number is ignored.

Implements ZombiePoolInterface.

void Gsolve::setDsolve ( Id  dsolve  )  [virtual]

Inherited. Needed for reac-diff calculations so the Gsolve can orchestrate the data transfer between the itself and the diffusion solver.

Implements ZombiePoolInterface.

References Element::cinfo(), Eref::data(), Id::element(), Id::eref(), Cinfo::isA(), Cinfo::name(), and Id::path().

Here is the call graph for this function:

void Gsolve::setN ( const Eref e,
double  val 
) [virtual]

Set # of molecules in given pool and voxel. Varies with time.

Implements ZombiePoolInterface.

References Element::cinfo(), Eref::element(), getPoolIndex(), getVoxelIndex(), Cinfo::isA(), GssaSystem::isReady, and OFFNODE.

Here is the call graph for this function:

void Gsolve::setNinit ( const Eref e,
double  val 
) [virtual]

Set initial # of molecules in given pool and voxel. Bdry cond.

Implements ZombiePoolInterface.

References Element::cinfo(), Eref::element(), getPoolIndex(), getVoxelIndex(), Cinfo::isA(), GssaSystem::isReady, and OFFNODE.

Here is the call graph for this function:

void Gsolve::setNumAllVoxels ( unsigned int  num  )  [virtual]

Assigns the number of voxels used in the entire reac-diff system. Note that fewer than this may be used on any given node.

Implements ZombiePoolInterface.

References GssaSystem::isReady.

Referenced by initCinfo().

void Gsolve::setNumPools ( unsigned int  num  )  [virtual]

Assigns number of different pools (chemical species) present in each voxel.

Implements ZombiePoolInterface.

References GssaSystem::isReady.

Referenced by initCinfo().

void Gsolve::setNvec ( unsigned int  voxel,
vector< double >  vec 
)

Referenced by initCinfo().

void Gsolve::setRandInit ( bool  val  ) 

Flag: set true if randomized round to integers is to be done.

References GssaSystem::useRandInit.

Referenced by initCinfo().

void Gsolve::setStoich ( Id  stoich  )  [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.

Implements ZombiePoolInterface.

References Element::cinfo(), Eref::data(), Id::element(), Id::eref(), Cinfo::isA(), GssaSystem::isReady, GssaSystem::stoich, and ZombiePoolInterface::stoich_.

Referenced by initCinfo().

Here is the call graph for this function:

void Gsolve::updateRateTerms ( unsigned int  index  )  [virtual]

Rescale specified voxel rate term following rate constant change or volume change. If index == ~0U then does all terms.

Implements ZombiePoolInterface.

References Stoich::getNumCoreRates(), and Stoich::getRateTerms().

Here is the call graph for this function:

void Gsolve::updateVoxelVol ( vector< double >  vols  ) 

Handles request to change volumes of voxels in this Ksolve, and all cascading effects of this. At this point it won't handle change in size of voxel array.

Referenced by initCinfo().

double Gsolve::volume ( unsigned int  i  )  const [virtual]

Inherited.

Implements ZombiePoolInterface.

SrcFinfo2< Id, vector< double > > * Gsolve::xComptOut (  )  [static]

Referenced by initCinfo(), initProc(), and initReinit().


The documentation for this class was generated from the following files:

Generated on 1 Jul 2015 for MOOSE by  doxygen 1.6.1