MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <RateTerm.h>
Public Member Functions | |
RateTerm * | copyWithVolScaling (double vol, double sub, double prd) const |
double | getR1 () const |
Used by Zombie to return rate terms. More... | |
double | getR2 () const |
Used by Zombie to return rate terms. More... | |
unsigned int | getReactants (vector< unsigned int > &molIndex) const |
double | operator() (const double *S) const |
Computes the rate. The argument is the molecule array. More... | |
void | rescaleVolume (short comptIndex, const vector< short > &compartmentLookup, double ratio) |
void | setK (double k) |
void | setR1 (double k1) |
Used by Zombie to assign rate terms. More... | |
void | setR2 (double k2) |
Used by Zombie to assign rate terms. More... | |
void | setRates (double k1, double k2) |
ZeroOrder (double k) | |
Public Member Functions inherited from RateTerm | |
RateTerm () | |
virtual | ~RateTerm () |
Protected Attributes | |
double | k_ |
Additional Inherited Members | |
Static Public Attributes inherited from RateTerm | |
static const double | EPSILON = 1.0e-6 |
Definition at line 254 of file RateTerm.h.
|
inline |
Definition at line 257 of file RateTerm.h.
References k_.
Referenced by copyWithVolScaling().
|
inlinevirtual |
Duplicates rate term and then applies volume scaling. Arguments are volume of reference voxel, product of vol/refVol for all substrates: applied to R1 product of vol/refVol for all products: applied to R2
Note that unless the reaction is cross-compartment, the vol/refVol will be one.
Implements RateTerm.
Reimplemented in StochNOrder, NOrder, StochSecondOrderSingleSubstrate, SecondOrder, FirstOrder, and Flux.
Definition at line 305 of file RateTerm.h.
References k_, and ZeroOrder().
Referenced by BidirectionalReaction::copyWithVolScaling().
|
inlinevirtual |
Used by Zombie to return rate terms.
Implements RateTerm.
Definition at line 286 of file RateTerm.h.
References k_.
Referenced by BidirectionalReaction::getR1(), and BidirectionalReaction::getR2().
|
inlinevirtual |
Used by Zombie to return rate terms.
Implements RateTerm.
Definition at line 290 of file RateTerm.h.
|
inlinevirtual |
This function finds the reactant indices in the vector S. It returns the number of substrates found, which are the first entries in molIndex. The products are the remaining ones. Note that it does NOT find products for unidirectional reactions, which is a bit of a problem.
Implements RateTerm.
Reimplemented in NOrder, StochSecondOrderSingleSubstrate, SecondOrder, FirstOrder, and Flux.
Definition at line 294 of file RateTerm.h.
Referenced by BidirectionalReaction::getReactants(), Stoich::innerInstallReaction(), and Stoich::installEnzyme().
|
inlinevirtual |
Computes the rate. The argument is the molecule array.
Implements RateTerm.
Reimplemented in StochNOrder, NOrder, StochSecondOrderSingleSubstrate, SecondOrder, FirstOrder, and Flux.
Definition at line 263 of file RateTerm.h.
References k_.
|
inlinevirtual |
This is used to rescale the RateTerm kinetics when the compartment volume changes. This is needed because the kinetics are in extensive units, that is, mol numbers, rather than in intensive units like concentration. So when the volume changes the rate terms change. Each Rate term checks if any of its reactant molecules are affected, and if so, rescales. Ratio is newVol / oldVol
Implements RateTerm.
Reimplemented in NOrder, StochSecondOrderSingleSubstrate, SecondOrder, FirstOrder, and Flux.
Definition at line 299 of file RateTerm.h.
Referenced by BidirectionalReaction::rescaleVolume().
|
inline |
Definition at line 268 of file RateTerm.h.
References k_.
Referenced by setR1(), BidirectionalReaction::setR1(), BidirectionalReaction::setR2(), setRates(), and BidirectionalReaction::setRates().
|
inlinevirtual |
Used by Zombie to assign rate terms.
Implements RateTerm.
Definition at line 278 of file RateTerm.h.
References setK().
|
inlinevirtual |
Used by Zombie to assign rate terms.
Implements RateTerm.
Definition at line 282 of file RateTerm.h.
|
inlinevirtual |
Assign the rates.
Implements RateTerm.
Definition at line 274 of file RateTerm.h.
References setK().
|
protected |
Definition at line 311 of file RateTerm.h.
Referenced by copyWithVolScaling(), Flux::copyWithVolScaling(), FirstOrder::copyWithVolScaling(), SecondOrder::copyWithVolScaling(), StochSecondOrderSingleSubstrate::copyWithVolScaling(), NOrder::copyWithVolScaling(), StochNOrder::copyWithVolScaling(), getR1(), operator()(), Flux::operator()(), FirstOrder::operator()(), SecondOrder::operator()(), StochSecondOrderSingleSubstrate::operator()(), NOrder::operator()(), StochNOrder::operator()(), SecondOrder::rescaleVolume(), StochSecondOrderSingleSubstrate::rescaleVolume(), NOrder::rescaleVolume(), setK(), and ZeroOrder().