【发布时间】:2021-09-29 14:14:40
【问题描述】:
xi 是我控制的 x 网格上的点。我可以用以下简单的代码解决这个问题:
using DifferentialEquations
function ode_syst(du,u,p, t)
N = Int64(p[1])
beta= p[2]
deltax = 1/(N+1)
xs = [deltax*i for i in 1:N]
for j in 1:N
du[j] = -xs[j]^(beta)*u[j]+deltax*sum([u[i]*xs[i]^(beta) for i in 1:N])
end
end
N = 1000
u0 = ones(N)
beta = 2.0
p = [N, beta]
tspan = (0.0, 10^3);
prob = ODEProblem(ode_syst,u0,tspan,p);
sol = solve(prob);
但是,随着我使网格更精细,即增加 N,计算时间会迅速增长(我猜缩放是 N 的二次方)。关于如何使用分布式并行或多线程来实现这一点有什么建议吗?
【问题讨论】:
标签: julia differential-equations differentialequations.jl