packages = ["numpy"]

Magnetic Field and Vector Potential from Straight Bar

2025-4-28 (R.2)
Kiyoshi Yoshida
kiyoshi.yoshida@eagle.ocn.ne.jp

Current (MA)
Radial Position (m)
Current (MA)
Lower Z1 (m)
Upper Z2 (m)
Radial Position (m)
Infinit straight Bar
Finit straight Bar
from pyscript import document, display import js from numpy import abs, sqrt, log, sin, arctan small_dist = 1.00e-6 def ba_barinf(r, i): # Feynman cn = i*1.0e-7 if abs(r) < small_dist: return 0.0, 0.0 az = -2.0*cn*log(r) bt = 2.0*cn/r return bt, az def ba_wirebar(r, i, z1, z2): # Griffiths cn = i*1.0e-7 if abs(r) < small_dist: return 0.0, 0.0 t1 = arctan(z1/r) t2 = arctan(z2/r) b = cn/r*(sin(t2) - sin(t1)) x1 = z1 + sqrt(z1**2 + r**2) x2 = z2 + sqrt(z2**2 + r**2) a = cn*log(x2/x1) return b, a def bacalc1(event): ia = float(js.document.getElementById("current").value)*1.0e6 r = float(js.document.getElementById("radial").value) bt, az = ba_barinf(r, ia) js.document.getElementById("msg1").innerHTML = "Bt (T): "+ str(bt) js.document.getElementById("msg2").innerHTML = "Az (Tm): "+ str(az) def bacalc2(event): ia = float(js.document.getElementById("curr2").value)*1.0e6 z1 = float(js.document.getElementById("z1").value) z2 = float(js.document.getElementById("z2").value) r = float(js.document.getElementById("radip").value) bt, az = ba_wirebar(r, ia, z1, z2) js.document.getElementById("msg4").innerHTML = "Bt (T): "+ str(bt) js.document.getElementById("msg5").innerHTML = "Az (Tm): "+ str(az)