ruletest9.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import sympy.physics.mechanics as _me
  2. import sympy as _sm
  3. import math as m
  4. import numpy as _np
  5. frame_n = _me.ReferenceFrame('n')
  6. frame_a = _me.ReferenceFrame('a')
  7. a = 0
  8. d = _me.inertia(frame_a, 1, 1, 1)
  9. point_po1 = _me.Point('po1')
  10. point_po2 = _me.Point('po2')
  11. particle_p1 = _me.Particle('p1', _me.Point('p1_pt'), _sm.Symbol('m'))
  12. particle_p2 = _me.Particle('p2', _me.Point('p2_pt'), _sm.Symbol('m'))
  13. c1, c2, c3 = _me.dynamicsymbols('c1 c2 c3')
  14. c1_d, c2_d, c3_d = _me.dynamicsymbols('c1_ c2_ c3_', 1)
  15. body_r_cm = _me.Point('r_cm')
  16. body_r_cm.set_vel(frame_n, 0)
  17. body_r_f = _me.ReferenceFrame('r_f')
  18. body_r = _me.RigidBody('r', body_r_cm, body_r_f, _sm.symbols('m'), (_me.outer(body_r_f.x,body_r_f.x),body_r_cm))
  19. point_po2.set_pos(particle_p1.point, c1*frame_a.x)
  20. v = 2*point_po2.pos_from(particle_p1.point)+c2*frame_a.y
  21. frame_a.set_ang_vel(frame_n, c3*frame_a.z)
  22. v = 2*frame_a.ang_vel_in(frame_n)+c2*frame_a.y
  23. body_r_f.set_ang_vel(frame_n, c3*frame_a.z)
  24. v = 2*body_r_f.ang_vel_in(frame_n)+c2*frame_a.y
  25. frame_a.set_ang_acc(frame_n, (frame_a.ang_vel_in(frame_n)).dt(frame_a))
  26. v = 2*frame_a.ang_acc_in(frame_n)+c2*frame_a.y
  27. particle_p1.point.set_vel(frame_a, c1*frame_a.x+c3*frame_a.y)
  28. body_r_cm.set_acc(frame_n, c2*frame_a.y)
  29. v_a = _me.cross(body_r_cm.acc(frame_n), particle_p1.point.vel(frame_a))
  30. x_b_c = v_a
  31. x_b_d = 2*x_b_c
  32. a_b_c_d_e = x_b_d*2
  33. a_b_c = 2*c1*c2*c3
  34. a_b_c += 2*c1
  35. a_b_c = 3*c1
  36. q1, q2, u1, u2 = _me.dynamicsymbols('q1 q2 u1 u2')
  37. q1_d, q2_d, u1_d, u2_d = _me.dynamicsymbols('q1_ q2_ u1_ u2_', 1)
  38. x, y = _me.dynamicsymbols('x y')
  39. x_d, y_d = _me.dynamicsymbols('x_ y_', 1)
  40. x_dd, y_dd = _me.dynamicsymbols('x_ y_', 2)
  41. yy = _me.dynamicsymbols('yy')
  42. yy = x*x_d**2+1
  43. m = _sm.Matrix([[0]])
  44. m[0] = 2*x
  45. m = m.row_insert(m.shape[0], _sm.Matrix([[0]]))
  46. m[m.shape[0]-1] = 2*y
  47. a = 2*m[0]
  48. m = _sm.Matrix([1,2,3,4,5,6,7,8,9]).reshape(3, 3)
  49. m[0,1] = 5
  50. a = m[0, 1]*2
  51. force_ro = q1*frame_n.x
  52. torque_a = q2*frame_n.z
  53. force_ro = q1*frame_n.x + q2*frame_n.y
  54. f = force_ro*2