Lattice Microbes 2.5
This is for whole cell modeling
Loading...
Searching...
No Matches
lm::cme::NextReactionSolver Class Reference

#include <NextReactionSolver.h>

Inheritance diagram for lm::cme::NextReactionSolver:
[legend]
Collaboration diagram for lm::cme::NextReactionSolver:
[legend]

Public Member Functions

 NextReactionSolver ()
 NextReactionSolver (RandomGenerator::Distributions neededDists)
virtual ~NextReactionSolver ()
virtual bool needsReactionModel ()
 Tells whether the solver needs a reaction model.
virtual bool needsDiffusionModel ()
 Tells whether the solver needs a reaction model.
virtual void buildModel (const uint numberSpecies, const uint numberReactions, const uint *initialSpeciesCounts, const uint *reactionType, const double *k, const int *S, const uint *D, const uint kCols=1)
virtual void generateTrajectory ()
 Actually run the simulation.
Public Member Functions inherited from lm::cme::CMESolver
 CMESolver (RandomGenerator::Distributions neededDists)
virtual ~CMESolver ()
virtual void initialize (unsigned int replicate, map< string, string > *parameters, ResourceAllocator::ComputeResources *resources)
 Initialize the simulation.
virtual void setReactionModel (lm::io::ReactionModel *reactionModel)
virtual void setModelPropensityFunction (uint reaction, double(*propensityFunction)(double time, uint *speciesCounts, void *args), void *propensityFunctionArg)
virtual void setSpeciesUpperLimit (uint species, uint limit)
virtual void setSpeciesLowerLimit (uint species, uint limit)
virtual void setFptTrackingList (list< uint > speciesList)
virtual void addToParameterTrackingList (pair< string, double * >parameter)
virtual void setReactionRateCME (unsigned int reactionId, double rate)
virtual void getSpeciesCountView (uint **counts, int *number)
virtual void getReactionRateConstantsView (int reactionNumber, double **rates, int *rateConstantCount)
Public Member Functions inherited from lm::me::MESolver
 MESolver ()
 Create the MESolver.
virtual ~MESolver ()

Protected Member Functions

virtual void destroyModel ()
int updateAllReactionEvents (double time, int rngNext, double *expRngValues)
int updateReactionEvents (uint sourceReaction, double time, int rngNext, double *expRngValues)
virtual int hookSimulation (double time)
Protected Member Functions inherited from lm::cme::CMESolver
virtual void allocateModel (uint numberSpecies, uint numberReactions)
virtual double recordParameters (double nextRecordTime, double recordInterval, double simulationTime)
virtual void queueRecordedParameters (bool flush=false)
void updateSpeciesCounts (uint r)
bool reachedSpeciesLimit ()
virtual int onBeginTrajectory ()
virtual int onEndTrajectory ()

Protected Attributes

ReactionQueuereactionQueue
Protected Attributes inherited from lm::cme::CMESolver
RandomGenerator::Distributions neededDists
unsigned int replicate
map< string, string > * parameters
ResourceAllocator::ComputeResourcesresources
RandomGeneratorrng
uint numberSpecies
uint numberSpeciesToTrack
uint numberReactions
uintinitialSpeciesCounts
uintspeciesCounts
uintreactionTypes
int * S
uintD
void ** propensityFunctions
void ** propensityFunctionArgs
list< PropensityArgs * > propensityArgs
uint numberSpeciesLimits
SpeciesLimitspeciesLimits
uint numberFptTrackedSpecies
FPTTrackingfptTrackedSpecies
list< TrackedParametertrackedParameters
uintnumberDependentSpecies
uint ** dependentSpecies
int ** dependentSpeciesChange
uintnumberDependentReactions
uint ** dependentReactions

Additional Inherited Members

Static Protected Member Functions inherited from lm::cme::CMESolver
static double zerothOrderPropensity (double time, uint *speciesCounts, void *pargs)
static double firstOrderPropensity (double time, uint *speciesCounts, void *pargs)
static double secondOrderPropensity (double time, uint *speciesCounts, void *pargs)
static double secondOrderSelfPropensity (double time, uint *speciesCounts, void *pargs)
static double kHillPropensity (double time, uint *speciesCounts, void *pargs)
static double kHillTransportPropensity (double time, uint *speciesCounts, void *pargs)
static double zerothOrderHeavisidePropensity (double time, uint *speciesCounts, void *pargs)
static double michaelisMentenPropensity (double time, uint *speciesCounts, void *pargs)
static double competitiveMMPropensity (double time, uint *speciesCounts, void *pargs)
static double uncompetitiveMMPropensity (double time, uint *speciesCounts, void *pargs)
static double noncompetitiveMMPropensity (double time, uint *speciesCounts, void *pargs)

Constructor & Destructor Documentation

◆ NextReactionSolver() [1/2]

lm::cme::NextReactionSolver::NextReactionSolver ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ NextReactionSolver() [2/2]

lm::cme::NextReactionSolver::NextReactionSolver ( RandomGenerator::Distributions neededDists)
Here is the call graph for this function:

◆ ~NextReactionSolver()

lm::cme::NextReactionSolver::~NextReactionSolver ( )
virtual

Member Function Documentation

◆ buildModel()

void lm::cme::NextReactionSolver::buildModel ( const uint numberSpecies,
const uint numberReactions,
const uint * initialSpeciesCounts,
const uint * reactionType,
const double * k,
const int * S,
const uint * D,
const uint kCols = 1 )
virtual

Reimplemented from lm::cme::CMESolver.

Reimplemented in lm::cme::FluctuatingNRSolver.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ destroyModel()

void lm::cme::NextReactionSolver::destroyModel ( )
protectedvirtual

Reimplemented from lm::cme::CMESolver.

Reimplemented in lm::cme::FluctuatingNRSolver.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateTrajectory()

void lm::cme::NextReactionSolver::generateTrajectory ( )
virtual

Actually run the simulation.

Implements lm::cme::CMESolver.

Reimplemented in lm::cme::SelfRegulatingGeneSwitch.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hookSimulation()

int lm::cme::NextReactionSolver::hookSimulation ( double time)
protectedvirtual

Reimplemented from lm::cme::CMESolver.

Here is the caller graph for this function:

◆ needsDiffusionModel()

virtual bool lm::cme::NextReactionSolver::needsDiffusionModel ( )
inlinevirtual

Tells whether the solver needs a reaction model.

Implements lm::me::MESolver.

Reimplemented in lm::cme::SelfRegulatingGeneSwitch.

◆ needsReactionModel()

virtual bool lm::cme::NextReactionSolver::needsReactionModel ( )
inlinevirtual

Tells whether the solver needs a reaction model.

Implements lm::me::MESolver.

Reimplemented in lm::cme::SelfRegulatingGeneSwitch.

◆ updateAllReactionEvents()

int lm::cme::NextReactionSolver::updateAllReactionEvents ( double time,
int rngNext,
double * expRngValues )
inlineprotected
Here is the caller graph for this function:

◆ updateReactionEvents()

int lm::cme::NextReactionSolver::updateReactionEvents ( uint sourceReaction,
double time,
int rngNext,
double * expRngValues )
inlineprotected
Here is the caller graph for this function:

Member Data Documentation

◆ reactionQueue

ReactionQueue* lm::cme::NextReactionSolver::reactionQueue
protected

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