Voorbeeld 4

Voorbeeld 4#

import numpy as np
import matplotlib.pyplot as plt
import sympy as sym
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, C_v = sym.symbols('A_v, B_v, C_v')
ql, Vl, Ml, kappal, phil, wl = sym.symbols('q_z, V, M, kappa, phi, w')
L = 10
F = 35
Q = 10

EI = sym.symbols('EI')

q =  A_v * sym.SingularityFunction(x,0,-1) + Q * sym.SingularityFunction(x, 0, 0) - Q * sym.SingularityFunction(x, 5, 0) + B_v * sym.SingularityFunction(x,10,-1)
display(sym.Eq(ql,q))
../../../_images/5d7c3a4d676e145cc725bebb371de234d8513e65c7b106e73a47b4c968555662.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/(2*EI)*sym.SingularityFunction(x,5,0)*(A_v*5+Q*5*2.5) + 1/(2*EI)*sym.SingularityFunction(x,5,1)*(A_v+Q*5)
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/611a2719f4947726912f98f8df5b5e97c9d63b39249684e5bee22491a5ae339f.png ../../../_images/07464644ce0b0c92ab9a82dced69d78e6470478bada30480e710dc1006acd8eb.png ../../../_images/03bd013eacbd4fad9fbd31d1f96415b5411ffc937cef17aba7d3eaa57e09ca4a.png ../../../_images/c5d5854db1e438f433749eadfd5551f08378120e23b71388a2767ab0ca1062ec.png ../../../_images/e565cbb48ce46aa7d29a296f285eb740f7cf77b0481a27e5b5f77c178610eb3a.png
Eq1 = sym.Eq(w.subs(x,0),0)
Eq2 = sym.Eq(w.subs(x,L),0)
Eq3 = sym.Eq(M.subs(x,0),0)
Eq4 = sym.Eq(M.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/363a245cc9072af09b9a5fb9ecd9429a709d7d70ad13717df58d5166b5163860.png ../../../_images/cd9d8f07a4931a6f00c804ac560da3eb43272cbf9de52133faeb8a3ff7221e7e.png ../../../_images/9cc2e3c0c5db8011bcd40f7b76d402c61b2ff3341e693915ce92b10f0dda5d1e.png ../../../_images/a73bfd3e84c08c481c74000a7fb7e53e62061c3d288142d2ac96851036394d7e.png ../../../_images/e5948659485e9911da17c2d5166e7e3db2419f18a601281d8f3bdb9de5307718.png ../../../_images/140892a37d0827d04c49fb6588739189eb6f86bfe40a5f0253a84344b225ddd6.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(sym.Eq(wl,w.subs(sol).factor(EI)))
../../../_images/493e9903df601b0ca6c1f44a70923805412e17e92f64501024f5a271389362c9.png ../../../_images/36a161a017c6a3adb85896bc9597174fcf2a0311dc9c1e0060fb01fb64add902.png
w_numpy = sym.lambdify(x, w.subs(sol).subs(EI,10000).rewrite(sym.Piecewise))
x_numpy = np.linspace(0,10,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()
../../../_images/7319f3851e1608de7b8a44dbe6984325b99d1645ba7aa88cfda60bd9e94258fa.png
V_numpy = sym.lambdify(x, V.subs(sol).rewrite(sym.Piecewise))
x_numpy = np.linspace(0,10.01,10000)
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/cf7bd0ccb49900af13472dd9f8909a850e4b4c65e3da0f40f0bb27199d5ead63.png
M_numpy = sym.lambdify(x, M.subs(sol).rewrite(sym.Piecewise))
x_numpy = np.linspace(0,10.01,10000)
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/452d3d0005f4ba61d0ae1cd2b27536adc7f97a54071096eecd52bdf54a969244.png
kappa_numpy = sym.lambdify(x, kappa.subs(sol).subs(EI,10000).rewrite(sym.Piecewise))
x_numpy = np.linspace(0,10.01,10000)
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/fb1f67512fb534a50f49d6717d147414af64b93b7f9dc7792ea09b931fef1f32.png