VGM-q-last

VGM-q-last#

import sympy as sp
w1, w2, w3 = sp.symbols('w1 w2 w3', cls=sp.Function)
q1, q2, q3, x = sp.symbols('q1 q2 q3 x')
dq = sp.symbols('dq')
a, b, c, EI = sp.symbols('a b c EI')
C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 = sp.symbols('C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12')
b = a
c = a
q2 = q1 + dq * (x-a)/b
L = a + b + c
DV1 = sp.Eq(EI*sp.diff(w1(x),x,4),q1)
DV2 = sp.Eq(EI*sp.diff(w2(x),x,4),q2)
DV3 = sp.Eq(EI*sp.diff(w3(x),x,4),q3)
w1, w2, w3 = sp.dsolve([DV1, DV2, DV3],[w1(x),w2(x),w3(x)])
w1 = w1.rhs
w2 = w2.rhs
w3 = w3.rhs
display(w1)
display(w2)
display(w3)
\[\displaystyle C_{1} + C_{2} x + \frac{C_{3} x^{2}}{2} + \frac{C_{4} x^{3}}{6} + \frac{q_{1} x^{4}}{24 EI}\]
\[\displaystyle C_{5} + C_{6} x + \frac{C_{7} x^{2}}{2} + \frac{C_{8} x^{3}}{6} - \frac{x^{4} \left(dq - q_{1}\right)}{24 EI} + \frac{dq x^{5}}{120 EI a}\]
\[\displaystyle C_{10} x + \frac{C_{11} x^{2}}{2} + \frac{C_{12} x^{3}}{6} + C_{9} + \frac{q_{3} x^{4}}{24 EI}\]
phi1 = -sp.diff(w1, x)
kappa1 = sp.diff(phi1, x)
M1 = EI * kappa1
V1 = sp.diff(M1, x)
phi2 = -sp.diff(w2, x)
kappa2 = sp.diff(phi2, x)
M2 = EI * kappa2
V2 = sp.diff(M2, x)
phi3 = -sp.diff(w3, x)
kappa3 = sp.diff(phi3, x)
M3 = EI * kappa3
V3 = sp.diff(M3, x)
Eq1 =  sp.Eq(w1.subs(x, 0), 0) 
Eq2 =  sp.Eq(M1.subs(x, 0), 0)
Eq3 =  sp.Eq(  w1.subs(x, a),   w2.subs(x, a))
Eq4 =  sp.Eq(  V1.subs(x, a),   V2.subs(x, a))
Eq5 =  sp.Eq(phi1.subs(x, a), phi2.subs(x, a)) 
Eq6 =  sp.Eq(  M1.subs(x, a),   M2.subs(x, a)) 
Eq7 =  sp.Eq(  w2.subs(x, a + b),   w3.subs(x, a + b))
Eq8 =  sp.Eq(  M2.subs(x, a + b),   M3.subs(x, a + b))
Eq9 =  sp.Eq(phi2.subs(x, a + b), phi3.subs(x, a + b))
Eq10 = sp.Eq(  V2.subs(x, a + b),   V3.subs(x, a + b))
Eq11 = sp.Eq(  w3.subs(x, a + b + c), 0)
Eq12 = sp.Eq(  M3.subs(x, a + b + c), 0)
sol = sp.solve((Eq1,Eq2,Eq3,Eq4,Eq5,Eq6,Eq7,Eq8,Eq9,Eq10,Eq11,Eq12),(C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12))
display(sol)
{C1: 0,
 C2: (94*a**3*dq + 320*a**3*q1 + 85*a**3*q3)/(360*EI),
 C3: 0,
 C4: (-4*a*dq - 24*a*q1 - 3*a*q3)/(18*EI),
 C5: -a**4*dq/(120*EI),
 C6: (109*a**3*dq + 320*a**3*q1 + 85*a**3*q3)/(360*EI),
 C7: -a**2*dq/(6*EI),
 C8: (5*a*dq - 24*a*q1 - 3*a*q3)/(18*EI),
 C9: (-49*a**4*dq - 80*a**4*q1 + 80*a**4*q3)/(120*EI),
 C10: (349*a**3*dq + 800*a**3*q1 - 395*a**3*q3)/(360*EI),
 C11: (-5*a**2*dq - 12*a**2*q1 + 12*a**2*q3)/(6*EI),
 C12: (5*a*dq + 12*a*q1 - 39*a*q3)/(18*EI)}
w1_sol = w1.subs(sol)
phi1_sol = phi1.subs(sol)
M1_sol = M1.subs(sol)
V1_sol = V1.subs(sol)
w2_sol = w2.subs(sol)
phi2_sol = phi2.subs(sol)
M2_sol = M2.subs(sol)
V2_sol = V2.subs(sol)
w3_sol = w3.subs(sol)
phi3_sol = phi3.subs(sol)
M3_sol = M3.subs(sol)
V3_sol = V3.subs(sol)
display(phi1_sol.subs(x,0))
display(phi3_sol.subs(x,L))
\[\displaystyle - \frac{94 a^{3} dq + 320 a^{3} q_{1} + 85 a^{3} q_{3}}{360 EI}\]
\[\displaystyle - \frac{9 a^{3} q_{3}}{2 EI} - \frac{a^{2} \cdot \left(5 a dq + 12 a q_{1} - 39 a q_{3}\right)}{4 EI} - \frac{a \left(- 5 a^{2} dq - 12 a^{2} q_{1} + 12 a^{2} q_{3}\right)}{2 EI} - \frac{349 a^{3} dq + 800 a^{3} q_{1} - 395 a^{3} q_{3}}{360 EI}\]

example with some numbers: activate a line by removing the # and de-activate a line by inserting a # at the begin

numset = {dq : 2 , a : 2, q1 : 2, q3 : 4,  EI: 5000} 
w1_subs = w1_sol.subs(numset)
phi1_subs = phi1_sol.subs(numset)
M1_subs = M1_sol.subs(numset)
V1_subs = V1_sol.subs(numset)
w2_subs = w2_sol.subs(numset)
phi2_subs = phi2_sol.subs(numset)
M2_subs = M2_sol.subs(numset)
V2_subs = V2_sol.subs(numset)
w3_subs = w3_sol.subs(numset)
phi3_subs = phi3_sol.subs(numset)
M3_subs = M3_sol.subs(numset)
V3_subs = V3_sol.subs(numset)
sp.plot((-2,(x,0,2)),(-2 - 2 * (x-2)/2,(x,2,4)),(-4,(x,4,6)),title='$q$');
../_images/a4d543b127ee6277a48b57301d726a3d1c91dc94e83fb4cb4160e5dc57f623bd.png
sp.plot((-w1_subs,(x,0,2)),(-w2_subs,(x,2,4)),(-w3_subs,(x,4,6)),title='$w$')
sp.plot((-phi1_subs,(x,0,2)),(-phi2_subs,(x,2,4)),(-phi3_subs,(x,4,6)),title='$\phi$')
sp.plot((-M1_subs,(x,0,2)),(-M2_subs,(x,2,4)),(-M3_subs,(x,4,6)),title='$M$')
sp.plot((-V1_subs,(x,0,2)),(-V2_subs,(x,2,4)),(-V3_subs,(x,4,6)),title='$V$');
../_images/628e11eb38b66431ce26ca74bc74d24b692f0c4466dd06e927b47aa05f960e7f.png ../_images/981dd8fa4e34b3e3ac429055a1facf8741834161a7707726448f5e76bef9a1a7.png ../_images/d9fc52fb1c885e3e99cac7f5fffec5911e0717b50eb871d8a75de3d256c3bc91.png ../_images/41684bb532bf577a91389682cdd29f59017bfa2f2e482878e1a61d8029c6b19d.png
display(phi1_subs.subs(x,0).evalf())
display(phi3_subs.subs(x,6).evalf())
\[\displaystyle -0.00519111111111111\]
\[\displaystyle 0.00560888888888889\]