Skip to content

Commit 588b9d1

Browse files
committed
TaylorSeries: .coeffs[i] replaced by [i]
1 parent c1fca91 commit 588b9d1

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

src/continuous.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ mutable struct Variable <: AbstractEvent
1010
end
1111
end
1212

13-
function advance_time(var::Variable, t::Float64)
13+
function advance_time(var::Variable, t::Float64=now(environment(var)))
1414
var.x = evaluate(var.x, t - var.t + Taylor1(var.x.order))
1515
var.t = t
16-
var.x.coeffs[1]
16+
var.x[1]
1717
end
1818

1919
function evaluate(var::Variable, t::Float64=now(environment(var)))

src/odes/QSS.jl

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ struct QSS{T} <: Integrator
1919
for i in 1:qss.order-1
2020
for (j, q₀) in enumerate(x₀)
2121
qss.q[j] = integrate(model.f[j](t₀, qss.q, p), q₀)
22+
println(qss.q[j])
2223
end
2324
end
2425
qss
@@ -35,8 +36,9 @@ function initial_values(qss::QSS, t::Float64)
3536
t₀ = t + Taylor1(Float64, qss.order+0)
3637
x₀ = Vector{Taylor1}()
3738
for (i, f) in enumerate(qss.model.f)
38-
push!(x₀, integrate(f(t₀, qss.q, qss.p), qss.q[i].coeffs[1]))
39+
push!(x₀, integrate(f(t₀, qss.q, qss.p), qss.q[i][1]))
3940
end
41+
println(x₀)
4042
x₀
4143
end
4244

@@ -47,6 +49,7 @@ function step(var::Variable, cont::Continuous, qss::QSS)
4749
t₀ = t + Taylor1(Float64, qss.order+0)
4850
x₀ = advance_time(var, t)
4951
update_quantized_state(qss, cont.vars, i, t)
52+
println(x₀)
5053
Δt = compute_next_time(var.x, max(qss.Δrel*x₀, qss.Δabs))
5154
schedule(var, cont, qss, Δt)
5255
for j in filter(j->qss.model.deps[j,i], 1:n)
@@ -57,20 +60,20 @@ function step(var::Variable, cont::Continuous, qss::QSS)
5760
advance_time(qss, k, t)
5861
end
5962
dep.x = integrate(qss.model.f[j](t₀, qss.q, qss.p), x₀)
60-
Δt = recompute_next_time(qss, var.x, qss.q[j], max(qss.Δrel*x₀, qss.Δabs))
63+
Δt = recompute_next_time(qss, dep.x, qss.q[j], max(qss.Δrel*x₀, qss.Δabs))
6164
schedule(dep, cont, qss, Δt)
6265
end
6366
end
6467

6568
function advance_time(qss::QSS, i::Int, t::Float64)
6669
qss.q[i] = evaluate(qss.q[i], t - qss.t[i] + Taylor1(qss.order+0))
6770
qss.t[i] = t
68-
qss.q[i].coeffs[1]
71+
qss.q[i][1]
6972
end
7073

7174
function update_quantized_state(qss::QSS{non_stiff}, vars::Vector{Variable}, i::UInt, t::Float64)
7275
qss.q[i] = copy(vars[i].x)
73-
qss.q[i].coeffs[end] = 0.0
76+
qss.q[i][end] = 0.0
7477
qss.t[i] = t
7578
end
7679

@@ -82,7 +85,7 @@ function update_quantized_state(qss::QSS{stiff}, vars::Vector{Variable}, i::UInt
8285
end
8386

8487
function compute_next_time(x::Taylor1, Δq::Float64)
85-
(abs(Δq/x.coeffs[end]))^(1.0/x.order)
88+
(abs(Δq/x[end]))^(1.0/x.order)
8689
end
8790

8891
function recompute_next_time(::QSS{non_stiff}, x::Taylor1, q::Taylor1, Δq::Float64)

0 commit comments

Comments
 (0)