Sha256: b7266fb17128c52a568768598f8b15d6ca05210dbea8aa170f9c78c4b14f95cc

Contents?: true

Size: 918 Bytes

Versions: 52

Compression:

Stored size: 918 Bytes

Contents

# encoding: utf-8

# A mixin for TS transition representations.
# 
class YPetri::Simulation::TransitionRepresentation
  module Type_TS
    include Type_T
    include Type_S

    attr_reader :rate_closure

    # Initialization subroutine.
    # 
    def init
      super
      @rate_closure = to_rate_closure
    end

    # Transition's rate, given the current system state.
    # 
    def rate
      rate_closure.call
    end
    alias flux rate
    alias propensity rate

    # Firing of the transition (rate * Δtime).
    # 
    def firing Δt
      rate * Δt
    end

    # Gradient contribution of the transition to all places.
    # 
    def ∇
      codomain >> stoichiometry.map { |coeff| rate * coeff }
    end
    alias gradient_all ∇

    # Builds a flux closure.
    # 
    def to_rate_closure
      build_closure
    end
  end # module Type_TS
end # class YPetri::Simulation::TransitionRepresentation

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
y_petri-2.2.1 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.2.0 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.51 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.50 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.49 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.48 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.47 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.46 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.45 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.44 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.42 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.40 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.39 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.37 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.36 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.35 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.34 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.33 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.31 lib/y_petri/simulation/transition_representation/TS.rb
y_petri-2.1.30 lib/y_petri/simulation/transition_representation/TS.rb