Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
| Download
Views: 1137
from sympy import * from sympy import N as Num # SI units: m = Symbol("m", positive=True) s = Symbol("s", positive=True) kg = Symbol("kg", positive=True) # Derived units: N = kg*m/s/s print("\n--- User input -----------------------") a1 = S(200)/1000 *m a2 = S(300)/1000 *m a3 = S(250)/1000 *m a4 = S(125)/1000 *m b1 = S(300)/1000 *m b2 = S(300)/1000 *m F1 = 380 *N F2 = 500 *N F3 = 800 *N A, B, C = var("A, B, C") print("\n--- a: -------------------------------") # Vectors from ref. point B to point at which forces act: rA = Matrix([ -(a1+a2+a3+a4), b1, 0 ]) rB = Matrix([ 0, 0, 0 ]) rC = Matrix([ 0, b1+b2, 0 ]) r1 = Matrix([ -(a3+a4), 0, 0 ]) r2 = Matrix([ -(a2+a3+a4), b1+b2, 0 ]) r3 = Matrix([ -a4, b1, 0 ]) print("\n--- b: -------------------------------") # Vectors of forces: # wrt (ex, ey, ez): FAv = Matrix([ 0, 0, A ]) FBv = Matrix([ 0, 0, B ]) FCv = Matrix([ 0, 0, C ]) F1v = Matrix([ 0, 0, -F1 ]) F2v = Matrix([ 0, 0, -F2 ]) F3v = Matrix([ 0, 0, -F3 ]) # Moments wrt point B: MA = rA.cross(FAv) MB = rB.cross(FBv) MC = rC.cross(FCv) M1 = r1.cross(F1v) M2 = r2.cross(F2v) M3 = r3.cross(F3v) # Total moment wrt B (vector): M = MA + MB + MC + M1 + M2 + M3 # Total force: F = FAv + FBv + FCv + F1v + F2v + F3v Mx = M[0] My = M[1] Fz = F[2] eq1 = Eq(Mx) eq2 = Eq(My) eq3 = Eq(Fz) # solve linear system: eqs = [eq1, eq2, eq3] sol = solve(eqs, [A,B,C]) A = sol[A] B = sol[B] C = sol[C] pprint(Num(A/N,3)) pprint(Num(B/N,3)) pprint(Num(C/N,3))
--- User input ----------------------- --- a: ------------------------------- --- b: ------------------------------- 663. 449. 569.