Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.49 KB | None | 0 0
  1. from sympy import *
  2. import math
  3. import numpy
  4.  
  5. a = 5.4
  6. b = 5.4
  7. h = 0.09
  8. R = 225 * h
  9. A = 1
  10. B = 1
  11. P_x = 0
  12. P_y = 0
  13. E = 2.1 * 10**5
  14. E_1 = E
  15. E_2 = E
  16. my = 0.3
  17. my_12 = my
  18. my_21 = my
  19. myv = (1 - my) / 2
  20. G = E / 2 / (1 + my)
  21. G_12 = G
  22. G_13 = G
  23. G_23 = G
  24. k_x = 1 / R
  25. k_y = 1 / R
  26. k = 5 / 6
  27.  
  28. N = 1
  29.  
  30. for q in numpy.arange(0, 0.1, 0.1):
  31.  
  32.     x, y = symbols('x y')
  33.  
  34.     Uij = MatrixSymbol('Uij', sqrt(N), sqrt(N))
  35.     Vij = MatrixSymbol('Vij', sqrt(N), sqrt(N))
  36.     Wij = MatrixSymbol('Wij', sqrt(N), sqrt(N))
  37.     Psy_xij = MatrixSymbol('Psy_xij', sqrt(N), sqrt(N))
  38.     Psy_yij = MatrixSymbol('Psy_yij', sqrt(N), sqrt(N))
  39.  
  40.     U = 0
  41.     V = 0
  42.     W = 0
  43.     Psy_x = 0
  44.     Psy_y = 0
  45.  
  46.     for i in range(1, sqrt(N) + 1):
  47.         for j in range(1, sqrt(N) + 1):
  48.             X1 = sin((2 * i) * math.pi * x / a)
  49.             X2 = sin((2 * i - 1) * math.pi * x / a)
  50.             X3 = sin((2 * i - 1) * math.pi * x / a)
  51.             X4 = cos((2 * i - 1) * math.pi * x / a)
  52.             X5 = sin((2 * i - 1) * math.pi * x / a)
  53.  
  54.             Y1 = sin((2 * j - 1) * math.pi * y / b)
  55.             Y2 = sin((2 * j) * math.pi * y / b)
  56.             Y3 = sin((2 * j - 1) * math.pi * y / b)
  57.             Y4 = sin((2 * j - 1) * math.pi * y / b)
  58.             Y5 = cos((2 * j - 1) * math.pi * y / b)
  59.  
  60.             U = Uij[i-1, j-1] * X1 * Y1 + U
  61.             V = Vij[i-1, j-1] * X2 * Y2 + V
  62.             W = Wij[i-1, j-1] * X3 * Y3 + W
  63.             Psy_x = Psy_xij[i-1, j-1] * X4 * Y4 + Psy_x
  64.             Psy_y = Psy_yij[i-1, j-1] * X5 * Y5 + Psy_y
  65.  
  66.     All = BlockMatrix([[Uij], [Vij], [Wij], [Psy_xij], [Psy_yij]])
  67.     #print(All.as_explicit())
  68.     dUdx = diff(U, x)
  69.     dUdy = diff(U, y)
  70.     dVdx = diff(V, x)
  71.     dVdy = diff(V, y)
  72.     dWdx = diff(W, x)
  73.     dWdy = diff(W, y)
  74.     dPsy_xdx = diff(Psy_x, x)
  75.     dPsy_xdy = diff(Psy_x, y)
  76.     dPsy_ydx = diff(Psy_y, x)
  77.     dPsy_ydy = diff(Psy_y, y)
  78.  
  79.     Teta_1 = -(1 / A * dWdx + k_x * U)
  80.     Teta_2 = -(1 / B * dWdy + k_y * V)
  81.  
  82.     E_x = 1 / A * dUdx + 1 / A / B * V * diff(A, y) - k_x * W + 1 / 2 * Teta_1**2
  83.     E_y = 1 / B * dVdy + 1 / A / B * V * diff(B, x) - k_y * W + 1 / 2 * Teta_2**2
  84.     Gamma_xy = 1 / A * dVdx + 1 / B * dUdy - 1 / A / B * (U * diff(A, y) + V * diff(B, x)) + Teta_1 * Teta_2
  85.  
  86.     Hi_1 = 1 / A * dPsy_xdx + 1 / A / B * Psy_y * diff(A, y)
  87.     Hi_2 = 1 / B * dPsy_ydy + 1 / A / B * Psy_x * diff(B, x)
  88.     Hi_12 = 1 / 2 * (1 / A * dPsy_ydx + 1 / B * dPsy_xdy - 1 / A / B * (diff(A, y) * Psy_x + diff(B, x) * Psy_y))
  89.  
  90.     N_x = E_1 / (1 - my_12 * my_21) * (h * (E_x + my_21 * E_y))
  91.     N_y = E_2 / (1 - my_12 * my_21) * (h * (E_y + my_12 * E_x))
  92.     N_xy = G_12 * h * Gamma_xy
  93.     N_yx = G_12 * h * Gamma_xy
  94.  
  95.     M_x = E_1 / (1 - my_12 * my_21) * h**3 / 12 * (Hi_1 + my_12 * Hi_2)
  96.     M_y = E_2 / (1 - my_12 * my_21) * h**3 / 12 * (Hi_2 + my_21 * Hi_1)
  97.     M_xy = 2 * G_12 * h**3 / 12 * Hi_12
  98.     M_yx = 2 * G_12 * h**3 / 12 * Hi_12
  99.  
  100.     Q_x = G_13 * k * h * (Psy_x - Teta_1)
  101.     Q_y = G_23 * k * h * (Psy_y - Teta_2)
  102.  
  103.     Esf = 1 / 2 * (N_x * E_x + N_y * E_y + 1 / 2 * (N_xy + N_yx) * Gamma_xy + M_x * Hi_1 + M_y * Hi_2 + (M_xy + M_yx) * Hi_12 + Q_x * (Psy_x - Teta_1) + Q_y * (Psy_y - Teta_2) - 2 * (q * W + P_x * U + P_y * V)) * A * B
  104.    
  105.    
  106.  
  107.     #Esf = 1 / 2 * (integrate(integrate((N_x * E_x + N_y * E_y + 1 / 2 * (N_xy + N_yx) * Gamma_xy + M_x * Hi_1 + M_y * Hi_2 + (M_xy + M_yx) * Hi_12 + Q_x * (Psy_x - Teta_1) + Q_y * (Psy_y - Teta_2) - 2 * (q * W + P_x * U + P_y * V)) * A * B, (x, 0, a)), (y, 0, b)))
  108.     #print(All.as_explicit())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement