ChemicalNodeReaction

open class ChemicalNodeReaction<T>(node: Node<T>, timeDistribution: TimeDistribution<T>) : AbstractMarkovianNodeReaction<T> (source)

Base for memoryless chemical reactions.

The generic implementation accepts no conditions: concrete chemical families must define their accepted semantic condition types and compute their own rate from typed model state. Construction rejects non-memoryless distributions.

Type Parameters

T

concentration type

Constructors

Link copied to clipboard
constructor(node: Node<T>, timeDistribution: TimeDistribution<T>)

Properties

Link copied to clipboard
open override var actions: List<Action<T>>
Link copied to clipboard
open override val canExecute: Observable<Boolean>
Link copied to clipboard
open override var conditions: List<Condition<T>>
Link copied to clipboard
override val host: Node<T>
Link copied to clipboard
open override val meanDelay: Double
Link copied to clipboard
Link copied to clipboard
override val rate: Double

The current rate of the exponentially distributed delays, namely the propensity of this reaction. By default, it is the rate of its ExponentialTime.

Link copied to clipboard

Functions

Link copied to clipboard
open override fun cloneOnNewNode(node: Node<T>): ChemicalNodeReaction<T>
Link copied to clipboard
operator override fun compareTo(other: Reaction<T>): Int
Link copied to clipboard
open override fun dispose()
Link copied to clipboard
open override fun execute()

Prepares valid conditions, applies the model mutation, and advances surviving distributed reactions.

Link copied to clipboard
override fun initializationComplete(atTime: Time, environment: Environment<T, *>)

Initializes reactive inputs after the model has been fully assembled.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
override fun updateSchedulingAfterFiring(currentTime: Time)

Refreshes reaction state after firing, then applies firing scheduling policy.

Link copied to clipboard
override fun updateSchedulingAfterInvalidation(currentTime: Time)