Guest User

Untitled

a guest
Nov 23rd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. singlestep[rv_, dt_, dUx_, dUy_, dUz_, nf_] :=
  2.  
  3. Module[{fx, fy, fz, xx, yy, zz, xnew, ynew, znew, vx, vy, vz, vxnew,
  4. vynew, vznew},
  5. xx = rv[[;; , 1]]; yy = rv[[;; , 2]]; zz = rv[[;; , 3]];
  6. vx = rv[[;; , 4]]; vy = rv[[;; , 5]]; vz = rv[[;; , 6]];
  7. Do[
  8. fx = -dUx /@ Transpose@{xx, yy, zz};
  9. fy = -dUy /@ Transpose@{xx, yy, zz};
  10. fz = -dUz /@ Transpose@{xx, yy, zz};
  11. xx += vx* dt + 1/2*fx/M*dt^2;
  12. yy += vy *dt + 1/2*fy/M*dt^2;
  13. zz += vz* dt + 1/2*fz/M*dt^2;
  14. vx += fx/M*dt;
  15. vy += fy/M*dt;
  16. vz += fz/M*dt,
  17. {nn, 1, nf}];
  18. xnew = xx; ynew = yy; znew = zz;
  19. vxnew = vx; vynew = vy; vznew = vz;
  20. {xnew, ynew, znew, vxnew, vynew, vznew}]
Add Comment
Please, Sign In to add comment