from sympy.physics.units import *
from sympy import *
from sympy import N as Num
print("\n--- User input -----------------------")
symbolic = True
symbolic = False
if symbolic:
a, F, E, I = var("a, F, E, I")
else:
a = S(4)/10 *m
F = 5 *kilo*newton
E = 210 *giga*pascal
I = (26 + S(5)/10) *cm**4
print("\n--- a: -------------------------------")
print("\n--- b: -------------------------------")
x=var("x")
M = - 2*F/5*x
print("\n--- c: -------------------------------")
C1, C2 = var("C1, C2")
EI_w_pp = - M
EI_w_p = integrate(EI_w_pp,x) + C1
EI_w = integrate(EI_w_p,x) + C2
print("\n--- d: -------------------------------")
eq1 = Eq(EI_w.subs(x,0*a), 0)
eq2 = Eq(EI_w.subs(x,5*a), 0)
sol = solve([eq1, eq2], [C1, C2])
EI_w = EI_w.subs([(C1, sol[C1]), (C2, sol[C2])])
w = EI_w/E/I
pprint(["w(x): ", w.simplify()])
print("\n--- e: -------------------------------")
w=w.simplify().subs(x,5*a/2)
if not (symbolic):
pprint(["w(5a/2): ", Num(w,3)])
else:
pprint(["w(5a/2): ", w])
print("\n--- f: -------------------------------")
--- User input -----------------------
--- a: -------------------------------
--- b: -------------------------------
--- c: -------------------------------
--- d: -------------------------------
3
20*x 80*x
[w(x): , ------- - ----]
2 3339
3339*m
--- e: -------------------------------
[w(5a/2): , -0.018*m]
--- f: -------------------------------