Voorbeeld 5

Voorbeeld 5#

import sympy as sym
import matplotlib.pyplot as plt
import numpy as np
sym.init_printing()
oo = sym.Dummy('oo', prime=True)
very_small = 1/oo
x = sym.symbols('x')

C_1, C_2, C_3, C_4 = sym.symbols('C_1, C_2, C_3, C_4')
A_v, B_v = sym.symbols('A_v, B_v')
ql, Vl, Ml, kappal, phil, wl = sym.symbols('q_z, V, M, kappa, phi, w')
L = 10
F = 35

EI, EI2, EI3 = sym.symbols('EI, EI2, EI3')

q = A_v * sym.SingularityFunction(x,0,-1) + F * sym.SingularityFunction(x,L/3,-1) + B_v * sym.SingularityFunction(x,L,-1)
display(sym.Eq(ql,q))
../../../_images/16362abe73b43a3fe62fb66c47e75893b2468d9bde00846760bde8c6edc6797f.png
V = -sym.integrate(q, x) + C_1
display(sym.Eq(Vl,V))
M = sym.integrate(V, x) + C_2
display(sym.Eq(Ml,M))
kappa = M/EI + ((1-EI/EI2)/EI)*sym.SingularityFunction(x,L/3,0)*(A_v*L/3)  + ((1-EI/EI2)/EI)*sym.SingularityFunction(x,L/3,1)*(A_v+F) + ((1-EI2/EI3)/EI2)*sym.SingularityFunction(x,2*L/3,0)*(A_v*2*L/3+F*L/3)  + ((1-EI2/EI3)/EI2)*sym.SingularityFunction(x,2*L/3,1)*(A_v+F)
display(sym.Eq(kappal,kappa))
phi = sym.integrate(kappa, x) + C_3
display(sym.Eq(phil,phi))
w = -sym.integrate(phi, x) + C_4
display(sym.Eq(wl,w))
../../../_images/9cc4946ebfafb86c791ce33ad5864f59ba568bed9e927839f128b1375e29e9f6.png ../../../_images/d6cac5e622344b7bf1dcb29ea630a12b1191fe19cbe6935928f7911348c90b70.png ../../../_images/f4bb611f274ce2a4a6ad0afefecb93789c6ae1ba799b07b14609bc4984ff693f.png ../../../_images/422ea876d99eefdaaeee3d6942d4ff247ca7b206b7af21c99b54ecce604334a3.png ../../../_images/be3b0dd0180134b32079f5c6242bb3edc9a1ed35c87e124183be91ac6279a861.png
eq1 = sym.Eq(M.subs(x,0),0)
eq2 = sym.Eq(w.subs(x,0),0)
eq3 = sym.Eq(M.subs(x,L),0)
eq4 = sym.Eq(w.subs(x,L),0)
eq5 = sym.Eq(V.subs(x,0-very_small),0).subs(oo,sym.oo)
eq6 = sym.Eq(V.subs(x,L+very_small),0).subs(oo,sym.oo)
display(eq1, eq2, eq3, eq4, eq5, eq6)
../../../_images/9cc2e3c0c5db8011bcd40f7b76d402c61b2ff3341e693915ce92b10f0dda5d1e.png ../../../_images/363a245cc9072af09b9a5fb9ecd9429a709d7d70ad13717df58d5166b5163860.png ../../../_images/5645f3c6a02bdec8010f16a2be7c8ef8799e4480b805ea3fd26fa186bcd93d8c.png ../../../_images/2b95c18a863a4ba085cccbaf1cfd458f5f7c3ce26f45d6d4ba70eb7c2322d96e.png ../../../_images/e5948659485e9911da17c2d5166e7e3db2419f18a601281d8f3bdb9de5307718.png ../../../_images/3ce8e02b984793a381b44499afe0aeb2152e7890679653b8f027b9df9143cd24.png
sol = sym.solve((eq1,eq2,eq3,eq4,eq5,eq6),(C_1,C_2,C_3,C_4,A_v,B_v))
display(sol)
display(w.subs(sol).factor(EI))
../../../_images/ac0ae921f5bd396dd5a45bee326916d93eb428a4d339106436e99ae3b2cee482.png ../../../_images/2430cba28c3d01b33507edd6edb69384d5a7aa1fc30f75540c3fb0b7fc1edaf5.png
w_numpy = sym.lambdify(x, w.subs(sol).subs(EI,10000).subs(EI2,20000).subs(EI3,5000).rewrite(sym.Piecewise))
x_numpy = np.linspace(0,L,100)
plt.figure()
plt.plot(x_numpy,w_numpy(x_numpy))
plt.xlabel('$x$')
plt.ylabel('$w$',rotation=0);
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['left'].set_position('zero')
ax.invert_yaxis()
print(w_numpy(5))
print(w_numpy(7.24562))
0.04906121399176976
0.04047199183043862
../../../_images/079d0d801000f21e8f4d6dd764748c2a72f076575f979afcaf7300fbefff45d3.png
V_numpy = sym.lambdify(x, V.subs(sol).subs(EI,10000).subs(EI2,20000).subs(EI3,5000).rewrite(sym.Piecewise))
x_numpy = np.linspace(0,L,100)
plt.figure()
plt.plot(x_numpy,V_numpy(x_numpy))
plt.xlabel('$x$')
plt.ylabel('$V$',rotation=0);
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['left'].set_position('zero')
ax.invert_yaxis()
../../../_images/d4e923fd8adf324e03e7a6be42162c44190c3ac71d77a63fa086f4bc6cfc94a6.png
M_numpy = sym.lambdify(x, M.subs(sol).subs(EI,10000).subs(EI2,20000).subs(EI3,5000).rewrite(sym.Piecewise))
x_numpy = np.linspace(0,L,100)
plt.figure()
plt.plot(x_numpy,M_numpy(x_numpy))
plt.xlabel('$x$')
plt.ylabel('$M$',rotation=0);
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['left'].set_position('zero')
ax.invert_yaxis()
../../../_images/c2c92a5ff2780a570815fed30fc41d9653fbfc5b2fbbcd24864ebe1ee459fc5e.png
kappa_numpy = sym.lambdify(x, kappa.subs(sol).subs(EI,10000).subs(EI2,20000).subs(EI3,5000).rewrite(sym.Piecewise))
x_numpy = np.linspace(0,L,100)
plt.figure()
plt.plot(x_numpy,kappa_numpy(x_numpy))
plt.xlabel('$x$')
plt.ylabel('$\kappa$',rotation=0);
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['left'].set_position('zero')
ax.invert_yaxis()
../../../_images/e8615d68ead1c2c56bcb1d14f3efd4ef1c3f05b33a51bd8cbb7d335b2538f1e7.png