from sympy.physics.units import *
from sympy import *
print("\n--- User input: ---------------------")
symbolic = True
if symbolic:
a = var("a")
q = var("q")
else:
a = a_val *meter
q = q_val *newton/meter
x = var("x")
print("\n--- a: ------------------------------")
fq = q
R = integrate(fq, (x, 0, a))
hR = integrate(x*fq, (x, 0, a))
h = hR / R
print
pprint(["R", R],)
pprint(["h", h],)
hbarR = integrate((a-x)*fq, (x, 0, a))
hbar = hbarR / R
print
pprint(["R", R])
pprint(["hbar", hbar])
print("\n--- b: -------------------------------")
fq = q*(1-x/a)
R = integrate(fq, (x, 0, a))
hR = integrate(x*fq, (x, 0, a))
h = hR / R
print
pprint(["R", R],)
pprint(["h", h],)
print("\n--- c: -------------------------------")
fq1 = q*(3 - 4*x/a)
fq2 = q
R1 = integrate(fq1, (x, 0, a/2))
R2 = integrate(fq2, (x, a/2, a))
R = R1+R2
print
pprint(["R", R])
M1 = integrate(x*fq1, (x, 0, a/2))
M2 = integrate(x*fq2, (x, a/2, a))
M = M1 + M2
h = 1/R * M
print
pprint(["h", h])
--- User input: ---------------------
--- a: ------------------------------
[R, a*q]
a
[h, -]
2
[R, a*q]
a
[hbar, -]
2
--- b: -------------------------------
a*q
[R, ---]
2
a
[h, -]
3
--- c: -------------------------------
3*a*q
[R, -----]
2
7*a
[h, ---]
18