Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- singlestep[rv_, dt_, dUx_, dUy_, dUz_, nf_] :=
- Module[{fx, fy, fz, xx, yy, zz, xnew, ynew, znew, vx, vy, vz, vxnew,
- vynew, vznew},
- xx = rv[[;; , 1]]; yy = rv[[;; , 2]]; zz = rv[[;; , 3]];
- vx = rv[[;; , 4]]; vy = rv[[;; , 5]]; vz = rv[[;; , 6]];
- Do[
- fx = -dUx /@ Transpose@{xx, yy, zz};
- fy = -dUy /@ Transpose@{xx, yy, zz};
- fz = -dUz /@ Transpose@{xx, yy, zz};
- xx += vx* dt + 1/2*fx/M*dt^2;
- yy += vy *dt + 1/2*fy/M*dt^2;
- zz += vz* dt + 1/2*fz/M*dt^2;
- vx += fx/M*dt;
- vy += fy/M*dt;
- vz += fz/M*dt,
- {nn, 1, nf}];
- xnew = xx; ynew = yy; znew = zz;
- vxnew = vx; vynew = vy; vznew = vz;
- {xnew, ynew, znew, vxnew, vynew, vznew}]
Add Comment
Please, Sign In to add comment