Cable facade: the one object main.py talks to.
C = Cable()
C.tapeWidth = 4
...
C.build() # shells + caps + volume + checks
C.save("rutherford.msh") # relative: the run directory,
C.write_topology("rutherford_topology.conf") # where the deck looks
The cable axis is z. The tape is wound around a flat core with a stadium
cross-section (width cableWidth along x, thickness 2 edgeRadius along y)
at the lay angle layAngle measured from the axis. The core itself is not
meshed as a conductor: its section is the air block 1.