import matplotlib
if not hasattr(matplotlib.RcParams, "_get"):
matplotlib.RcParams._get = dict.get
Begeleide oefening 3#
Gegeven is de volgende constructie, een aanpassing van het voorbeeld in Instructie met een extra ondersteuning:
Fig. 66 Constructie, \(EI = 5000 \ \rm{kNm^2}, EA = 20000 \ \rm{kN}\)#
Opgave
Bepaal de nieuwe segmenten en teken de vrijlichaamsschema voor de nieuwe segmenten en de segmenten waar iets verandert is.
Solution
Only \( w_{\rm{AC}} \left(0\right) = 0 \) needs to be adapted
Fig. 67 Vrijlichaamsdiagram AD#
Fig. 68 Vrijlichaamsdiagram AC#
Opgave
Stel de nieuwe vergelijkingen op voor de krachtsgrootheden en verplaatsingen.
Solution
Er zijn 2 nieuwe onbekenden
Opgave
Solution
\(u_{\rm{AD}} \left( \rm{D} \right) = 0\)
Opgave
Solution
Fig. 69 Vrijlichaamsdiagram Aa#
\( + u_{\rm{AD}} \left( \rm{A} \right) = w_{\rm{AC}} \left( \rm A \right)\)
\( + N_{\rm{AD}} \left( \rm{A} \right) = - V_{\rm{AC}} \left( \rm A \right)\)
Opgave
Los de integratieconstanten op. Je kan gebruik maken van de volgende code cellen met de code van Instructie die dus nog aangepast moeten worden.
import numpy as np
A = np.array([
[ 0, 0, 0, 1, 0, 0, 0, 0],
[ 0, 1, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, -4/1875, -1/625, -4, 1],
[ 0, 0, 0, 0, 1/625, 1/1250, 1, 0],
[-4/1875, -1/625, -4, 1, 0, 0, 0, -1],
[ 1/625, 1/1250, 1, 0, 0, 0, -1, 0],
[ 4, 1, 0, 0, 0, -1, 0, 0],
[ 1, 0, 0, 0, -1, 0, 0, 0]
])
b = np.array([
0,
0,
-8/375,
8/375,
0,
0,
0,
0
])
np.linalg.solve(A,b)
import sympy as sym
sym.init_printing()
x = sym.symbols('x')
q = 10
EI = 5000
EA = 20000
F = 150
q_AC = 0
q_BC = q
C_1, C_2, C_3, C_4 = sym.symbols('C_1 C_2 C_3 C_4')
C_5, C_6, C_7, C_8 = sym.symbols('C_5 C_6 C_7 C_8')
V_AC = -sym.integrate(q_AC, x) + C_1
M_AC = sym.integrate(V_AC, x) + C_2
kappa_AC = M_AC/EI
phi_AC = sym.integrate(kappa_AC, x) + C_3
w_AC = -sym.integrate(phi_AC, x) + C_4
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_AC.subs(x,0),0)
eq2 = sym.Eq(M_AC.subs(x,0),0)
eq3 = sym.Eq(w_BC.subs(x,4),0)
eq4 = sym.Eq(phi_BC.subs(x,4),0)
eq5 = sym.Eq(w_AC.subs(x,4)-w_BC.subs(x,0),0)
eq6 = sym.Eq(phi_AC.subs(x,4)-phi_BC.subs(x,0),0)
eq7 = sym.Eq(M_AC.subs(x,4) - M_BC.subs(x,0),0)
eq8 = sym.Eq(V_AC.subs(x,4) - V_BC.subs(x,0),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))
for k, v in sol.items():
print(f"{k} = {v} ≈ {v.evalf()}")
Oplossing van Opgave
\(C_1 = \cfrac{1792}{415} \approx 4.32 \)
import numpy as np
A = np.array([
[ 0, 0, 0, 1, 0, 0, 0, 0, 0, -1],
[ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, -4/1875, -1/625, -4, 1, 0, 0],
[ 0, 0, 0, 0, 1/625, 1/1250, 1, 0, 0, 0],
[-4/1875, -1/625, -4, 1, 0, 0, 0, -1, 0, 0],
[ 1/625, 1/1250, 1, 0, 0, 0, -1, 0, 0, 0],
[ 4, 1, 0, 0, 0, -1, 0, 0, 0, 0],
[ 1, 0, 0, 0, -1, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 9/20000, 1],
[ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0]
])
b = np.array([
0,
0,
-8/375,
8/375,
0,
0,
0,
0,
0,
0
])
np.linalg.solve(A,b)
array([ 4.31807229e+00, 0.00000000e+00, -6.30232932e-03, 1.94313253e-03,
4.31807229e+00, 1.72722892e+01, 6.06586345e-04, 1.79405622e-02,
-4.31807229e+00, 1.94313253e-03])
import sympy as sym
sym.init_printing()
x = sym.symbols('x')
q = 10
EI = 5000
EA = 20000
F = 150
q_AC = 0
q_BC = q
q_AD = 0
C_1, C_2, C_3, C_4 = sym.symbols('C_1 C_2 C_3 C_4')
C_5, C_6, C_7, C_8 = sym.symbols('C_5 C_6 C_7 C_8')
C_9, C_10 = sym.symbols('C_9 C_10')
V_AC = -sym.integrate(q_AC, x) + C_1
M_AC = sym.integrate(V_AC, x) + C_2
kappa_AC = M_AC/EI
phi_AC = sym.integrate(kappa_AC, x) + C_3
w_AC = -sym.integrate(phi_AC, x) + C_4
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
N_AD = -sym.integrate(q_AD, x) + C_9
epsilon_AD = N_AD/EA
u_AD = sym.integrate(epsilon_AD, x) + C_10
eq1 = sym.Eq(w_AC.subs(x,0),u_AD.subs(x,0))
eq2 = sym.Eq(M_AC.subs(x,0),0)
eq3 = sym.Eq(w_BC.subs(x,4),0)
eq4 = sym.Eq(phi_BC.subs(x,4),0)
eq5 = sym.Eq(w_AC.subs(x,4)-w_BC.subs(x,0),0)
eq6 = sym.Eq(phi_AC.subs(x,4)-phi_BC.subs(x,0),0)
eq7 = sym.Eq(M_AC.subs(x,4) - M_BC.subs(x,0),0)
eq8 = sym.Eq(V_AC.subs(x,4) - V_BC.subs(x,0),0)
eq9 = sym.Eq(u_AD.subs(x,9),0)
eq10 = sym.Eq(N_AD.subs(x,0),-V_AC.subs(x,0))
sol = sym.solve([eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10],(C_1,C_2,C_3,C_4,C_5,C_6,C_7,C_8,C_9,C_10))
for k, v in sol.items():
print(f"{k} = {v} ≈ {v.evalf()}")
C_1 = 1792/415 ≈ 4.31807228915663
C_10 = 504/259375 ≈ 0.00194313253012048
C_2 = 0 ≈ 0
C_3 = -4904/778125 ≈ -0.00630232931726908
C_4 = 504/259375 ≈ 0.00194313253012048
C_5 = 1792/415 ≈ 4.31807228915663
C_6 = 7168/415 ≈ 17.2722891566265
C_7 = 472/778125 ≈ 0.000606586345381526
C_8 = 2792/155625 ≈ 0.0179405622489960
C_9 = -1792/415 ≈ -4.31807228915663
Opgave
Oplossing van Opgave
\(M_{\rm{AC}} \left(4\right) = \cfrac{1792}{415} \cdot 4 = \cfrac{7168}{415} \approx 17.27 \ \rm{kNm}\)
M_AC.subs(sol).subs(x,4).evalf()
De constructie wordt nog wat meer uitgebreid.
Fig. 70 Constructie#
Opgave
Bepaal de nieuwe segmenten en teken de vrijlichaamsschema voor de nieuwe segmenten en de segmenten waar iets verandert is. Teken ook de nieuwe overgang.
Solution
Fig. 71 Vrijlichaamsdiagram D#
\( u_{\rm{DE}} \left( E \right) = 0 \)
\( \cfrac{4}{5} \cdot N_{\rm{DE}} = -150 \to N_{\rm{DE}} = -187.5\)
Opgave
Solution
De verplaatsingen en krachten in DACB zijn ongewijzigd tov oefening 3
Exact, in de nieuwe vergelijkingen komen geen krachtsgrootheden / verplaatsingen van de andere staven voor. De horizontale verplaatsing van AD heeft dus geen invloed op DACB (vanwege kleine verplaatsingen)
De verplaatsingen en krachten in DACB wijzigen tov oefening 3
Onjuist, komen in je nieuwe vergelijkingen krachten of verplaatsingen voor van het deel DACB van de constructie?
De staaf DE kan onafhankelijk van de rest van de constructie worden doorgerekend
Exact, met deze twee vergelijkingen kunnen de twee integratieconstantes van staaf DE worden opgelost.