bifurcationkit / BifurcationKit.jl

A Julia package to perform Bifurcation Analysis
https://bifurcationkit.github.io/BifurcationKitDocs.jl/stable
Other
303 stars 37 forks source link

Problems with event detection #131

Closed dawbarton closed 10 months ago

dawbarton commented 10 months ago

I have been having trouble getting event detection to work correctly; I think there are two bugs I've stumbled on.

  1. SaveAtEvent errors with ERROR: MethodError: Cannot convert an object of type Tuple{Float64} to an object of type Float64 if only one parameter is provided in the tuple (e.g., SaveAtEvent((0.0,))). This happens if detect_event equals 1 or 2.
  2. SaveAtEvent with two parameter values works with detect_event=1 but fails with detect_event=2 with the error ERROR: MethodError: no method matching setparam(::Nothing, ::Float64).

Trying these with ContinuousEvent also fails in the same way.

The code I'm using is in https://github.com/dawbarton/AeroelasticCBC.jl/blob/main/src/bifurcation.jl

dawbarton commented 10 months ago

Stack trace for 1.

ERROR: MethodError: Cannot `convert` an object of type Tuple{Float64} to an object of type Float64

Stacktrace:
  [1] cvt1
    @ .\essentials.jl:418 [inlined]
  [2] ntuple
    @ .\ntuple.jl:49 [inlined]
  [3] convert(#unused#::Type{Tuple{Float64, Float64}}, x::Tuple{Tuple{Float64}, Float64})
    @ Base .\essentials.jl:419
  [4] setproperty!(x::BifurcationKit.ContState{BifurcationKit.BorderedArray{Vector{Float64}, Float64}, Float64, Nothing, Nothing, Tuple{Float64, Float64}}, f::Symbol, v::Tuple{Tuple{Float64}, Float64})
    @ Base .\Base.jl:38
  [5] update_event!(it::BifurcationKit.ContIterable{BifurcationKit.PeriodicOrbitCont, BifurcationKit.WrapPOTrap{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, BifurcationKit.var"#863#873"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, 
m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, BifurcationKit.var"#1114#1118"{BifurcationKit.var"#1114#1115#1119"}, BifurcationKit.var"#1102#1108"{BifurcationKit.var"#1102#1103#1109"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, typeof(AeroelasticCBC.recordPO)}}}, BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.BorderingBLS{BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, Float64}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}, Float64, BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, BifurcationKit.DefaultEig{typeof(real)}, typeof(AeroelasticCBC.norminf), BifurcationKit.var"#1092#1096"{BifurcationKit.var"#1092#1093#1097"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 
7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, Int64, AeroelasticCBC.var"#122#124"{AeroelasticCBC.var"#122#123#125"}}}, typeof(BifurcationKit.cb_default), BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64}}, Tuple{String}, Int64}}, state::BifurcationKit.ContState{BifurcationKit.BorderedArray{Vector{Float64}, Float64}, Float64, Nothing, Nothing, Tuple{Float64, Float64}})
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\Continuation.jl:241
  [6] iterate_from_two_points(it::BifurcationKit.ContIterable{BifurcationKit.PeriodicOrbitCont, BifurcationKit.WrapPOTrap{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α 
= 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, BifurcationKit.var"#863#873"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, BifurcationKit.var"#1114#1118"{BifurcationKit.var"#1114#1115#1119"}, BifurcationKit.var"#1102#1108"{BifurcationKit.var"#1102#1103#1109"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, typeof(AeroelasticCBC.recordPO)}}}, BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.BorderingBLS{BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, Float64}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}, Float64, BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, BifurcationKit.DefaultEig{typeof(real)}, typeof(AeroelasticCBC.norminf), BifurcationKit.var"#1092#1096"{BifurcationKit.var"#1092#1093#1097"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, 
ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, Int64, AeroelasticCBC.var"#122#124"{AeroelasticCBC.var"#122#123#125"}}}, typeof(BifurcationKit.cb_default), BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64}}, Tuple{String}, Int64}}, u₀::Vector{Float64}, p₀::Float64, u₁::Vector{Float64}, p₁::Float64; _verbosity::Int64)
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\Continuation.jl:323
  [7] iterate_from_two_points
    @ C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\Continuation.jl:289 [inlined]
  [8] iterate(it::BifurcationKit.ContIterable{BifurcationKit.PeriodicOrbitCont, BifurcationKit.WrapPOTrap{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, BifurcationKit.var"#863#873"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 
6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 
2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, BifurcationKit.var"#1114#1118"{BifurcationKit.var"#1114#1115#1119"}, BifurcationKit.var"#1102#1108"{BifurcationKit.var"#1102#1103#1109"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, 
m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, 
typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, typeof(AeroelasticCBC.recordPO)}}}, BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.BorderingBLS{BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, Float64}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}, Float64, BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, BifurcationKit.DefaultEig{typeof(real)}, typeof(AeroelasticCBC.norminf), BifurcationKit.var"#1092#1096"{BifurcationKit.var"#1092#1093#1097"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, Int64, AeroelasticCBC.var"#122#124"{AeroelasticCBC.var"#122#123#125"}}}, typeof(BifurcationKit.cb_default), BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64}}, Tuple{String}, Int64}}; _verbosity::Int64)
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\Continuation.jl:285
dawbarton commented 10 months ago

Stack trace for 2.

ERROR: MethodError: no method matching setparam(::Nothing, ::Float64)

Closest candidates are:
  setparam(::BifurcationKit.AbstractBranchResult, ::Any)
   @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\Results.jl:123
  setparam(::BifurcationKit.DeflatedProblem, ::Any)
   @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\DeflationOperator.jl:191
  setparam(::BifurcationKit.ContIterable{Tkind, Tprob, Talg, T, S, E, TnormC, Tfinalisesolution, TcallbackN, Tevent}, ::T) where {Tkind, Tprob, Talg, T, S, E, TnormC, Tfinalisesolution, TcallbackN, Tevent}
   @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\Continuation.jl:62
  ...

Stacktrace:
  [1] (::BifurcationKit.var"#1092#1096"{BifurcationKit.var"#1092#1093#1097"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, 
k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, Int64, AeroelasticCBC.var"#132#134"{AeroelasticCBC.var"#132#133#135"}}})(z::BifurcationKit.BorderedArray{Vector{Float64}, Float64}, tau::BifurcationKit.BorderedArray{Vector{Float64}, Float64}, step::Int64, contResult::Nothing; kF::Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:bisection, :state), Tuple{Bool, BifurcationKit.ContState{BifurcationKit.BorderedArray{Vector{Float64}, Float64}, Float64, Nothing, Nothing, Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}}}}})
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\periodicorbit\PeriodicOrbitUtils.jl:71
  [2] #1092
    @ C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\periodicorbit\PeriodicOrbitUtils.jl:65 [inlined]
  [3] locate_event!(event::BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64, Float64}}, Tuple{String, String}, Int64}, iter::BifurcationKit.ContIterable{BifurcationKit.PeriodicOrbitCont, BifurcationKit.WrapPOTrap{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, BifurcationKit.var"#863#873"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, 
b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, BifurcationKit.var"#1114#1118"{BifurcationKit.var"#1114#1115#1119"}, BifurcationKit.var"#1102#1108"{BifurcationKit.var"#1102#1103#1109"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, typeof(AeroelasticCBC.recordPO)}}}, BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.BorderingBLS{BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, Float64}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}, Float64, BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, BifurcationKit.DefaultEig{typeof(real)}, typeof(AeroelasticCBC.norminf), BifurcationKit.var"#1092#1096"{BifurcationKit.var"#1092#1093#1097"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, Int64, AeroelasticCBC.var"#132#134"{AeroelasticCBC.var"#132#133#135"}}}, typeof(BifurcationKit.cb_default), BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64, Float64}}, Tuple{String, String}, Int64}}, _state::BifurcationKit.ContState{BifurcationKit.BorderedArray{Vector{Float64}, Float64}, Float64, Nothing, Nothing, Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}}, verbose::Bool)
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\events\EventDetection.jl:148
  [4] continuation!(it::BifurcationKit.ContIterable{BifurcationKit.PeriodicOrbitCont, BifurcationKit.WrapPOTrap{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, BifurcationKit.var"#863#873"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, 
m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, BifurcationKit.var"#1114#1118"{BifurcationKit.var"#1114#1115#1119"}, BifurcationKit.var"#1102#1108"{BifurcationKit.var"#1102#1103#1109"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, typeof(AeroelasticCBC.recordPO)}}}, BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.BorderingBLS{BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, Float64}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}, Float64, BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, BifurcationKit.DefaultEig{typeof(real)}, typeof(AeroelasticCBC.norminf), BifurcationKit.var"#1092#1096"{BifurcationKit.var"#1092#1093#1097"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 
7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, Int64, AeroelasticCBC.var"#132#134"{AeroelasticCBC.var"#132#133#135"}}}, typeof(BifurcationKit.cb_default), BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64, Float64}}, Tuple{String, String}, Int64}}, state::BifurcationKit.ContState{BifurcationKit.BorderedArray{Vector{Float64}, Float64}, Float64, Nothing, Nothing, Tuple{Tuple{Float64, Float64}, Tuple{Float64, Float64}}}, contRes::BifurcationKit.ContResult{BifurcationKit.PeriodicOrbitCont, NamedTuple{(:max, :min, :period, :u0, :param, :itnewton, :itlinear, :ds, :n_unstable, :n_imag, :stable, :step), Tuple{Float64, Float64, Float64, Vector{Float64}, Float64, Int64, Int64, Float64, Int64, Int64, Nothing, Int64}}, Nothing, Nothing, BifurcationKit.SpecialPoint{Float64, NamedTuple{(:max, :min, :period, :u0), Tuple{Float64, Float64, Float64, Vector{Float64}}}, Vector{Float64}, Vector{Float64}}, Vector{NamedTuple{(:x, :p, :step), Tuple{Vector{Float64}, Float64, Int64}}}, BifurcationKit.ContinuationPar{Float64, BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, BifurcationKit.DefaultEig{typeof(real)}}, BifurcationKit.WrapPOTrap{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, BifurcationKit.var"#863#873"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), 
BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α 
= 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 
3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, BifurcationKit.var"#1114#1118"{BifurcationKit.var"#1114#1115#1119"}, BifurcationKit.var"#1102#1108"{BifurcationKit.var"#1102#1103#1109"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, typeof(AeroelasticCBC.recordPO)}}}, BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.BorderingBLS{BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, Float64}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}})
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\Continuation.jl:427
  [5] continuation(it::BifurcationKit.ContIterable{BifurcationKit.PeriodicOrbitCont, BifurcationKit.WrapPOTrap{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 
9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, BifurcationKit.var"#863#873"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, BifurcationKit.var"#1114#1118"{BifurcationKit.var"#1114#1115#1119"}, BifurcationKit.var"#1102#1108"{BifurcationKit.var"#1102#1103#1109"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ 
= 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, typeof(AeroelasticCBC.recordPO)}}}, BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.BorderingBLS{BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, Float64}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}, Float64, BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, BifurcationKit.DefaultEig{typeof(real)}, typeof(AeroelasticCBC.norminf), BifurcationKit.var"#1092#1096"{BifurcationKit.var"#1092#1093#1097"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, 
BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, Int64, AeroelasticCBC.var"#132#134"{AeroelasticCBC.var"#132#133#135"}}}, typeof(BifurcationKit.cb_default), BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64, Float64}}, Tuple{String, String}, Int64}})
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\Continuation.jl:478
  [6] continuation(prob::BifurcationKit.WrapPOTrap{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U 
= 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, BifurcationKit.var"#863#873"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, BifurcationKit.var"#1114#1118"{BifurcationKit.var"#1114#1115#1119"}, BifurcationKit.var"#1102#1108"{BifurcationKit.var"#1102#1103#1109"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, 
Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, 
k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, typeof(AeroelasticCBC.recordPO)}}}, alg::BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.BorderingBLS{BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, Float64}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}, contparams::BifurcationKit.ContinuationPar{Float64, BifurcationKit.FloquetWrapperLS{BifurcationKit.DefaultLS}, BifurcationKit.DefaultEig{typeof(real)}}; linear_algo::Nothing, bothside::Bool, kwargs::Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:finalise_solution, :normC, :event, :kind), Tuple{BifurcationKit.var"#1092#1096"{BifurcationKit.var"#1092#1093#1097"{BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, 
k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, Int64, AeroelasticCBC.var"#132#134"{AeroelasticCBC.var"#132#133#135"}}}, typeof(AeroelasticCBC.norminf), BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64, Float64}}, Tuple{String, String}, Int64}, BifurcationKit.PeriodicOrbitCont}}})
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\Continuation.jl:527
  [7] continuation_potrap(prob::BifurcationKit.PeriodicOrbitTrapProblem{BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, 
ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, Vector{Float64}, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}, orbitguess::Vector{Float64}, alg::BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.MatrixBLS{BifurcationKit.DefaultLS}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}, contParams::BifurcationKit.ContinuationPar{Float64, BifurcationKit.DefaultLS, BifurcationKit.DefaultEig{typeof(real)}}, linear_algo::BifurcationKit.BorderingBLS{BifurcationKit.DefaultLS, Float64}; eigsolver::BifurcationKit.FloquetQaD{BifurcationKit.DefaultEig{typeof(abs)}}, record_from_solution::Function, plot_solution::Nothing, kwargs::Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:finalise_solution, :normC, :bothside, :event), Tuple{AeroelasticCBC.var"#132#134"{AeroelasticCBC.var"#132#133#135"}, typeof(AeroelasticCBC.norminf), Bool, BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64, Float64}}, Tuple{String, String}, Int64}}}})
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\periodicorbit\PeriodicOrbitTrapeze.jl:1007        
  [8] continuation_potrap
    @ C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\periodicorbit\PeriodicOrbitTrapeze.jl:951 [inlined]
  [9] #continuation#881
    @ C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\periodicorbit\PeriodicOrbitTrapeze.jl:1078 [inlined]
 [10] continuation(br::BifurcationKit.ContResult{BifurcationKit.EquilibriumCont, NamedTuple{(:h, :α, :w, :param, :itnewton, :itlinear, :ds, :n_unstable, :n_imag, :stable, :step), Tuple{Float64, Float64, Float64, Float64, Int64, Int64, Float64, Int64, Int64, Bool, Int64}}, Vector{ComplexF64}, Matrix{ComplexF64}, BifurcationKit.SpecialPoint{Float64, NamedTuple{(:h, :α, :w), Tuple{Float64, Float64, Float64}}, Vector{Float64}, Vector{Float64}}, Vector{NamedTuple{(:x, :p, :step), Tuple{Vector{Float64}, Float64, 
Int64}}}, BifurcationKit.ContinuationPar{Float64, BifurcationKit.DefaultLS, BifurcationKit.DefaultEig{typeof(real)}}, BifurcationKit.BifurcationProblem{BifurcationKit.BifFunction{typeof(unsteady_model), BifurcationKit.var"#8#24", Nothing, BifurcationKit.var"#6#22", Nothing, BifurcationKit.var"#11#28"{BifurcationKit.var"#d1Fad#26"}, BifurcationKit.var"#13#30", BifurcationKit.var"#15#32", BifurcationKit.var"#17#34", Bool, Float64}, Vector{Float64}, ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b = 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}, Setfield.PropertyLens{:U}, typeof(BifurcationKit.plot_default), typeof(AeroelasticCBC.recordEQ)}, BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.MatrixBLS{BifurcationKit.DefaultLS}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}}, ind_bif::Int64, _contParams::BifurcationKit.ContinuationPar{Float64, 
BifurcationKit.DefaultLS, BifurcationKit.DefaultEig{typeof(real)}}, probPO::BifurcationKit.PeriodicOrbitTrapProblem{Nothing, Nothing, BifurcationKit.DefaultLS, BifurcationKit.TimeMesh{Int64}, Nothing}; alg::BifurcationKit.PALC{BifurcationKit.Secant, BifurcationKit.MatrixBLS{BifurcationKit.DefaultLS}, Float64, BifurcationKit.DotTheta{BifurcationKit.var"#278#280", BifurcationKit.var"#279#281"}}, δp::Float64, ampfactor::Float64, usedeflation::Bool, nev::Int64, kwargs::Base.Pairs{Symbol, Any, NTuple{5, Symbol}, NamedTuple{(:record_from_solution, :finalise_solution, :normC, :bothside, :event), Tuple{typeof(AeroelasticCBC.recordPO), AeroelasticCBC.var"#132#134"{AeroelasticCBC.var"#132#133#135"}, typeof(AeroelasticCBC.norminf), Bool, BifurcationKit.ContinuousEvent{BifurcationKit.var"#262#265"{Tuple{Float64, Float64}}, Tuple{String, String}, Int64}}}})
    @ BifurcationKit C:\Users\db9052\.julia\packages\BifurcationKit\944Ng\src\periodicorbit\PeriodicOrbits.jl:452
 [11] trace_from_equilibrium(p0::ComponentArrays.ComponentVector{Float64, Vector{Float64}, Tuple{ComponentArrays.Axis{(U = 1, b 
= 2, a = 3, ρ = 4, m_w = 5, m_T = 6, I_α = 7, c_α = 8, c_h = 9, k_α = 10, k_α₂ = 11, k_α₃ = 12, k_h = 13, x_α = 14)}}}; save_par::Float64)
    @ AeroelasticCBC c:\Users\db9052\dev\AeroelasticCBC\src\bifurcation.jl:45
 [12] top-level scope
    @ REPL[30]:1
rveltz commented 10 months ago

Hi,

Thanks for posting this. Ill take a look asap. Also note that SaveAtEvent is very rough. What I had in mind at first was to approximately find the state close the parameter 2 passed in SaveAtEvent((2,)) (as it is doing now) and use newton to refine it for the parameter value 2.

rveltz commented 10 months ago

it should be solved with https://github.com/bifurcationkit/BifurcationKit.jl/commit/9c0bd224e0e52376d34d994441b8dfec95339f81. Do not hesitate to re-open if you have an issue with it. This part of the code is extremely tricky to get right and is critical to many functionalities of the lib (codim 2, etc). I am thus reluctant to make big changes here.

dawbarton commented 10 months ago

Thanks! Will give it a try.