- May 15, 2020
-
-
Christopher Rackauckas authored
more overtyping
-
Chris Rackauckas authored
-
Chris Rackauckas authored
-
Christopher Rackauckas authored
auto-color finite differencing too
-
Chris Rackauckas authored
-
Chris Rackauckas authored
-
- May 14, 2020
-
-
Chris Rackauckas authored
-
Christopher Rackauckas authored
-
Chris Rackauckas authored
-
Christopher Rackauckas authored
always color
-
Chris Rackauckas authored
-
Chris Rackauckas authored
-
- May 13, 2020
-
-
Chris Rackauckas authored
-
Chris Rackauckas authored
-
Chris Rackauckas authored
-
Chris Rackauckas authored
-
Chris Rackauckas authored
-
Chris Rackauckas authored
```julia using DifferentialEquations const N = 32 const xyd_brusselator = range(0,stop=1,length=N) brusselator_f(x, y, t) = (((x-0.3)^2 + (y-0.6)^2) <= 0.1^2) * (t >= 1.1) * 5. limit(a, N) = a == N+1 ? 1 : a == 0 ? N : a function brusselator_2d_loop(du, u, p, t) A, B, alpha, dx = p alpha = alpha/dx^2 @inbounds for I in CartesianIndices((N, N)) i, j = Tuple(I) x, y = xyd_brusselator[I[1]], xyd_brusselator[I[2]] ip1, im1, jp1, jm1 = limit(i+1, N), limit(i-1, N), limit(j+1, N), limit(j-1, N) du[i,j,1] = alpha*(u[im1,j,1] + u[ip1,j,1] + u[i,jp1,1] + u[i,jm1,1] - 4u[i,j,1]) + B + u[i,j,1]^2*u[i,j,2] - (A + 1)*u[i,j,1] + brusselator_f(x, y, t) du[i,j,2] = alpha*(u[im1,j,2] + u[ip1,j,2] + u[i,jp1,2] + u[i,jm1,2] - 4u[i,j,2]) + A*u[i,j,1] - u[i,j,1]^2*u[i,j,2] end end p = (3.4, 1., 10., step(xyd_brusselator)) using SparsityDetection, SparseArrays input = rand(32,32,2) output = similar(input) sparsity_pattern = jacobian_sparsity(brusselator_2d_loop,output,input,p,0.0) jac_sparsity = Float64.(sparse(sparsity_pattern)) f = ODEFunction(brusselator_2d_loop;jac_prototype=jac_sparsity) function init_brusselator_2d(xyd) N = length(xyd) u = zeros(N, N, 2) for I in CartesianIndices((N, N)) x = xyd[I[1]] y = xyd[I[2]] u[I,1] = 22*(y*(1-y))^(3/2) u[I,2] = 27*(x*(1-x))^(3/2) end u end u0 = init_brusselator_2d(xyd_brusselator) prob_ode_brusselator_2d = ODEProblem(brusselator_2d_loop, u0,(0.,11.5),p) prob_ode_brusselator_2d_sparse = ODEProblem(f, u0,(0.,11.5),p) @btime solve(prob_ode_brusselator_2d_sparse,save_everystep=false) using SparseDiffTools, BenchmarkTools @time colorvec = matrix_colors(jac_sparsity) f = ODEFunction(brusselator_2d_loop;jac_prototype=jac_sparsity, colorvec=colorvec) prob_ode_brusselator_2d_sparse = ODEProblem(f, init_brusselator_2d(xyd_brusselator), (0.,11.5),p) @btime solve(prob_ode_brusselator_2d_sparse,save_everystep=false) ``` 3.230 s (18691 allocations: 881.07 MiB) 10.766 s (19042 allocations: 881.07 MiB
-
Christopher Rackauckas authored
Added SFSDIRK 4th Order 5,6,7,8 stage methods
-
- May 12, 2020
-
-
Christopher Rackauckas authored
-
Christopher Rackauckas authored
support Enums in FunctionMap
-
Chris Rackauckas authored
-
Chris Rackauckas authored
-
- May 09, 2020
-
-
Christopher Rackauckas authored
-
Christopher Rackauckas authored
CompatHelper: bump compat for "UnPack" to "1.0"
-
- May 08, 2020
-
-
github-actions[bot] authored
-
- May 02, 2020
-
-
Chris Rackauckas authored
-
Christopher Rackauckas authored
-
Christopher Rackauckas authored
fix RKC mixed differentation
-
Chris Rackauckas authored
-
Christopher Rackauckas authored
-
Christopher Rackauckas authored
Fix GPU Non-Autonomous Rosenbrock AD usage by skipping ForwardDiff
-
Chris Rackauckas authored
-
Christopher Rackauckas authored
Failed step handling in NDF
-
- May 01, 2020
-
-
Chris Rackauckas authored
-
Chris Rackauckas authored
Allow non-autonomous functions with Rosenbrock to work with GPU and autodiff
-
Christopher Rackauckas authored
-
Christopher Rackauckas authored
Use default_factorize for oop stiff solvers
-
Yingbo Ma authored
-
Utkarsh authored
-