Voorbeeld 3

Voorbeeld 3#

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

EI = sym.symbols('EI')

q =  A_v * sym.SingularityFunction(x,0,-1) + F * sym.SingularityFunction(x, 7.5, -1) + B_v * sym.SingularityFunction(x,10,-1)
display(sym.Eq(ql,q))
../../../_images/6bc63ccdeb9820daa437220b090c6640a7039852ebec25d54101a7a3f3e5d0f3.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) + 1/(2*EI)*sym.SingularityFunction(x,5,1)*(A_v) + 1/(2*EI)*sym.SingularityFunction(x,7.5,1)*(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/87ddbf16659d65579245d721bcf9fc5ba439b4142abe58a71249712887ca33de.png ../../../_images/9735d99f34ac6cc662b69b8c6d3833a0b991b04ac2bbf39ea7a3f0c8689efc4f.png ../../../_images/1947c3b87f6039c9f24bb6d9aab406e503a3e060df6d7f749fad3df0539dcbee.png ../../../_images/75b0c30667c2777407b3ec89f095e17475efeeb7428ede5ab8b3d0571a8732e5.png ../../../_images/d39349681b0e487284be79f007266f503674b2ce3d58efb6783f57d0ae2bafe6.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/be3b069f4c730c07f71b4a38e3369df6703a20cef0210a1503a15d66a0f9b529.png ../../../_images/9cc2e3c0c5db8011bcd40f7b76d402c61b2ff3341e693915ce92b10f0dda5d1e.png ../../../_images/133f16450e44f21e9afecbb7bf14e2aeaca289e1f08c29c26522dd0cf29f36e9.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(sym.Eq(wl,w.subs(sol).factor(EI)))
../../../_images/9d9c0dead537335fd01bb9ebedd2f000f765dc830b390bf1287e204ec9808db8.png ../../../_images/836fd3a7f7f6e1ae9cd221b7264cef79dfcfc8ca0586f46d24b01ee1859945ba.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/839f5dd987844d1af15071ee7d4d57678cc9d16a943479169d5cf0920b66e1bc.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/3c3613c68684b2472cb3da7a3ea1a43dab1fdeebe965b1db33bb5f6f8fb496c4.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/eac635b78e05a727ad751602880d145e8ce49c14787d4ffe4dd0ad18bc806b01.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/f26312f2b3ef29017b266d1a029d4102d4daf3e6230a9aa37fec8915efb55ad1.png