Advertisement
Tanvir1985

Untitled

Nov 14th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. t=np.arange(dt,10,dt)
  2. theta = np.array(j_i)
  3. traj = pd.DataFrame({'t': t, 'x': theta[:]})
  4. print((time))
  5. print((theta))
  6. def compute_msd(trajectory, t_step, coords=['x']):
  7.  
  8. tau = trajectory['t'].copy()
  9. shifts = np.floor(tau / t_step).astype(np.int)
  10. msds = np.zeros(shifts.size)
  11. msds_std = np.zeros(shifts.size)
  12.  
  13. for i, shift in enumerate(shifts):
  14. diffs = trajectory[coords] - trajectory[coords].shift(-shift)
  15. sqdist = np.square(diffs).sum(axis=1)
  16. msds[i] = sqdist.mean()
  17. msds_std[i] = sqdist.std()
  18.  
  19. msds = pd.DataFrame({'msds': msds, 'tau': tau, 'msds_std': msds_std})
  20. return msds
  21.  
  22. # Compute MSD
  23. msd = compute_msd(traj, t_step=dt, coords=['x'])
  24.  
  25. print(msd.head(10))
  26.  
  27. # Plot MSD
  28. ax = msd.plot(x="tau", y="msds", logx=True, logy=True, legend=False)
  29. ax.fill_between(msd['tau'], msd['msds'] - msd['msds_std'], msd['msds'] + msd['msds_std'], alpha=0.2)
  30.  
  31.  
  32. # np.savetxt("MSD%d"%k, MSD)
  33. # np.savetxt("Tau%d"%k,tau_i)
  34.  
  35.  
  36.  
  37. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement