public abstract class Reaction extends ConcentrationBasedModule<SectionDeltaFunction>
ConcentrationBasedModules following the laws of chemical kinetics. The calculation
of the velocity is defined by the concrete implementation of this module. In general Reactant are defined
as StoichiometricReactant that are consumed or produced during the reaction or CatalyticReactant
that are used to modify the reaction speed but whose concentration is not altered.ReversibleReaction,
MichaelisMentenReaction,
NthOrderReaction| Modifier and Type | Class and Description |
|---|---|
static class |
Reaction.Builder<TopLevelType extends Reaction,BuilderType extends Reaction.Builder> |
| Modifier and Type | Field and Description |
|---|---|
protected List<StoichiometricReactant> |
stoichiometricReactants
The stoichiometric reactants.
|
supplier| Constructor and Description |
|---|
Reaction() |
| Modifier and Type | Method and Description |
|---|---|
void |
addStochiometricReactant(StoichiometricReactant stoichiometricReactant) |
protected List<ConcentrationDelta> |
calculateDeltas(ConcentrationContainer concentrationContainer)
Calculates all deltas for all reactants for the reaction.
|
abstract double |
calculateVelocity(ConcentrationContainer concentrationContainer)
Calculates the reaction velocity, depending on the kinetic law.
|
protected String |
collectProductsString() |
protected String |
collectSubstrateString() |
protected double |
determineEffectiveConcentration(ConcentrationContainer concentrationContainer,
ReactantRole role)
Determines the concentration of reactants that influence the velocity of the reaction.
|
List<ChemicalEntity> |
getProducts()
Returns all products of this reaction.
|
String |
getReactionString()
Returns a nicely formatted string representation of the reaction.
|
List<StoichiometricReactant> |
getStoichiometricReactants()
Returns the list of reactants for this reaction.
|
String |
getStringForProtocol() |
List<ChemicalEntity> |
getSubstrates()
Returns all substrates of this reaction.
|
abstract void |
initialize() |
boolean |
isElementary()
Returns
true if this Reaction is considered elementary and false otherwise. |
void |
setElementary(boolean elementary)
Sets this Reaction as elementary.
|
void |
setStoichiometricReactants(List<StoichiometricReactant> stoichiometricReactants)
Sets the list of reactants for this reaction.
|
boolean |
substratesAvailable(Updatable updatable) |
String |
toString() |
addDeltaFunction, addModuleToSimulation, addReferencedEntities, addReferencedEntity, calculateUpdates, checkFeatures, deltaIsValid, determineLargestLocalError, getApplicationCondition, getDeltaCutoff, getErrorCutoff, getFeature, getFeatures, getIdentifier, getReferencedEntities, getRequiredFeatures, getScaledFeature, getScaledFeature, getScope, getSimulation, getSpecificity, getState, getSupplier, handleDelta, listFeatures, onCompletion, onReset, optimizeTimeStep, resetState, scaleScalableFeatures, setApplicationCondition, setDeltaCutoff, setErrorCutoff, setFeature, setIdentifier, setSimulationprotected List<StoichiometricReactant> stoichiometricReactants
public List<StoichiometricReactant> getStoichiometricReactants()
public void setStoichiometricReactants(List<StoichiometricReactant> stoichiometricReactants)
stoichiometricReactants - The list of reactants for this reaction.public void addStochiometricReactant(StoichiometricReactant stoichiometricReactant)
public boolean substratesAvailable(Updatable updatable)
public List<ChemicalEntity> getSubstrates()
public List<ChemicalEntity> getProducts()
protected double determineEffectiveConcentration(ConcentrationContainer concentrationContainer, ReactantRole role)
concentrationContainer - The container, where the concentrations are collected.role - The role that is to be summarized (ReactantRole.INCREASING for Products and ReactantRole.DECREASING for Substrates).protected List<ConcentrationDelta> calculateDeltas(ConcentrationContainer concentrationContainer)
concentrationContainer - The concentration container to calculate the deltas for.public abstract double calculateVelocity(ConcentrationContainer concentrationContainer)
concentrationContainer - The concentration container to calculate the deltas for.public abstract void initialize()
public boolean isElementary()
true if this Reaction is considered elementary and false otherwise.true if this Reaction is considered elementary and false otherwise.public void setElementary(boolean elementary)
elementary - true if this Reaction is elementary and false otherwise.public String getReactionString()
protected String collectSubstrateString()
protected String collectProductsString()
public String getStringForProtocol()
getStringForProtocol in interface UpdateModulegetStringForProtocol in class ConcentrationBasedModule<SectionDeltaFunction>public String toString()
toString in class ConcentrationBasedModule<SectionDeltaFunction>Copyright © 2018. All rights reserved.