Class containing methods to create and query reactions that occur in the simulation. More...
Public Member Functions | |
void | init (Simulator aSim, XMLParser aReactionRoot) |
Initialises a reaction object, giving the object the properties stated in the protocol file. More... | |
void | initFromAgent (ActiveAgent anAgent, Simulator aSim, XMLParser xmlRoot) |
Use the reaction class to fill the parameters fields of the agent. Populate only the yield vector, the kinetic vector will be filled by the subdefined method in the child classes. More... | |
void | register (String aReactionName, Simulator aSimulator) |
End of the initialization procedure. Store the name and simulation dictionary index for this reaction. More... | |
LinkedList< String > | declareSolutes () |
Utilised by a solver instance to know the solutes affected by this reaction. More... | |
void | fillParameters (Simulator aSim, XMLParser xmlRoot) |
Reads the reaction information (name, solute yield, particle yield etc) from the XML file and initialises this reaction. More... | |
void | addAgent (ActiveAgent anAgent) |
Register an agent among the guild of this pathway. More... | |
void | removeAgent (ActiveAgent anAgent) |
Remove an agent among the guild of this pathway. More... | |
abstract double | computeMassGrowthRate (ActiveAgent anAgent) |
Compute the marginal growth rate (i.e the specific growth rate times the mass of the particle which is mediating this reaction) More... | |
abstract double | computeSpecGrowthRate (ActiveAgent anAgent) |
Compute the specific growth rate. More... | |
abstract void | computeSpecificGrowthRate (ActiveAgent anAgent) |
Return the specific reaction rate for a given agent. More... | |
abstract void | computeSpecificGrowthRate (double[] s, ActiveAgent anAgent) |
Compute specific growth rate in function to concentrations sent. More... | |
abstract void | computeSpecificGrowthRate (double[] s) |
Compute specific growth rate in function of concentrations sent Parameters used are those defined for the reaction. More... | |
abstract void | computeUptakeRate (double[] s, double mass, double t) |
Update the array of uptake rates and the array of its derivative. Based on default values of parameters. Unit is fg.h-1. More... | |
void | applyReaction (SpatialGrid[] concGrid, SpatialGrid[] reacGrid, SpatialGrid[] diffReacGrid, SpatialGrid biomassGrid) |
Compute reaction rate on each concerned solute grids Assumes same parameters for all the agents of a same guild. More... | |
void | fitAgentMassOnGrid (SpatialGrid aSpG) |
Add the mass of all the agents of the guild on a received grid. The stored value is a CONCENTRATION. More... | |
double[] | readConcentrationSeen (ActiveAgent anAgent, SoluteGrid[] concGrid) |
Return a double array with all concentration seen by an agent on the default solute grid. More... | |
void | writeReport (ResultFile bufferState, ResultFile bufferSum) throws Exception |
Write reaction information to the result file stream. More... | |
void | fitGuildOnGrid () |
Build a grid with mass and mass-growth-rate of all agents of the guild. More... | |
double[] | getSoluteYield () |
Return the solute yield. More... | |
int[] | getSoluteIndex () |
Return the solute index. More... | |
double[] | getParticulateYield () |
Return the particulate yield. More... | |
double[] | getKinetic () |
Return the kinetic parameters used in this reaction. More... | |
LinkedList< ActiveAgent > | getGuild () |
Return the guild of this pathway. More... | |
abstract Matrix | calcdMUdS (Matrix S, double biomass) |
Calculate the rate of change of each uptake rate with respect to each solute. Returned as a matrix. More... | |
abstract Matrix | calcdMUdT (Matrix S, double biomass) |
Calculate the rate of change of each uptake rate with respect to time. More... | |
abstract void | updateMarginalMu (double[] s) |
Update the Marginal Mu data matrix. More... | |
abstract double | computeSpecRate (double[] s) |
Compute the specific growth rate. More... | |
abstract double[] | computeMarginalDiffMu (double[] s) |
Compute the marginal difference array. More... | |
Public Attributes | |
String | reactionName |
int | reactionIndex |
int | _catalystIndex |
int[] | _mySoluteIndex |
boolean | autocatalytic |
double[] | totalUptake |
double | Dil |
Protected Attributes | |
LinkedList< ActiveAgent > | _guild = new LinkedList<ActiveAgent>() |
SoluteGrid[] | _soluteList |
SoluteGrid | _reacGrid |
SoluteGrid | _guildGrid |
double | _specRate |
double[] | _diffUptakeRate |
double[] | _uptakeRate |
double[] | _soluteYield |
double[] | _kineticParam |
double[] | _particleYield |
String[] | _particleNameYield |
Class containing methods to create and query reactions that occur in the simulation.
Reactions in which solutes or biomass are produced or consumed mediate the dynamics of the entire iDynoMiCS simulation. The REACTION markup in the XML file specifies the reactions that occur. These may be defined via both stoichiometric and kinetic forms, and both of these representations are used in definining reactions in the protocol file.
void simulator.reaction.Reaction.addAgent | ( | ActiveAgent | anAgent | ) |
Register an agent among the guild of this pathway.
Register an agent among the guild of this pathway
anAgent | ActiveAgent to register |
void simulator.reaction.Reaction.applyReaction | ( | SpatialGrid[] | concGrid, |
SpatialGrid[] | reacGrid, | ||
SpatialGrid[] | diffReacGrid, | ||
SpatialGrid | biomassGrid | ||
) |
Compute reaction rate on each concerned solute grids Assumes same parameters for all the agents of a same guild.
Compute reaction rate on each concerned solute grids Assumes same parameters for all the agents of a same guild
concGrid | Solute concentration |
reacGrid | Contribution of the reaction to the solute concentration dynamics |
diffReacGrid | Derivative of the previous grid |
biomassGrid | CONCENTRATION of the catalyst |
|
pure virtual |
Calculate the rate of change of each uptake rate with respect to each solute. Returned as a matrix.
Calculate the rate of change of each uptake rate with respect to each solute. Returned as a matrix
S | Temporary container for solute concentration |
biomass | Total particle mass in the system which catalyses this reaction |
Implemented in simulator.reaction.ReactionFactor, simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionGrowthFitness, simulator.reaction.SingleMonod, and simulator.reaction.FirstOrder.
|
pure virtual |
Calculate the rate of change of each uptake rate with respect to time.
Calculate the rate of change of each uptake rate with respect to time. dMUdT = catalyticBiomass*specificGrowthRate*soluteYield. Returned as a matrix
S | Temporary container for solute concentration |
biomass | Total particle mass in the system which catalyses this reaction |
Implemented in simulator.reaction.ReactionFactor, simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionGrowthFitness, simulator.reaction.SingleMonod, and simulator.reaction.FirstOrder.
|
pure virtual |
Compute the marginal difference array.
Compute the marginal difference array. Don't forget to update marginalMu before calling this!
s | Temporary container for solute concentration |
Implemented in simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionGrowthFitness, simulator.reaction.ReactionFactor, simulator.reaction.SingleMonod, and simulator.reaction.FirstOrder.
|
pure virtual |
Compute the marginal growth rate (i.e the specific growth rate times the mass of the particle which is mediating this reaction)
Compute the marginal growth rate (i.e the specific growth rate times the mass of the particle which is mediating this reaction)
anAgent | Specific growth rate for this ActiveAgent |
Implemented in simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionFactor, simulator.reaction.ReactionGrowthFitness, simulator.reaction.FirstOrder, and simulator.reaction.SingleMonod.
|
pure virtual |
Compute the specific growth rate.
Compute the specific growth rate
anAgent | Specific growth rate for this ActiveAgent |
Implemented in simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionFactor, simulator.reaction.ReactionGrowthFitness, simulator.reaction.SingleMonod, and simulator.reaction.FirstOrder.
|
pure virtual |
Return the specific reaction rate for a given agent.
Return the specific reaction rate for a given agent
anAgent | Agent to use to determine solute concentration and calculate reaction rate |
Implemented in simulator.reaction.ReactionGrowthFitness, simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionFactor, simulator.reaction.FirstOrder, and simulator.reaction.SingleMonod.
|
pure virtual |
Compute specific growth rate in function to concentrations sent.
Compute specific growth rate in function to concentrations sent
s | Array of solute concentration |
anAgent | Parameters used are those defined for THIS agent |
Implemented in simulator.reaction.ReactionGrowthFitness, simulator.reaction.ReactionFactor, simulator.reaction.ReactionFactorWithConstant, simulator.reaction.FirstOrder, and simulator.reaction.SingleMonod.
|
pure virtual |
Compute specific growth rate in function of concentrations sent Parameters used are those defined for the reaction.
Compute specific growth rate in function of concentrations sent Parameters used are those defined for the reaction.
s | Array of solute concentration |
Implemented in simulator.reaction.ReactionGrowthFitness, simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionFactor, simulator.reaction.SingleMonod, and simulator.reaction.FirstOrder.
|
pure virtual |
Compute the specific growth rate.
Compute the specific growth rate. Don't forget to update marginalMu before calling this!
s | Temporary container for solute concentration |
Implemented in simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionFactor, simulator.reaction.ReactionGrowthFitness, simulator.reaction.SingleMonod, and simulator.reaction.FirstOrder.
|
pure virtual |
Update the array of uptake rates and the array of its derivative. Based on default values of parameters. Unit is fg.h-1.
Update the array of uptake rates and the array of its derivative. Based on default values of parameters. Unit is fg.h-1
s | The concentration of solute locally observed |
mass | Mass of the catalyst (cell...) |
t | Time |
Implemented in simulator.reaction.ReactionGrowthFitness, simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionFactor, simulator.reaction.SingleMonod, and simulator.reaction.FirstOrder.
LinkedList<String> simulator.reaction.Reaction.declareSolutes | ( | ) |
Utilised by a solver instance to know the solutes affected by this reaction.
Utility method called by a solver instance to know the solutes affected by this reaction
Reads the reaction information (name, solute yield, particle yield etc) from the XML file and initialises this reaction.
This method takes one reaction from the XML file and initialises a Reaction object with the properties stated in the protocol file. This includes reaction name, what the reaction is catalysed by, reaction kinetics, and solute and particle yields
aSim | The simulation object used to simulate the conditions specified in the protocol file |
xmlRoot | The XML object containing the definition of one reaction in the protocol file |
void simulator.reaction.Reaction.fitAgentMassOnGrid | ( | SpatialGrid | aSpG | ) |
Add the mass of all the agents of the guild on a received grid. The stored value is a CONCENTRATION.
Add the mass of all the agents of the guild on a received grid. The stored value is a CONCENTRATION
aSpG | Spatial grid of reactive biomass |
void simulator.reaction.Reaction.fitGuildOnGrid | ( | ) |
Build a grid with mass and mass-growth-rate of all agents of the guild.
Build a grid with mass and mass-growth-rate of all agents of the guild. Used when outputting simulation state to file
LinkedList<ActiveAgent> simulator.reaction.Reaction.getGuild | ( | ) |
Return the guild of this pathway.
Return the guild of this pathway
double [] simulator.reaction.Reaction.getKinetic | ( | ) |
Return the kinetic parameters used in this reaction.
Return the kinetic parameters used in this reaction
double [] simulator.reaction.Reaction.getParticulateYield | ( | ) |
Return the particulate yield.
Return the particulate yield
int [] simulator.reaction.Reaction.getSoluteIndex | ( | ) |
Return the solute index.
Return the solute index
double [] simulator.reaction.Reaction.getSoluteYield | ( | ) |
Return the solute yield.
Return the solute yield
Initialises a reaction object, giving the object the properties stated in the protocol file.
Reactions in which solutes or biomass are produced or consumed mediate the dynamics of iDynoMiCS. This constructor initialises a particular reaction that is stated in the protocol file. Kinetic parameters are managed by the subdefined method in the children class
aSim | The simulation object used to simulate the conditions specified in the protocol file |
aReactionRoot | The XML object containing the definition of one reaction in the protocol file |
void simulator.reaction.Reaction.initFromAgent | ( | ActiveAgent | anAgent, |
Simulator | aSim, | ||
XMLParser | xmlRoot | ||
) |
Use the reaction class to fill the parameters fields of the agent. Populate only the yield vector, the kinetic vector will be filled by the subdefined method in the child classes.
Use the reaction class to fill the parameters fields of the agent. Populate only the yield vector, the kinetic vector will be filled by the subdefined method in the child classes
anAgent | The ActiveAgent which parameters are being populated |
aSim | The simulation object used to simulate the conditions specified in the protocol file |
xmlRoot | The XML object containing the definition of one reaction in the protocol file |
double [] simulator.reaction.Reaction.readConcentrationSeen | ( | ActiveAgent | anAgent, |
SoluteGrid[] | concGrid | ||
) |
Return a double array with all concentration seen by an agent on the default solute grid.
Return a double array with all concentration seen by an agent on the default solute grid
anAgent | ActiveAgent responding to solute levels |
concGrid | Solute concentration grid |
void simulator.reaction.Reaction.register | ( | String | aReactionName, |
Simulator | aSimulator | ||
) |
End of the initialization procedure. Store the name and simulation dictionary index for this reaction.
End of the initialization procedure. Store the name and simulation dictionary index for this reaction
aReactionName | Name of this reaction |
aSimulator | Integer reference to the readcion simulation dictionary |
void simulator.reaction.Reaction.removeAgent | ( | ActiveAgent | anAgent | ) |
Remove an agent among the guild of this pathway.
Remove an agent among the guild of this pathway
anAgent | ActiveAgent to remove |
|
pure virtual |
Update the Marginal Mu data matrix.
Update the Marginal Mu data matrix
s | Temporary container for solute concentration |
Implemented in simulator.reaction.ReactionFactorWithConstant, simulator.reaction.ReactionFactor, simulator.reaction.SingleMonod, simulator.reaction.ReactionGrowthFitness, and simulator.reaction.FirstOrder.
void simulator.reaction.Reaction.writeReport | ( | ResultFile | bufferState, |
ResultFile | bufferSum | ||
) | throws Exception |
Write reaction information to the result file stream.
Write reaction information to the result file stream
bufferState | Buffer for state result files |
bufferSum | Buffer for sum result files |
Exception | Exception thrown if these files cannot be opened |
int simulator.reaction.Reaction._catalystIndex |
Holds an integer that references the simulation particle dictionary - notes the particle that catalyses this reaction
|
protected |
Buffer vector used to communicate diffision uptake rate to the solver, for each solute
|
protected |
Agents hosting this process
|
protected |
Grid concerning the biomass that catalyses this reaction
|
protected |
Array to store the kinetic factors involved in this reaction
int [] simulator.reaction.Reaction._mySoluteIndex |
A list of solute indices: if that solute's yield in this reaction is non-zero then it is on this list. Hence, this is the list of solutes which are affected by this reaction.
|
protected |
Array to store the names of the particles yielded in this reaction (sonia: 21-05-09)
|
protected |
Array to store the particle yield from this reaction. If a solute is not concerned by the current reaction, the yield will be zero
|
protected |
Solute grid that stores reaction rate for this reaction
|
protected |
Local copy of the solute grids used in this simulation. Used for efficiency purposes
|
protected |
Array to store the solute yield from this reaction. If a solute is not concerned by the current reaction, the yield will be zero
|
protected |
Temporary storage used during computation of reaction rates
|
protected |
Buffer vector used to communicate uptake rate to the solver, for each solute
boolean simulator.reaction.Reaction.autocatalytic |
Boolean noting whether or not the catalytic particle is affected by the reaction
double simulator.reaction.Reaction.Dil |
dilution rate from associated bulk (sonia 21-04-10)
int simulator.reaction.Reaction.reactionIndex |
Index to this reaction in the simulation dictionary
String simulator.reaction.Reaction.reactionName |
Name of this reaction. Set from the relevant tag in the protocol file
double [] simulator.reaction.Reaction.totalUptake |
Buffer vector used to communicate uptake rate to the solver, for each solute