Skip to content

Commit

Permalink
Merge 8a626be into 6434a6f
Browse files Browse the repository at this point in the history
  • Loading branch information
TorkelE committed Aug 6, 2020
2 parents 6434a6f + 8a626be commit 3507184
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 0 deletions.
13 changes: 13 additions & 0 deletions test/solve_ODEs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -110,3 +110,16 @@ for (i,network) in enumerate(reaction_networks_all)
@test solve(prob,Rosenbrock23()).retcode == :Success
end
end


### No parameter test ###

no_param_network = @reaction_network begin
(1.5,2), ∅ X
end
for factor in [1e0, 1e1, 1e2]
u0 = factor*rand(length(no_param_network.states))
prob = ODEProblem(no_param_network,u0,(0.,1000.))
sol = solve(prob,Rosenbrock23())
@test abs.(sol.u[end][1] - 1.5/2) < 1e-8
end
15 changes: 15 additions & 0 deletions test/solve_SDEs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -138,3 +138,18 @@ for reaction_network in reaction_networks_all
prob = SDEProblem(reaction_network,u0,(0.,1.),p)
end
end


### No parameter test ###

no_param_network = @reaction_network begin
(1.2,5), X1 X2
end
for factor in [1e3, 1e4]
u0 = factor*(1. .+ rand(length(no_param_network.states)))
prob = SDEProblem(no_param_network,u0,(0.,1000.))
sol = solve(prob,ImplicitEM())
vals1 = getindex.(sol.u[1:end],1)
vals2 = getindex.(sol.u[1:end],2)
@test mean(vals1) > mean(vals2)
end
12 changes: 12 additions & 0 deletions test/solve_jumps.jl
Original file line number Diff line number Diff line change
Expand Up @@ -107,3 +107,15 @@ for (i,network) in enumerate(reaction_networks_all)
@test solve(prob,SSAStepper()).retcode == :Default
end
end

no_param_network = @reaction_network begin
(1.2,5), X1 X2
end
for factor in [1e1, 1e2]
u0 = rand(1:Int64(factor*100),length(no_param_network.states))
prob = JumpProblem(no_param_network,DiscreteProblem(no_param_network,u0,(0.,1000.)),Direct())
sol = solve(prob,SSAStepper())
vals1 = getindex.(sol.u[1:end],1)
vals2 = getindex.(sol.u[1:end],2)
@test mean(vals1) > mean(vals2)
end
12 changes: 12 additions & 0 deletions test/steady_state_problems.jl
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,15 @@ for network in steady_state_test_networks, factor in [1e-1, 1e0, 1e1]

@test all(abs.(sol_ode.u[end] .- sol_ss.u) .< 1e-4)
end


### No parameter test ###

no_param_network = @reaction_network begin
(0.6,3.2), ∅ X
end
for factor in [1e0, 1e1, 1e2]
u0 = factor*rand(length(no_param_network.states))
sol_ss = solve(SteadyStateProblem(no_param_network,u0),SSRootfind(),abstol=1e-11)
@test abs.(sol_ss.u[1]-0.6/3.2) < 1e-8
end

0 comments on commit 3507184

Please sign in to comment.