MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <VoxelPools.h>
Public Member Functions | |
void | advance (const ProcInfo *p) |
Do the numerical integration. Advance the simulation. More... | |
const Stoich * | getStoich () |
void | print () const |
Used for debugging. More... | |
void | reinit (double dt) |
void | setInitDt (double dt) |
Set initial timestep to use by the solver. More... | |
void | setStoich (Stoich *stoich, const OdeSystem *ode) |
void | setVolumeAndDependencies (double vol) |
Handles volume change and subsequent cascading updates. More... | |
void | updateAllRateTerms (const vector< RateTerm * > &rates, unsigned int numCoreRates) |
Updates all the rate constants from the reference rates vector. More... | |
void | updateRates (const double *s, double *yprime) const |
void | updateRateTerms (const vector< RateTerm * > &rates, unsigned int numCoreRates, unsigned int index) |
void | updateReacVelocities (const double *s, vector< double > &v) const |
VoxelPools () | |
virtual | ~VoxelPools () |
Public Member Functions inherited from VoxelPoolsBase | |
void | addProxyTransferIndex (unsigned int comptIndex, unsigned int transferIndex) |
void | addProxyVoxy (unsigned int comptIndex, Id comptId, unsigned int voxel) |
Adds the index of a voxel to which proxy data should go. More... | |
void | backwardReacVolumeFactor (unsigned int i, double volume) |
void | filterCrossRateTerms (const vector< Id > &offSolverReacs, const vector< pair< Id, Id > > &offSolverReacCompts) |
void | forwardReacVolumeFactor (unsigned int i, double volume) |
double | getDiffConst (unsigned int) const |
double | getN (unsigned int) const |
double | getNinit (unsigned int) const |
double | getVolume () const |
Return the volume of the voxel. More... | |
double | getXreacScaleProducts (unsigned int i) const |
double | getXreacScaleSubstrates (unsigned int i) const |
bool | hasXfer (unsigned int comptIndex) const |
True when this voxel has data to be transferred. More... | |
bool | isVoxelJunctionPresent (Id i1, Id i2) const |
void | print () const |
Debugging utility. More... | |
void | reinit () |
void | resetXreacScale (unsigned int size) |
void | resizeArrays (unsigned int totNumPools) |
Allocate # of pools. More... | |
const double * | S () const |
void | scaleVolsBufsRates (double ratio, const Stoich *stoichPtr) |
void | setDiffConst (unsigned int, double v) |
void | setN (unsigned int i, double v) |
void | setNinit (unsigned int, double v) |
void | setVolume (double vol) |
Just assigns the volume without any cascading to other values. More... | |
const double * | Sinit () const |
unsigned int | size () const |
vector< double > & | Svec () |
Returns a handle to the mol # vector. More... | |
double * | varS () |
double * | varSinit () |
VoxelPoolsBase () | |
void | xferIn (const vector< unsigned int > &poolIndex, const vector< double > &values, const vector< double > &lastValues, unsigned int voxelIndex) |
void | xferInOnlyProxies (const vector< unsigned int > &poolIndex, const vector< double > &values, unsigned int numProxyPools, unsigned int voxelIndex) |
void | xferOut (unsigned int voxelIndex, vector< double > &values, const vector< unsigned int > &poolIndex) |
Assembles data values for sending out for x-compt reacs. More... | |
virtual | ~VoxelPoolsBase () |
Additional Inherited Members | |
Protected Attributes inherited from VoxelPoolsBase | |
vector< RateTerm * > | rates_ |
const Stoich * | stoichPtr_ |
This is the class for handling reac-diff voxels used for deterministic computations.
Definition at line 29 of file VoxelPools.h.
VoxelPools::VoxelPools | ( | ) |
Definition at line 36 of file VoxelPools.cpp.
|
virtual |
Definition at line 43 of file VoxelPools.cpp.
void VoxelPools::advance | ( | const ProcInfo * | p | ) |
Do the numerical integration. Advance the simulation.
Definition at line 89 of file VoxelPools.cpp.
References ProcInfo::currTime, ProcInfo::dt, VoxelPoolsBase::stoichPtr_, and Stoich::updateFuncs().
const Stoich* VoxelPools::getStoich | ( | ) |
void VoxelPools::print | ( | ) | const |
Used for debugging.
For debugging: Print contents of voxel pool.
Definition at line 369 of file VoxelPools.cpp.
References VoxelPoolsBase::print().
void VoxelPools::reinit | ( | double | dt | ) |
Definition at line 56 of file VoxelPools.cpp.
References VoxelPoolsBase::reinit().
void VoxelPools::setInitDt | ( | double | dt | ) |
Set initial timestep to use by the solver.
Definition at line 234 of file VoxelPools.cpp.
setStoich: Assigns the ODE system and Stoich. Stoich may be modified to create a new RateTerm vector in case the volume of this VoxelPools is new.
Definition at line 67 of file VoxelPools.cpp.
References OdeSystem::epsAbs, OdeSystem::epsRel, OdeSystem::initStepSize, and VoxelPoolsBase::reinit().
Referenced by SteadyState::setStoich().
|
virtual |
Handles volume change and subsequent cascading updates.
Handle volume updates. Inherited Virtual func.
Reimplemented from VoxelPoolsBase.
Definition at line 380 of file VoxelPools.cpp.
References VoxelPoolsBase::setVolumeAndDependencies().
|
virtual |
Updates all the rate constants from the reference rates vector.
Implements VoxelPoolsBase.
Definition at line 282 of file VoxelPools.cpp.
Referenced by SteadyState::setStoich().
void VoxelPools::updateRates | ( | const double * | s, |
double * | yprime | ||
) | const |
Core computation function. Updates the reaction velocities vector yprime given the current mol 'n' vector s.
Definition at line 318 of file VoxelPools.cpp.
References KinSparseMatrix::computeRowRate(), SparseMatrix< T >::nColumns(), and SparseMatrix< T >::nRows().
Referenced by SteadyState::classifyState().
|
virtual |
updateRateTerms updates the rate consts of a belonging to the specified index on the rates vector. It does recaling and assigning using values from the internal rates vector.
Implements VoxelPoolsBase.
Definition at line 300 of file VoxelPools.cpp.
void VoxelPools::updateReacVelocities | ( | const double * | s, |
vector< double > & | v | ||
) | const |
updateReacVelocities computes the velocity v of each reaction from the vector s of pool #s. This is a utility function for programs like SteadyState that need to analyze velocity.
updateReacVelocities computes the velocity v of each reaction. This is a utility function for programs like SteadyState that need to analyze velocity.
Definition at line 350 of file VoxelPools.cpp.
References SparseMatrix< T >::nColumns().