Solve influence line using ODE#

figuur 1

import sympy as sym
sym.init_printing()
x = sym.symbols('x')
EI = 5000

Find displacement line#

q_BC = 0
q_AB = sym.SingularityFunction(x,3,-1)
display(q_AB)
../../_images/3bcb821678ddef5bb16e083cc7573047708fbbd1f5b49eed9ceb56dffcf6492e.png
C_1, C_2, C_3, C_4, C_5, C_6, C_7, C_8 = sym.symbols('C_1, C_2, C_3, C_4, C_5, C_6, C_7, C_8')
V_AB = - sym.integrate(q_AB,x) + C_1
M_AB = sym.integrate(V_AB,x) + C_2
kappa_AB = M_AB / EI
phi_AB = sym.integrate(kappa_AB,x)+C_3
w_AB = - sym.integrate(phi_AB,x)+C_4
display(w_AB)
../../_images/f84655befadbcf3b1d15ef5077e1b1e03208adbdedf19e095cd64c827fc154f8.png
V_BC = - sym.integrate(q_BC,x) + C_5
M_BC = sym.integrate(V_BC,x) + C_6
kappa_BC = M_BC / EI
phi_BC = sym.integrate(kappa_BC,x)+C_7
w_BC = - sym.integrate(phi_BC,x)+C_8
display(w_BC)
../../_images/c14a7f2a504f8a2a2e497c62ccb54010a299853f4ef1e5052230c72c1132dfac.png
eq1 = sym.Eq(w_AB.subs(x,0),0)
eq2 = sym.Eq(M_AB.subs(x,0),0)
eq3 = sym.Eq(w_AB.subs(x,5),0)
eq4 = sym.Eq(w_BC.subs(x,5),0)
eq5 = sym.Eq(M_AB.subs(x,5),M_BC.subs(x,5))
eq6 = sym.Eq(phi_AB.subs(x,5),phi_BC.subs(x,5))
eq7 = sym.Eq(w_BC.subs(x,10),0)
eq8 = sym.Eq(M_BC.subs(x,10),0)
sol = sym.solve([eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8],[C_1, C_2, C_3, C_4, C_5, C_6, C_7, C_8])
display(sol)
../../_images/30422b649b69ad20c1a45deaf52cb5e685c034090b03e739a3892808711914e8.png
w_sol_AB = w_AB.subs(sol)
display(w_sol_AB)
../../_images/8f8876038e0e0ae09119cfe6fd9cf9bbdeda9dd09ea7751e05d6254b19155085.png
w_sol_BC = w_BC.subs(sol)
display(w_sol_BC)
../../_images/57e9b03093923b028a0ea37e3013a35711864eeb03e0d0070730a18692388f7d.png
sym.plot((-w_sol_AB,(x,0,5)),(-w_sol_BC,(x,5,10)));
../../_images/5dfe0adc68dca9b295fcc366e3df8a998e04dbf1899eeb5c65eda1ad0c8ef3da.png

Find influence lines \(A_v\)#

q_BC = 0
q_AB = 0
display(q_AB)
../../_images/702ba12f4bf2cef7092842f0bdd4dc2b8bfdc07d13bc79cc481075cd1cc7c88c.png
V_AB = - sym.integrate(q_AB,x) + C_1
M_AB = sym.integrate(V_AB,x) + C_2
kappa_AB = M_AB / EI
phi_AB = sym.integrate(kappa_AB,x)+C_3
w_AB = - sym.integrate(phi_AB,x)+C_4
eq1 = sym.Eq(w_AB.subs(x,0),1)
sol = sym.solve([eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8],[C_1, C_2, C_3, C_4, C_5, C_6, C_7, C_8])
w_sol_AB = w_AB.subs(sol)
w_sol_BC = w_BC.subs(sol)
sym.plot((-w_sol_AB,(x,0,5)),(-w_sol_BC,(x,5,10)));
../../_images/61cd704ee343f9f55bb3e8b4e1b59a7f31f6eea030581a26c0b83f6e7f646cde.png

Find influence line \(V\) for \(x= 5^{-}\)#

w_AB = - sym.integrate(phi_AB,x)+C_4 + sym.SingularityFunction(x,4.9999,0)
display(w_AB)
../../_images/8483107f090c581e7d5f4e5f79bb928627a365cfcaefd9730b1528336b8424da.png
eq1 = sym.Eq(w_AB.subs(x,0),0)
eq2 = sym.Eq(M_AB.subs(x,0),0)
eq3 = sym.Eq(w_AB.subs(x,5),0)
eq4 = sym.Eq(w_BC.subs(x,5),0)
eq5 = sym.Eq(M_AB.subs(x,5),M_BC.subs(x,5))
eq6 = sym.Eq(phi_AB.subs(x,5),phi_BC.subs(x,5))
eq7 = sym.Eq(w_BC.subs(x,10),0)
eq8 = sym.Eq(M_BC.subs(x,10),0)
sol = sym.solve([eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8],[C_1, C_2, C_3, C_4, C_5, C_6, C_7, C_8])
w_sol_AB = w_AB.subs(sol)
w_sol_BC = w_BC.subs(sol)
sym.plot((-w_sol_AB,(x,0,5)),(-w_sol_BC,(x,5,10)));
../../_images/f1944b807394e9c8419ad9c68775702acd04349a81949abe5b3325dbab446071.png

Find influence line \(M\) for \(x = 3\)#

q_AB = 0
q_BC = 0
V_AB = -sym.integrate(q_AB,x)+C_1
M_AB = sym.integrate(V_AB,x)+C_2
kappa_AB = M_AB/ EI
phi_AB = sym.integrate(kappa_AB,x)+C_3 + sym.SingularityFunction(x,3,0)
display(phi_AB)
w_AB = sym.integrate(phi_AB,x)+C_4
../../_images/472706cb44d76f24b5a798137e9085941442da28e3536d2ef9150ac236f2fab9.png
V_BC = -sym.integrate(q_BC,x)+C_5
M_BC = sym.integrate(V_BC,x)+C_6
kappa_BC = M_BC/EI
phi_BC = sym.integrate(kappa_BC,x) + C_7
w_BC = sym.integrate(phi_BC,x) + C_8
eq1 = sym.Eq(w_AB.subs(x,0),0)
eq2 = sym.Eq(M_AB.subs(x,0),0)
eq3 = sym.Eq(w_AB.subs(x,5),0)
eq4 = sym.Eq(w_BC.subs(x,5),0)
eq5 = sym.Eq(M_AB.subs(x,5),M_BC.subs(x,5))
eq6 = sym.Eq(phi_AB.subs(x,5),phi_BC.subs(x,5))
eq7 = sym.Eq(w_BC.subs(x,10),0)
eq8 = sym.Eq(M_BC.subs(x,10),0)
sol = sym.solve([eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8],[C_1,C_2,C_3,C_4,C_5,C_6,C_7,C_8])
w_AB_sol = w_AB.subs(sol)
w_BC_sol = w_BC.subs(sol)
sym.plot((w_AB_sol,(x,0,5)),((w_BC_sol),(x,5,10)));
../../_images/e9ced1c015ab5cffb2b9b6faf026686d71e7a82523d9259188c7fa3db433511a.png