Skip to content

Commit 4bce8aa

Browse files
committed
Fix tests
1 parent eebe758 commit 4bce8aa

File tree

3 files changed

+24
-5
lines changed

3 files changed

+24
-5
lines changed

src/build_function.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ function _build_function(target::CTarget, eqs::Array{<:Equation}, args...;
575575
argstrs = join(vcat("double* $(lhsname)",[typeof(args[i])<:Array ? "double* $(rhsnames[i])" : "double $(rhsnames[i])" for i in 1:length(args)]),", ")
576576
ex = """
577577
void $fname($(argstrs...)) {
578-
$differential_equation
578+
$differential_equation
579579
}
580580
"""
581581

src/systems/diffeqs/odesystem.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ end
151151

152152
function collect_var!(states, parameters, var, iv)
153153
isequal(var, iv) && return nothing
154-
if isparameter(var) || isparameter(operation(var))
154+
if isparameter(var) || (istree(var) && isparameter(operation(var)))
155155
push!(parameters, var)
156156
else
157157
push!(states, var)

test/reduction.jl

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ eqs = [
3434
D(y) ~ x*-z)-y + β
3535
0 ~ sin(z) - x + y
3636
sin(u) ~ x + y
37-
2β ~ 2
3837
x ~ a
3938
]
4039

@@ -48,14 +47,14 @@ reduced_eqs = [
4847
0 ~ x + y - sin(u),
4948
]
5049
test_equal.(equations(lorenz1_aliased), reduced_eqs)
51-
test_equal.(states(lorenz1_aliased), [u, x, y, z])
50+
@test isempty(setdiff(states(lorenz1_aliased), [u, x, y, z]))
5251
test_equal.(observed(lorenz1_aliased), [
53-
β ~ 1,
5452
a ~ x,
5553
])
5654

5755
# Multi-System Reduction
5856

57+
@variables s
5958
eqs1 = [
6059
D(x) ~ σ*(y-x) + F,
6160
D(y) ~ x*-z)-u,
@@ -117,6 +116,26 @@ observed_eqs = [
117116
]
118117
test_equal.(observed(aliased_flattened_system), observed_eqs)
119118

119+
pp = [
120+
lorenz1.σ => 10
121+
lorenz1.ρ => 28
122+
lorenz1.β => 8/3
123+
lorenz2.σ => 10
124+
lorenz2.ρ => 28
125+
lorenz2.β => 8/3
126+
]
127+
u0 = [
128+
a => 1.0
129+
lorenz1.x => 1.0
130+
lorenz1.y => 0.0
131+
lorenz1.z => 0.0
132+
lorenz2.x => 1.0
133+
lorenz2.y => 0.0
134+
lorenz2.z => 0.0
135+
]
136+
prob1 = ODEProblem(aliased_flattened_system, u0, (0.0, 100.0), pp)
137+
solve(prob1, Rodas5())
138+
120139
# issue #578
121140

122141
let

0 commit comments

Comments
 (0)