Advertisement
Guest User

Untitled

a guest
Apr 20th, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. def forces(y,t,para):
  2. nions=y.size/6
  3. dy=np.empty_like(y)
  4. ut=np.triu_indices(nions,1)
  5. wx,wy,b=para
  6. w=np.array([wx,wy,1.0])
  7. dy[range(3*nions)]=y[range(3*nions,6*nions)]
  8. r3=ssd.pdist(y[range(3*nions)].reshape(nions,3,order='F'),'euclidean')**3.0
  9. for k in range(3):
  10. X=np.zeros((nions,nions))
  11. X[ut[0],ut[1]]=(y[ut[0]+k*nions]-y[ut[1]+k*nions])/r3
  12. X=X-X.T
  13. dy[range((3+k)*nions,(4+k)*nions)]=np.sum(X,axis=1)-w[k]*y[range(k*nions,(k+1)*nions)]-b*y[range((k+3)*nions,(k+4)*nions)]
  14. return dy
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement