Guest User

Untitled

a guest
Jan 17th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. const Mx = Tridiagonal([1.0 for i in 1:N-1],[-2.0 for i in 1:N],[1.0 for i in 1:N-1])
  2. # Do the reflections, different for x and y operators
  3. Mx[2,1] = 2.0
  4. Mx[end-1,end] = 2.0
  5.  
  6. a[i]*(u[i]-u[i-1])/dx
  7.  
  8. a[i]*(u[i]-u[i+1])/dx
  9.  
  10. function f(t,u,du)
  11. u1 = @view u[:,1]
  12. u2 = @view u[:,1]
  13. du1 = @view du[:,1]
  14. du2 = @view du[:,2]
  15. for i in 2:length(u)-1
  16. du1[i] = (u1[i-1] - 2u1[i] + u1[i+1])/dx^2 +
  17. a11(x[i],u1[i])*(u1[i]-u1[i-1])/dx +
  18. a12(x[i],u1[i])*(u1[i]-u1[i-1])/dx +
  19. c1(x1[i],u1[i])
  20.  
  21. du2[i] = (u2[i-1] - 2u2[i] + u2[i+1])/dx^2 +
  22. a11(x[i],u2[i])*(u2[i]-u2[i-1])/dx +
  23. a12(x[i],u2[i])*(u2[i]-u2[i-1])/dx +
  24. c1(x1[i],u2[i])
  25. end
  26.  
  27. end
  28.  
  29. using DifferentialEquations
  30. prob = ODEProblem(f,u0,tspan)
  31.  
  32. sol = solve(prob,CVODE_BDF(linear_solver=:GMRES))
Add Comment
Please, Sign In to add comment