-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CurveXYZFourierSymmetries #404
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #404 +/- ##
==========================================
+ Coverage 91.55% 91.60% +0.04%
==========================================
Files 74 75 +1
Lines 12911 12987 +76
==========================================
+ Hits 11821 11897 +76
Misses 1090 1090
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here is a small generalization you could consider: in the transformation from \hat{x},\hat{y}
to x,y
, the angle in the rotation matrix could be multiplied by some integer. This would allow for curves for which you need to go around multiple times toroidally before they close. Not critical, just an idea.
sounds like a good idea, I'll add this to the PR in the coming days. |
I've introduced support for curves to wrap toroidally This trefoil has A few things to note:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
This pull request introduces a new helical curve representation called
CurveXYZHelical
. This curve is different fromCurveXYZFourier
because it can have discrete rotational symmetry. It can also be stellarator symmetric, or not.We currently support a helical curve representation
CurveHelical
, but this curve is restricted to lie on a torus. The newCurveXYZHelical
is not restricted to lie on a torus, and can represent curves like the one below. Viewing from above, theCurveXYZHelical
appears to lie on a torusbut profile view reveals that it clearly does not:
When
CurveXYZHelical
is stellarator symmetric, then necessarily the curve must pass through the point(x0, 0, 0)
. If you do not want this, then the user can apply stellarator symmetry to a non-stellarator symmetricCurveXYZHelical
curve and obtain a stellsym magnetic field from those two curves.