zekeriyasari / Causal.jl

Causal.jl - A modeling and simulation framework adopting causal modeling approach.
https://zekeriyasari.github.io/Causal.jl/dev/
Other
115 stars 7 forks source link

ERROR: MethodError: no method matching iterate(::Link{Float64}) #35

Closed zekeriyasari closed 4 years ago

zekeriyasari commented 4 years ago

The following script throws this error.

using Jusdl 

# Simulation time settings.
ti, dt, tf = 0., 1. / 64., 1.

# Describe the model
@defmodel model begin 
    @nodes begin
        gen = RampGenerator()
        adder = Adder(signs=(+,-))
        gain = Gain()
        writerout = Writer() 
        writerin = Writer() 
        mem = Memory(delay=dt, initial=zeros(1))
    end
    @branches begin 
        gen[1] => adder[1]
        adder[1] => gain[1]
        gain[1] => mem[1]
        mem[1] => adder[2]
        gen[1] => writerin[1]
        gain[1] => writerout[1]
    end
end

# Simulate the model 
sim = simulate!(model, ti, dt, tf, withbar=false)

The stacktrace is

[ Info: 2020-08-20T16:45:15.57 Started simulation...
[ Info: 2020-08-20T16:45:15.825 Inspecting model...
ERROR: MethodError: no method matching iterate(::Link{Float64})
Closest candidates are:
  iterate(::Combinatorics.IntegerPartitions) at /home/sari/.julia/packages/Combinatorics/Udg6X/src/partitions.jl:20
  iterate(::Combinatorics.IntegerPartitions, ::Any) at /home/sari/.julia/packages/Combinatorics/Udg6X/src/partitions.jl:20
  iterate(::Base.RegexMatchIterator) at regex.jl:552
  ...
Stacktrace:
 [1] checkchannels(::Model{LightGraphs.SimpleGraphs.SimpleDiGraph{Int64},Array{Any,1},Array{Any,1},Clock{Float64,Nothing},TaskManager{Any,Any,Inport{Inpin{Bool}},Outport{Outpin{Float64}},Nothing},Nothing}) at /home/sari/.julia/dev/Jusdl/src/models/model.jl:399
 [2] inspect!(::Model{LightGraphs.SimpleGraphs.SimpleDiGraph{Int64},Array{Any,1},Array{Any,1},Clock{Float64,Nothing},TaskManager{Any,Any,Inport{Inpin{Bool}},Outport{Outpin{Float64}},Nothing},Nothing}, ::Array{Int64,1}) at /home/sari/.julia/dev/Jusdl/src/models/model.jl:181
 [3] _simulate(::Simulation{Model{LightGraphs.SimpleGraphs.SimpleDiGraph{Int64},Array{Any,1},Array{Any,1},Clock{Float64,Nothing},TaskManager{Any,Any,Inport{Inpin{Bool}},Outport{Outpin{Float64}},Nothing},Nothing}}, ::Bool, ::Bool, ::Array{Int64,1}) at /home/sari/.julia/dev/Jusdl/src/models/model.jl:525
 [4] (::Jusdl.var"#964#965"{Bool,Bool,Array{Int64,1},Simulation{Model{LightGraphs.SimpleGraphs.SimpleDiGraph{Int64},Array{Any,1},Array{Any,1},Clock{Float64,Nothing},TaskManager{Any,Any,Inport{Inpin{Bool}},Outport{Outpin{Float64}},Nothing},Nothing}}})() at /home/sari/.julia/dev/Jusdl/src/models/model.jl:562
 [5] with_logstate(::Function, ::Any) at ./logging.jl:408
 [6] with_logger at ./logging.jl:514 [inlined]
 [7] simulate!(::Model{LightGraphs.SimpleGraphs.SimpleDiGraph{Int64},Array{Any,1},Array{Any,1},Clock{Float64,Nothing},TaskManager{Any,Any,Inport{Inpin{Bool}},Outport{Outpin{Float64}},Nothing},Nothing}; simdir::String, simprefix::String, simname::String, logtofile::Bool, loglevel::Base.CoreLogging.LogLevel, reportsim::Bool, withbar::Bool, breakpoints::Array{Int64,1}) at /home/sari/.julia/dev/Jusdl/src/models/model.jl:561
 [8] #simulate!#966 at /home/sari/.julia/dev/Jusdl/src/models/model.jl:579 [inlined]
 [9] top-level scope at REPL[3]:2
 [10] include_string(::Function, ::Module, ::String, ::String) at ./loading.jl:1088