Subversion Repositories pentevo

Rev

Rev 1247 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. from sympy import *
  2. from math import *
  3.  
  4. A,B,C = symbols('A B C')
  5.  
  6. beta,gamma,kappa = symbols('beta gamma kappa')
  7.  
  8. # this set seems to be correct
  9. kappa=sympify('2**(1/6)*sqrt(3)*A/sqrt(3*2**(2/3)*A*C/(9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(4*A**3*C**3 - A**2*B**2*C**2 - 18*A*B*C**3 + 4*B**3*C**2 + 27*C**4))**(1/3) - 2**(2/3)*B**2/(9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(4*A**3*C**3 - A**2*B**2*C**2 - 18*A*B*C**3 + 4*B**3*C**2 + 27*C**4))**(1/3) + 2**(1/3)*B - (9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(4*A**3*C**3 - A**2*B**2*C**2 - 18*A*B*C**3 + 4*B**3*C**2 + 27*C**4))**(1/3)) - 3*sqrt(6)*C/(3*2**(2/3)*A*C/(9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(4*A**3*C**3 - A**2*B**2*C**2 - 18*A*B*C**3 + 4*B**3*C**2 + 27*C**4))**(1/3) - 2**(2/3)*B**2/(9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(4*A**3*C**3 - A**2*B**2*C**2 - 18*A*B*C**3 + 4*B**3*C**2 + 27*C**4))**(1/3) + 2**(1/3)*B - (9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(4*A**3*C**3 - A**2*B**2*C**2 - 18*A*B*C**3 + 4*B**3*C**2 + 27*C**4))**(1/3))**(3/2)')
  10. beta=sympify('3*C*(18*A*B*C - 4*B**3 - 54*C**2 + 6*sqrt(3)*sqrt(C**2*(4*A**3*C - A**2*B**2 - 18*A*B*C + 4*B**3 + 27*C**2)))**(1/3)/(3*2**(2/3)*A*C - 2**(2/3)*B**2 + (2**(1/3)*B - (9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(C**2*(4*A**3*C - A**2*B**2 - 18*A*B*C + 4*B**3 + 27*C**2)))**(1/3))*(9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(C**2*(4*A**3*C - A**2*B**2 - 18*A*B*C + 4*B**3 + 27*C**2)))**(1/3))')
  11. gamma=sympify('2**(5/6)*sqrt(3)*sqrt((3*2**(2/3)*A*C - 2**(2/3)*B**2 + (2**(1/3)*B - (9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(C**2*(4*A**3*C - A**2*B**2 - 18*A*B*C + 4*B**3 + 27*C**2)))**(1/3))*(9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(C**2*(4*A**3*C - A**2*B**2 - 18*A*B*C + 4*B**3 + 27*C**2)))**(1/3))/(9*A*B*C - 2*B**3 - 27*C**2 + 3*sqrt(3)*sqrt(C**2*(4*A**3*C - A**2*B**2 - 18*A*B*C + 4*B**3 + 27*C**2)))**(1/3))/6')
  12.  
  13. #print('\n=== beta ===')
  14. #pprint(beta)
  15. #print('\n=== gamma ===')
  16. #pprint(gamma)
  17. #print('\n=== kappa ===')
  18. #pprint(kappa)
  19.  
  20.  
  21. r1,r2,r3,r4,c1,c2,c3 = symbols('r1 r2 r3 r4 c1 c2 c3')
  22.  
  23. r1 = 1.2e3
  24. r2 = 47e3
  25. r3 = 68e3
  26. r4 = 180e3
  27. c1 = 0.0047e-6
  28. c2 = 220e-12
  29. c3 = 10e-12
  30.  
  31.  
  32. AA,BB,CC = symbols('AA BB CC')
  33. AA = (c1*r1*r2 + c3*r1*r3 + c3*r1*r4 + c3*r2*r3 + c3*r2*r4 + c3*r3*r4)/(r1 + r2)
  34. BB = c3*(c1*r1*r2*r3 + c1*r1*r2*r4 + c1*r1*r3*r4 + c2*r1*r3*r4 + c2*r2*r3*r4)/(r1 + r2)
  35. CC = c1*c2*c3*r1*r2*r3*r4/(r1 + r2)
  36.  
  37. w1= (1/beta ).evalf(subs={A:AA,B:BB,C:CC})
  38. w2= (1/gamma).evalf(subs={A:AA,B:BB,C:CC})
  39. q = (1/kappa).evalf(subs={A:AA,B:BB,C:CC})
  40.  
  41. print('from values:')
  42. print('f1={}\nf2={}\nq={}'.format(w1/(2*pi),w2/(2*pi),q))
  43.  
  44. #print('w1={}'.format( (1/(beta)).evalf(subs={A:AA,B:BB,C:CC})))
  45. #print('w2={}'.format( (1/(gamma)).evalf(subs={A:AA,B:BB,C:CC})))
  46. #print('q={}'.format( (1/kappa).evalf(subs={A:AA,B:BB,C:CC})))
  47.  
  48. print('A={}\nB={}\nC={}'.format(AA,BB,CC))
  49.  
  50.  
  51. print('\nfrom freq/q:')
  52. f1=Float(30000.0)
  53. f2=Float(30000.0)
  54. qq=Float(1.0)
  55.  
  56. ww1=N(f1*2*pi,50)
  57. ww2=N(f2*2*pi,50)
  58.  
  59. AAA = (1/ww1 + 1/(ww2*qq))
  60. BBB = (1/(q*ww1*ww2) + 1/(ww2*ww2))
  61. CCC = 1/(ww1*ww2*ww2)
  62.  
  63. print('A={}\nB={}\nC={}'.format(AAA,BBB,CCC))
  64.  
  65. w1= (1/beta ).evalf(subs={A:AAA,B:BBB,C:CCC},n=50)
  66. w2= (1/gamma).evalf(subs={A:AAA,B:BBB,C:CCC},n=50)
  67. q = (1/kappa).evalf(subs={A:AAA,B:BBB,C:CCC},n=50)
  68.  
  69. print('\nagain:')
  70. print('f1={}\nf2={}\nq={}'.format(w1/(2*pi),w2/(2*pi),q))
  71.  
  72.