MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <RateTerm.h>
Public Member Functions | |
RateTerm * | copyWithVolScaling (double vol, double sub, double prd) const |
Flux (double k, unsigned int y) | |
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) |
![]() | |
double | getR1 () const |
Used by Zombie to return rate terms. More... | |
double | getR2 () const |
Used by Zombie to return rate terms. More... | |
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) | |
![]() | |
RateTerm () | |
virtual | ~RateTerm () |
Private Attributes | |
unsigned int | y_ |
Additional Inherited Members | |
![]() | |
static const double | EPSILON = 1.0e-6 |
![]() | |
double | k_ |
This rather odd reaction is used when we have an amount y of a molecule and we want it to proceed to zero at a fixed rate k. k would usually be 1/dt. Following dt seconds, we need to update y as it has nominally all been used up.
Definition at line 320 of file RateTerm.h.
|
inline |
Definition at line 323 of file RateTerm.h.
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.
Reimplemented from ZeroOrder.
Definition at line 343 of file RateTerm.h.
References Flux(), ZeroOrder::k_, and y_.
|
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.
Reimplemented from ZeroOrder.
Definition at line 332 of file RateTerm.h.
|
inlinevirtual |
Computes the rate. The argument is the molecule array.
Reimplemented from ZeroOrder.
Definition at line 327 of file RateTerm.h.
References ZeroOrder::k_, and y_.
|
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
Reimplemented from ZeroOrder.
Definition at line 337 of file RateTerm.h.
|
private |
Definition at line 350 of file RateTerm.h.
Referenced by copyWithVolScaling(), and operator()().