Lattice Microbes 2.5
This is for whole cell modeling
Loading...
Searching...
No Matches
CMESolver Class Referenceabstract

#include <CMESolver.h>

Inheritance diagram for CMESolver:
[legend]
Collaboration diagram for CMESolver:
[legend]

Classes

struct  CompetitiveMMPropensityArgs
struct  FirstOrderPropensityArgs
struct  FPTTracking
struct  KHillPropensityArgs
struct  KHillTransportPropensityArgs
struct  MichaelisMentenPropensityArgs
struct  NoncompetitiveMMPropensityArgs
struct  PropensityArgs
struct  SecondOrderPropensityArgs
struct  SecondOrderSelfPropensityArgs
struct  SpeciesLimit
struct  TrackedParameter
struct  UncompetitiveMMPropensityArgs
struct  ZerothOrderHeavisidePropensityArgs
struct  ZerothOrderPropensityArgs

Public Member Functions

 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 buildModel (const uint numberSpecies, const uint numberReactions, const uint *initialSpeciesCounts, const uint *reactionTypesA, const double *k, const int *S, const uint *D, const uint kCols=1)
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 generateTrajectory ()=0
 Actually run the simulation.
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 ()
virtual bool needsReactionModel ()=0
 Tells whether the solver needs a reaction model.
virtual bool needsDiffusionModel ()=0
 Tells whether the solver needs a reaction model.

Protected Member Functions

virtual void allocateModel (uint numberSpecies, uint numberReactions)
virtual void destroyModel ()
virtual double recordParameters (double nextRecordTime, double recordInterval, double simulationTime)
virtual void queueRecordedParameters (bool flush=false)
void updateSpeciesCounts (uint r)
bool reachedSpeciesLimit ()
virtual int hookSimulation (double time)
virtual int onBeginTrajectory ()
virtual int onEndTrajectory ()

Static Protected Member Functions

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)

Protected Attributes

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

Constructor & Destructor Documentation

◆ CMESolver()

lm::cme::CMESolver::CMESolver ( RandomGenerator::Distributions neededDists)

◆ ~CMESolver()

lm::cme::CMESolver::~CMESolver ( )
virtual

Member Function Documentation

◆ addToParameterTrackingList()

void lm::cme::CMESolver::addToParameterTrackingList ( pair< string, double * > parameter)
virtual

◆ allocateModel()

void lm::cme::CMESolver::allocateModel ( uint numberSpecies,
uint numberReactions )
protectedvirtual

◆ buildModel()

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

◆ competitiveMMPropensity()

double lm::cme::CMESolver::competitiveMMPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ destroyModel()

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

◆ firstOrderPropensity()

double lm::cme::CMESolver::firstOrderPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ generateTrajectory()

virtual void lm::cme::CMESolver::generateTrajectory ( )
pure virtual

Actually run the simulation.

Implements lm::me::MESolver.

◆ getReactionRateConstantsView()

void lm::cme::CMESolver::getReactionRateConstantsView ( int reactionNumber,
double ** rates,
int * rateConstantCount )
virtual

◆ getSpeciesCountView()

void lm::cme::CMESolver::getSpeciesCountView ( uint ** counts,
int * number )
virtual

◆ hookSimulation()

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

◆ initialize()

void lm::cme::CMESolver::initialize ( unsigned int replicate,
map< string, string > * parameters,
ResourceAllocator::ComputeResources * resources )
virtual

Initialize the simulation.

Parameters
replicateReplicate number out of total replicates
parametersA map of all the parameters for the simulation
Alist of resources assigned to the simulation

Implements lm::me::MESolver.

◆ kHillPropensity()

double lm::cme::CMESolver::kHillPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ kHillTransportPropensity()

double lm::cme::CMESolver::kHillTransportPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ michaelisMentenPropensity()

double lm::cme::CMESolver::michaelisMentenPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ noncompetitiveMMPropensity()

double lm::cme::CMESolver::noncompetitiveMMPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ onBeginTrajectory()

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

◆ onEndTrajectory()

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

◆ queueRecordedParameters()

void lm::cme::CMESolver::queueRecordedParameters ( bool flush = false)
protectedvirtual

◆ reachedSpeciesLimit()

bool lm::cme::CMESolver::reachedSpeciesLimit ( )
inlineprotected

◆ recordParameters()

double lm::cme::CMESolver::recordParameters ( double nextRecordTime,
double recordInterval,
double simulationTime )
protectedvirtual

◆ secondOrderPropensity()

double lm::cme::CMESolver::secondOrderPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ secondOrderSelfPropensity()

double lm::cme::CMESolver::secondOrderSelfPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ setFptTrackingList()

void lm::cme::CMESolver::setFptTrackingList ( list< uint > speciesList)
virtual

◆ setModelPropensityFunction()

void lm::cme::CMESolver::setModelPropensityFunction ( uint reaction,
double(* propensityFunction )(double time, uint *speciesCounts, void *args),
void * propensityFunctionArg )
virtual

◆ setReactionModel()

void lm::cme::CMESolver::setReactionModel ( lm::io::ReactionModel * reactionModel)
virtual

◆ setReactionRateCME()

void lm::cme::CMESolver::setReactionRateCME ( unsigned int reactionId,
double rate )
virtual

◆ setSpeciesLowerLimit()

void lm::cme::CMESolver::setSpeciesLowerLimit ( uint species,
uint limit )
virtual

◆ setSpeciesUpperLimit()

void lm::cme::CMESolver::setSpeciesUpperLimit ( uint species,
uint limit )
virtual

◆ uncompetitiveMMPropensity()

double lm::cme::CMESolver::uncompetitiveMMPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ updateSpeciesCounts()

void lm::cme::CMESolver::updateSpeciesCounts ( uint r)
inlineprotected

◆ zerothOrderHeavisidePropensity()

double lm::cme::CMESolver::zerothOrderHeavisidePropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

◆ zerothOrderPropensity()

double lm::cme::CMESolver::zerothOrderPropensity ( double time,
uint * speciesCounts,
void * pargs )
staticprotected

Member Data Documentation

◆ D

uint* lm::cme::CMESolver::D
protected

◆ dependentReactions

uint** lm::cme::CMESolver::dependentReactions
protected

◆ dependentSpecies

uint** lm::cme::CMESolver::dependentSpecies
protected

◆ dependentSpeciesChange

int** lm::cme::CMESolver::dependentSpeciesChange
protected

◆ fptTrackedSpecies

FPTTracking* lm::cme::CMESolver::fptTrackedSpecies
protected

◆ initialSpeciesCounts

uint* lm::cme::CMESolver::initialSpeciesCounts
protected

◆ neededDists

RandomGenerator::Distributions lm::cme::CMESolver::neededDists
protected

◆ numberDependentReactions

uint* lm::cme::CMESolver::numberDependentReactions
protected

◆ numberDependentSpecies

uint* lm::cme::CMESolver::numberDependentSpecies
protected

◆ numberFptTrackedSpecies

uint lm::cme::CMESolver::numberFptTrackedSpecies
protected

◆ numberReactions

uint lm::cme::CMESolver::numberReactions
protected

◆ numberSpecies

uint lm::cme::CMESolver::numberSpecies
protected

◆ numberSpeciesLimits

uint lm::cme::CMESolver::numberSpeciesLimits
protected

◆ numberSpeciesToTrack

uint lm::cme::CMESolver::numberSpeciesToTrack
protected

◆ parameters

map<string,string>* lm::cme::CMESolver::parameters
protected

◆ propensityArgs

list<PropensityArgs *> lm::cme::CMESolver::propensityArgs
protected

◆ propensityFunctionArgs

void** lm::cme::CMESolver::propensityFunctionArgs
protected

◆ propensityFunctions

void** lm::cme::CMESolver::propensityFunctions
protected

◆ reactionTypes

uint* lm::cme::CMESolver::reactionTypes
protected

◆ replicate

unsigned int lm::cme::CMESolver::replicate
protected

◆ resources

ResourceAllocator::ComputeResources* lm::cme::CMESolver::resources
protected

◆ rng

RandomGenerator* lm::cme::CMESolver::rng
protected

◆ S

int* lm::cme::CMESolver::S
protected

◆ speciesCounts

uint* lm::cme::CMESolver::speciesCounts
protected

◆ speciesLimits

SpeciesLimit* lm::cme::CMESolver::speciesLimits
protected

◆ trackedParameters

list<TrackedParameter> lm::cme::CMESolver::trackedParameters
protected

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