Skip to content

Add Helix and PolarRepeat - #46

Merged
max-models merged 1 commit into
develfrom
helix
Nov 3, 2026
Merged

max-models merged 1 commit into
develfrom
helix

Conversation

@max-models

Copy link
Copy Markdown
Owner

Two shapes for RF drivers in 3D:

  • Helix(start, radius, pitch, turns, wire_radius, axis=..., left_handed=...): a helical wire of round cross-section with hemispherical ends (the copper tube of an RF coil). Its level set is the distance from the centreline, by Newton steps along it from the linearised minima of the two nearest turns: exact within a wire radius of the wire (tested against dense sampling of the centreline), the distance from the centreline's cylinder (a bound) farther away. yee_fractions works on it (sampled crossings refined on the level set).
  • PolarRepeat(source, count, axis=..., origin=...): count copies of a 3D shape about an axis, evaluated by folding the point's angle into the first sector. Membership and level set equal those of the union of rotated copies (tested), at the cost of one copy: the 24 slits of a Faraday shield, tube - PolarRepeat(slit, 24), make the cut cells as fast as one slit.

Docs: the level-set table, the Numerics overview, the shapes tutorial and the changelog.

@max-models
max-models merged commit 66fbb95 into devel Nov 3, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant