Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
555 views
from sympy.physics.units import * from sympy import * from sympy import N as Num print("\n--- User input -----------------------") symbolic = True symbolic = False if symbolic: # quantity = symbol: a, F, E, I = var("a, F, E, I") else: # quantity = factor times unit: 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])]) # Displacement: 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: # use symbols: 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: -------------------------------