Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. import math
  2.  
  3. #Input Data
  4. E = IN[0]*10**6 #Модуль упругости
  5. R = IN[1]*10**6 #Расчетное сопротивление
  6. Lbd_max = IN[2] #Предельная гибкость
  7. N = IN[3]*1000 #Продольная сила
  8. L = IN[4] #Длина распорки
  9. D = IN[5]*0.001 #Внешний диаметр трубы
  10. t = IN[6]*0.001 #Толщина стенки трубы
  11. Mu = IN[7] #Коэффициент расчетной длины
  12. ro = 78500  #Объемный вес стали Ньютон на кубический метр
  13. #Work
  14. d = D - 2*t #Внутренний диаметр
  15. F = math.pi*(D**2-d**2)/4 #Площадь сечения
  16. J = math.pi*(D**4-d**4)/64 #Момент инерции сечения
  17. W = math.pi*(D**3-d**3)/32 #Момент сопротивления сечения
  18. i = (J/F)**0.5 #Радиус инерции
  19. Lbd0 = Mu*L/i #Гибкость
  20. q = F*ro #Распределенная нагрузка от собственного веса
  21. gam = 1.1 #коэффициент надежности по нагрузке
  22.  
  23. k = ((N*gam)/(E*J))**0.5
  24.  
  25. def v(x):
  26.     return (-(1-math.cos(k*L))*math.sin(k*x)/math.sin(k*L)+1-math.cos(k*x)+k*k*(L*x-x*x)/2)*q/(E*J*k**4)
  27.    
  28. def M(x):
  29.     return ((1-math.cos(k*L))*math.sin(k*x)/math.sin(k*L)-1+math.cos(k*x))*q/k**2
  30.    
  31. sig_max = (N*gam/F+M(L/2)/W)/10**6
  32.  
  33. #Assign your output to the OUT variable
  34. OUT = [sig_max,v(L/2),Lbd0]