162 void setElist(
const Eref& e,
const vector< ObjId >& elist );
240 double rate,
const vector< Id >& reactants );
250 const vector< Id >& subs,
const vector< Id >& prds );
257 const vector< Id >& subs,
const vector< Id >& prds );
264 const vector< Id >& subs,
const vector< Id >& prds );
269 const vector< Id >& subs,
const vector< Id >& prds );
277 const vector< Id >& subs,
const vector< Id >& prds );
284 Id enzId,
Id enzMolId,
const vector< Id >& prds );
313 unsigned int getSpecies(
unsigned int poolIndex )
const;
318 void setSpecies(
unsigned int poolIndex,
unsigned int s );
437 unsigned int volIndex )
const;
unsigned int innerInstallReaction(Id reacId, const vector< Id > &subs, const vector< Id > &prds)
void updateFuncs(double *s, double t) const
Updates the function values, within s.
double getEnzNumK1(const Eref &e) const
void updateReacVelocities(const double *s, vector< double > &vel, unsigned int volIndex) const
vector< vector< Id > > prdComptVec_
Id zombifyPoolFuncWithScaling(Id pool)
void setMMenzKm(const Eref &e, double v) const
double getEnzK2(const Eref &e) const
Get rate k2 (1/sec) for enzyme.
vector< Id > offSolverMMenzVec_
Id getCompartment() const
void installAndUnschedFunc(Id func, Id pool, double volScale)
void setEnzK3(const Eref &e, double v) const
Set rate k3 (1/sec) for enzyme.
void setReacKf(const Eref &e, double v) const
void installAndUnschedFuncRate(Id func, Id pool)
Id compartment_
Contains Id of compartment holding reac system. Optional.
map< Id, vector< Id > > offSolverPoolMap_
void setAllowNegative(bool v)
vector< unsigned int > species_
double getR1(const Eref &e) const
vector< pair< Id, Id > > offSolverMMenzCompts_
void installAndUnschedFuncReac(Id func, Id reac)
map< Id, unsigned int > rateTermLookup_
vector< Id > offSolverPoolVec_
void setEnzK1(const Eref &e, double v) const
Later handle all the volumes when this conversion is done.
void resizeArrays()
Using the computed array sizes, now allocate space for them.
void setMMenzKcat(const Eref &e, double v) const
void zombifyChemCompt(Id compt)
const KinSparseMatrix & getStoichiometryMatrix() const
Updates the rates for cross-compartment reactions.
ZombiePoolInterface * dinterface_
Pointer for dsolve.
vector< Id > poolFuncVec_
unsigned int convertIdToFuncIndex(Id id) const
void installReaction(Id reacId, const vector< Id > &subs, const vector< Id > &prds)
vector< Id > getOffSolverCompts() const
void installEnzyme(Id enzId, Id enzMolId, Id cplxId, const vector< Id > &subs, const vector< Id > &prds)
void allocateModelObject(Id id)
Identifies and allocates objects in the Stoich.
void setFunctionExpr(const Eref &e, string expr)
void buildPoolLookup()
Functions to build the maps between Ids and internal indices.
vector< Id > reacFuncVec_
const vector< Id > & getOffSolverPools() const
void scaleBufsAndRates(unsigned int index, double volScale)
Used to handle run-time size updates for spines.
void setReacKb(const Eref &e, double v) const
void buildRateTermLookup()
double getR1offset1(const Eref &e) const
vector< Id > incrementFuncVec_
void locateOffSolverReacs(Id myCompt, vector< Id > &elist)
void allocateModel(const vector< Id > &elist)
Calculate sizes of all arrays, and allocate them.
map< Id, unsigned int > funcLookup_
bool getAllowNegative() const
vector< RateTerm * > rates_
vector< pair< Id, Id > > offSolverEnzCompts_
unsigned int convertIdToPoolIndex(Id id) const
vector< unsigned int > getColIndex() const
const vector< Id > & offSolverPoolMap(Id compt) const
KinSparseMatrix N_
N_ is the stoichiometry matrix. All pools * all reac terms.
void setEnzK2(const Eref &e, double v) const
Set rate k2 (1/sec) for enzyme.
vector< Id > getProxyPools(Id i) const
void unZombifyPools()
unZombifies Pools. Helper for unZombifyModel.
vector< vector< Id > > subComptVec_
unsigned int getNumFuncs() const
const FuncTerm * funcs(unsigned int i) const
vector< pair< Id, Id > > offSolverReacCompts_
Id dsolve_
This contains the Id of the Diffusion solver. Optional.
void setDsolve(Id v)
assigns diffusion solver: Dsovle or a Gillespie voxel stepper
vector< int > getMatrixEntry() const
unsigned int getNumBufPools() const
Returns number of local buffered pools.
vector< unsigned int > funcTarget_
unsigned int getNumRates() const
void installDummyEnzyme(Id enzId, Id enzMolId)
This is used when the enzyme lacks sub or prd.
unsigned int getNumVarPools() const
Returns number of local pools that are updated by solver.
void setElist(const Eref &e, const vector< ObjId > &elist)
static const Cinfo * initCinfo()
ZeroOrder * makeHalfReaction(double rate, const vector< Id > &reactants)
Utility function to make a half reac and return the rate term.
void convertRatesToStochasticForm()
const RateTerm * rates(unsigned int i) const
Utility function to return a rates_ entry.
void printRates() const
Another utility function, prints out all Kf, kf, Kb, kb.
double getEnzK3(const Eref &e) const
Get rate k3, aka kcat, for enzyme.
vector< unsigned int > getPoolIdMap() const
static const unsigned int PoolIsNotOnSolver
bool isFuncTarget(unsigned int poolIndex) const
Returns true if the specified pool is controlled by a func.
void setKsolve(Id v)
assigns kinetic solver: Ksovle or GSSAsolve.
double getMMenzKcat(const Eref &e) const
unsigned int convertIdToReacIndex(Id id) const
void zombifyModel(const Eref &e, const vector< Id > &elist)
void updateRatesAfterRemesh()
void setCompartment(Id v)
assigns compartment occupied by Stoich.
unsigned int getNumCoreRates() const
Number of rate terms for reactions purely on this compartment.
Id ksolve_
This contains the Id of the Kinetic solver.
vector< FuncTerm * > funcs_
The FuncTerms handle mathematical ops on mol levels.
unsigned int getNumAllPools() const
const vector< RateTerm * > & getRateTerms() const
Returns a reference to the entire rates_ vector.
void setSpecies(unsigned int poolIndex, unsigned int s)
double getR2(const Eref &e) const
vector< unsigned int > getRowStart() const
string getPath(const Eref &e) const
ZombiePoolInterface * kinterface_
Pointer for ksolve.
unsigned int getNumProxyPools() const
double getR1offset2(const Eref &e) const
void installMMenz(Id enzId, const vector< Id > &enzMolId, const vector< Id > &subs, const vector< Id > &prds)
void print() const
Utility function, prints out N_, used for debugging.
double getMMenzNumKm(const Eref &e) const
void setPath(const Eref &e, string path)
map< Id, unsigned int > poolLookup_
Id getPoolByIndex(unsigned int index) const
unsigned int numVoxels_
Number of voxels in reac system.
vector< Id > offSolverReacVec_
vector< Id > offSolverEnzVec_
unsigned int getSpecies(unsigned int poolIndex) const