1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| import numpy as np
import matplotlib.pyplot as plt
import math
print("Longueur du pieu L")
L1 = input()
L = float(L1)
print("Profondeur zc en m")
zc1 = input()
print("Diametre en m")
D1 = input()
zc = float(zc1)
D = float(D1)
E = 35000
I = np.pi*(D**4)/64
print(I, "m4 Inertie I")
print("Module de reaction K")
K1 = input()
K = float(K1)
print(K, "MPa Module de reaction K")
print("Module de reaction en surface Ks")
Ks1 = input()
Ks = float(Ks1)
print(Ks, "MPa Module de reaction en surface Ks")
print("Effort horizontal en tete Hd")
Hd1 = input()
Hd = float(Hd1)
print("Moment en tete Md")
Md1 = input()
Md = float(Md1)
l0 = (4*E*I/K)**0.25
a = (Ks/K)**0.25
lamH = 2*Hd/(l0*K*a**3)
lamM = 2*Md/(l0**2*K*a**2)
ca = np.cos(zc/l0)
cb = np.cos(a*zc/l0)
sa = np.sin(zc/l0)
sb = np.sin(a*zc/l0)
mu1 = (1+a**2)+(1-a**2)*np.cos(2*a*zc/l0)-2*a*np.sin(2*a*zc/l0)
mu2 = 2*(1+a**2)+(1+2*a-a**2)*np.cos(2*a*zc/l0)-(1-2*a-a**2)*np.sin(2*a*zc/l0)
mu3 = np.exp(2*a*zc/l0)*((1+a)*(1+a**2)/(1-a))
mu4 = np.exp(-2*a*zc/l0)*((1+a)*(1+a**2)/(1-a))+2*(2*(1+a**2)+(1-a**2)*np.cos(2*a*zc/l0)-2*a*np.sin(2*a*zc/l0))
mu5 = (1+a**2)-2*a*np.cos(2*a*zc/l0)-(1-a**2)*np.sin(2*a*zc/l0)
C1 = (mu1*lamH-(mu2+mu3)*lamM)/(mu3+mu4)
C2 = ((mu5+mu3)*lamH+(mu2-2*mu1+mu3)*lamM)/(mu3+mu4)
C3 = C1+lamM
C4 = C1+C2+C3-lamH
C5 = np.exp((1-a)*zc/l0)*(C1*(a**2*ca*cb+sa*sb)-C2*(a**2*ca*sb-sa*cb))+np.exp((1+a)*zc/l0*(C3*(-a**2*ca*cb+sa*sb)+C4*(a**2*ca*sb+sa*cb)))
C6 = np.exp((1-a)*zc/l0)*(C1*(-a**2*sa*cb+ca*sb)+C2*(a**2*sa*sb+ca*cb))+np.exp((1+a)*zc/l0)*(C3*(a**2*sa*cb+ca*sb)-C4*(a**2*sa*sb-ca*cb))
z = np.linspace(0, L, 30)
if z.any()<zc:
yz = np.exp(-a*z/l0)*(C1*np.sin(a*z/l0)+C2*np.cos(a*z/l0))+np.exp(a*z/l0)*(C3*np.sin(a*z/l0)+C4*np.cos(a*z/l0))
dydz = a/l0*(np.exp(-a*z/l0)*(-(C1+C2)*np.sin(a*z/l0)+(C1-C2)*np.cos(a*z/l0))+np.exp(a*z/l0)*((C3-C4)*np.sin(a*z/l0)+(C3+C4)*np.cos(a*z/l0)))
Mz = 2*E*I*a**2/(l0**2)*(np.exp(-a*z/l0)*(C2*np.sin(a*z/l0)-C1*np.cos(a*z/l0))+np.exp(a*z/l0)*(-C4*np.sin(a*z/l0)+C3*np.cos(a*z/l0)))
Tz = 2*E*I*a**3/(l0**3)*(np.exp(-a*z/l0)*((C1-C2)*np.sin(a*z/l0)+(C1+C2)*np.cos(a*z/l0))+np.exp(a*z/l0)*((-C3+C4)*np.sin(a*z/l0)+(C3-C4)*np.cos(a*z/l0)))
else:
yz2 = np.exp(-z/l0)*(C5*np.sin(z/l0)+C6*np.cos(z/l0))
dydz2 = 1/l0*np.exp(-z/l0*(-(C5+C6)*np.sin(z/l0)+(C5-C6)*np.cos(z/l0)))
Mz2 = 2*E*I/(l0**2)*np.exp(-z/l0)*(C6*np.sin(z/l0)-C5*np.cos(z/l0))
Tz2 = 2*E*I/(l0**3)*np.exp(-z/l0)*((C5-C6)*np.sin(z/l0)+(C5+C6)*np.cos(z/l0))
import matplotlib.pyplot as plt
plt.plot(z, yz*1000, label="Deformee")
plt.ylabel('y(z) (mm)')
plt.xlabel("Profondeur (m)")
plt.title("Deformee du pieu")
plt.grid(which="both")
plt.legend()
plt.show()
plt.plot(z, dydz, label="Rotation")
plt.ylabel('dy/dz(z) (rad)')
plt.xlabel("Profondeur (m)")
plt.title("Rotation du pieu")
plt.grid(which="both")
plt.legend()
plt.show()
plt.plot(z, Mz, label="Moment z")
plt.ylabel('M(z) (MN.m)')
plt.xlabel("Profondeur (m)")
plt.title("Moment du pieu")
plt.grid(which="both")
plt.legend()
plt.show()
plt.plot(z, Tz, label="Tranchant z")
plt.ylabel('T(z) (MN)')
plt.xlabel("Profondeur (m)")
plt.title("Tranchant du pieu")
plt.grid(which="both")
plt.legend()
plt.show() |
Partager