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

#include <GillespieDSolver.h>

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

Public Member Functions

 GillespieDSolver ()
virtual ~GillespieDSolver ()
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 ()
void updateAllPropensities (double time)
void updatePropensities (double time, uint r)
virtual int hookSimulation (double time)
virtual int onBeginTrajectory ()
virtual int onEndTrajectory ()
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 ()

Protected Attributes

double * propensities
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

◆ GillespieDSolver()

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

◆ ~GillespieDSolver()

lm::cme::GillespieDSolver::~GillespieDSolver ( )
virtual

Member Function Documentation

◆ buildModel()

void lm::cme::GillespieDSolver::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.

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

◆ destroyModel()

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

Reimplemented from lm::cme::CMESolver.

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

◆ generateTrajectory()

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

Actually run the simulation.

Implements lm::cme::CMESolver.

Reimplemented in lm::cme::HillSwitch, lm::cme::TwoStateExpression, lm::cme::TwoStateHillLoopSwitch, and lm::cme::TwoStateHillSwitch.

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

◆ hookSimulation()

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

Reimplemented from lm::cme::CMESolver.

Here is the caller graph for this function:

◆ needsDiffusionModel()

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

Tells whether the solver needs a reaction model.

Implements lm::me::MESolver.

Reimplemented in lm::cme::HillSwitch, lm::cme::TwoStateExpression, lm::cme::TwoStateHillLoopSwitch, and lm::cme::TwoStateHillSwitch.

◆ needsReactionModel()

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

Tells whether the solver needs a reaction model.

Implements lm::me::MESolver.

Reimplemented in lm::cme::HillSwitch, lm::cme::TwoStateExpression, lm::cme::TwoStateHillLoopSwitch, and lm::cme::TwoStateHillSwitch.

◆ onBeginTrajectory()

int lm::cme::GillespieDSolver::onBeginTrajectory ( )
protectedvirtual

Reimplemented from lm::cme::CMESolver.

Here is the caller graph for this function:

◆ onEndTrajectory()

int lm::cme::GillespieDSolver::onEndTrajectory ( )
protectedvirtual

Reimplemented from lm::cme::CMESolver.

Here is the caller graph for this function:

◆ updateAllPropensities()

void lm::cme::GillespieDSolver::updateAllPropensities ( double time)
inlineprotected
Here is the caller graph for this function:

◆ updatePropensities()

void lm::cme::GillespieDSolver::updatePropensities ( double time,
uint r )
inlineprotected
Here is the caller graph for this function:

Member Data Documentation

◆ propensities

double* lm::cme::GillespieDSolver::propensities
protected

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