from sympy import *
from sympy import N as Num
m = Symbol("m", positive=True)
s = Symbol("s", positive=True)
kg = Symbol("kg", positive=True)
print("\n--- User input -----------------------")
symbolic = True
if symbolic:
g = var("g")
m1 = var("m1")
mu0 = var("mu0")
r1, r2 = var("r1, r2")
F = var("F")
else:
N = kg*m/s/s
g_val = 10
m1_val = 1
mu0_val = S(3)/10
r1_val, r2_val = 1, 2
F_val = 1
g = g_val * m/s/s
m1 = m1_val*kg
mu0 = mu0_val
r1, r2= r1_val*m, r2_val*m
F = F_val * N
print("\n--- a: -------------------------------")
S1, S2, S3, S4, S5, S5 = var("S1, S2, S3, S4, S5, S5")
H1, H2 = var("H1, H2")
eq1 = Eq(S5, F)
eq2 = Eq(r1*S5, r2*S1)
eq3 = Eq(S1, S2 + S3)
eq4 = Eq(S2, S3)
eq5 = Eq(S3, H1 + H2)
eq6 = Eq(S4, H1)
eq7 = Eq(S2, S4)
eqns = [eq1,eq2,eq3,eq4,eq5,eq6,eq7]
unknowns = [S1, S2, S3, S4, S5, S5, H1, H2]
sol = solve(eqns, unknowns)
pprint(sol)
print("\n--- b: -------------------------------")
H1_max = mu0*m1*g
eq = Eq(F*r1/2/r2, mu0*m1*g)
sol = solve(eq,F)
if symbolic:
pprint(sol)