-
Notifications
You must be signed in to change notification settings - Fork 26
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
finite-build coils #1169
Comments
The finite build coil computation would be be an implementation of these papers by Hurtwitz et. al and Landreman et. al: An existing Julia implementation of the finite build rectangular cross section method is here. |
|
Regarding twist angle, I think the approach in Singh et. al 2020 has been used in the original Julia implementation for finding a coordinate frame for this. Specifically, Section 3.1 of that paper would define the coil centroid coordinate frame at each coil point, and we can initialize the FiniteBuildCoil object with a |
Another thought: how useful are circular cross sections in practice? Do people use them? Would just rectangular be enough? (I would assume rectangular is closer to reality?) |
I'm starting with implementing just the rectangular cross section coils, but I think I'll leave the functionality open for circular cross sections since the formulas have been derived there anyways. |
Notes from meeting with Paul:
|
Regarding the first and third points, it almost sounds like the winding angle feature would be implemented separately from the finite build coil feature in that case? Should that be something else that the FiniteBuildCoil inherits from? |
Yeah, I think the order would be something like Coil(MagneticField): # base class
FramedCoil(Coil): # coil plus rotating reference frame, but no width/height - still filamentary
FiniteBuildCoil(FramedCoil): # as above but with width/height of winding pack |
also here's some ideas from last week:
|
We need to decide on a class structure for finite-build coils. There are several categories of coil classes that we might want to support:
Possible ideas we discussed:
_Coil
class, which could default to 0/None. Non-planar coils will also have to add a winding angle attribute. Then each coil class could have it's own implementation for finite-build stuff. This prevents needing to add any new classes, but is maybe not the cleanest object-oriented design._FiniteBuildCoil
class. Then there would be new classes that inherit from this and the existing coil classes. This keeps the filamentary coils separate, but adds a lot of new classes to keep track of._CrossSection
ABC with circular and rectangular options. Similar to the previous option, new coil classes will inherit from these new classes and the existing coil classes. This gives a lot of flexibility, but might be excessive.Other ideas?
The text was updated successfully, but these errors were encountered: