MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
RateTerm Class Referenceabstract

#include <RateTerm.h>

+ Inheritance diagram for RateTerm:
+ Collaboration diagram for RateTerm:

Public Member Functions

virtual RateTermcopyWithVolScaling (double vol, double sub, double prd) const =0
 
virtual double getR1 () const =0
 Used by Zombie to return rate terms. More...
 
virtual double getR2 () const =0
 Used by Zombie to return rate terms. More...
 
virtual unsigned int getReactants (vector< unsigned int > &molIndex) const =0
 
virtual double operator() (const double *S) const =0
 Computes the rate. The argument is the molecule array. More...
 
 RateTerm ()
 
virtual void rescaleVolume (short comptIndex, const vector< short > &compartmentLookup, double ratio)=0
 
virtual void setR1 (double k1)=0
 Used by Zombie to assign rate terms. More...
 
virtual void setR2 (double k2)=0
 Used by Zombie to assign rate terms. More...
 
virtual void setRates (double k1, double k2)=0
 
virtual ~RateTerm ()
 

Static Public Attributes

static const double EPSILON = 1.0e-6
 

Detailed Description

Definition at line 18 of file RateTerm.h.

Constructor & Destructor Documentation

RateTerm::RateTerm ( )
inline

Definition at line 21 of file RateTerm.h.

21 {;}
virtual RateTerm::~RateTerm ( )
inlinevirtual

Definition at line 22 of file RateTerm.h.

22 {;}

Member Function Documentation

virtual RateTerm* RateTerm::copyWithVolScaling ( double  vol,
double  sub,
double  prd 
) const
pure virtual

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.

Implemented in BidirectionalReaction, StochNOrder, NOrder, StochSecondOrderSingleSubstrate, SecondOrder, FirstOrder, Flux, ZeroOrder, ExternReac, MMEnzyme, MMEnzyme1, FuncReac, and FuncRate.

virtual double RateTerm::getR1 ( ) const
pure virtual

Used by Zombie to return rate terms.

Implemented in BidirectionalReaction, ZeroOrder, ExternReac, and MMEnzymeBase.

Referenced by Stoich::convertRatesToStochasticForm().

+ Here is the caller graph for this function:

virtual double RateTerm::getR2 ( ) const
pure virtual

Used by Zombie to return rate terms.

Implemented in BidirectionalReaction, ZeroOrder, ExternReac, and MMEnzymeBase.

virtual unsigned int RateTerm::getReactants ( vector< unsigned int > &  molIndex) const
pure virtual

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.

Implemented in BidirectionalReaction, NOrder, StochSecondOrderSingleSubstrate, SecondOrder, FirstOrder, Flux, ZeroOrder, ExternReac, MMEnzyme, MMEnzyme1, FuncReac, and FuncRate.

Referenced by Gsolve::fillMmEnzDep(), and MMEnzyme::getReactants().

+ Here is the caller graph for this function:

virtual double RateTerm::operator() ( const double *  S) const
pure virtual

Computes the rate. The argument is the molecule array.

Implemented in BidirectionalReaction, StochNOrder, NOrder, StochSecondOrderSingleSubstrate, SecondOrder, FirstOrder, Flux, ZeroOrder, ExternReac, MMEnzyme, MMEnzyme1, FuncReac, and FuncRate.

virtual void RateTerm::rescaleVolume ( short  comptIndex,
const vector< short > &  compartmentLookup,
double  ratio 
)
pure virtual

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

Implemented in BidirectionalReaction, NOrder, StochSecondOrderSingleSubstrate, SecondOrder, FirstOrder, Flux, ZeroOrder, ExternReac, FuncReac, and MMEnzymeBase.

virtual void RateTerm::setR1 ( double  k1)
pure virtual

Used by Zombie to assign rate terms.

Implemented in BidirectionalReaction, ZeroOrder, ExternReac, and MMEnzymeBase.

virtual void RateTerm::setR2 ( double  k2)
pure virtual

Used by Zombie to assign rate terms.

Implemented in BidirectionalReaction, ZeroOrder, ExternReac, and MMEnzymeBase.

virtual void RateTerm::setRates ( double  k1,
double  k2 
)
pure virtual

Assign the rates.

Implemented in BidirectionalReaction, ZeroOrder, ExternReac, and MMEnzymeBase.

Member Data Documentation

const double RateTerm::EPSILON = 1.0e-6
static

Definition at line 52 of file RateTerm.h.

Referenced by MMEnzyme::operator()().


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