首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在DifferentialEquations.jl中使用新的初始化方案?

如何在DifferentialEquations.jl中使用新的初始化方案?
EN

Stack Overflow用户
提问于 2020-04-06 03:53:39
回答 1查看 92关注 0票数 2

我正在尝试使用DifferentialEquations.jl的新初始化方案选项

https://diffeq.sciml.ai/dev/solvers/dae_solve/#Initialization-Schemes-1

但我不知道如何访问新方法。

代码语言:javascript
复制
using DifferentialEquations
import DifferentialEquations: ShampineCollocationInit
using Sundials
using Plots

function f(out,du,u,p,t)
  out[1] = - 0.04u[1]              + 1e4*u[2]*u[3] - du[1]
  out[2] = + 0.04u[1] - 3e7*u[2]^2 - 1e4*u[2]*u[3] - du[2]
  out[3] = u[1] + u[2] + u[3] - 1.0
end

u₀ = [1.0, 0, 0]
du₀ = [-0.04, 0.04, 0.0]
tspan = (0.0,100000.0)

differential_vars = [true,true,false]
prob = DAEProblem(f,du₀,u₀,tspan,differential_vars=differential_vars)

sol = solve(prob,IDA(initializealg = ShampineCollocationInit))

plot(sol, xscale=:log10, tspan=(1e-6, 1e5), layout=(3,1))

前面的示例返回以下错误:

代码语言:javascript
复制
WARNING: could not import DifferentialEquations.ShampineCollocationInit into Main
LoadError: UndefVarError: ShampineCollocationInit not defined
Stacktrace:
 [1] top-level scope at /home/Documents/test.jl:19
in expression starting at /home/Documents/test.jl:19

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-05-21 20:44:14

这些初始化方案只适用于OrdinaryDiffEq算法,而IDA (Sundials.jl)的初始化是在Sundials.jl portion of the documentation中定义的,随着它变得越来越同质化,这种情况可能会在不久的将来发生变化(当然会出现弃用警告)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61048612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档