Skip to content

New Grid API #1840

@dpanici

Description

@dpanici

related to Finite build grid api #1421 #1169 #1807

  • _Grid to AbstractGrid
    • rename rho poloidal zeta idx to x1 x2 x3 or something
    • no assumption on periodicity
    • move
      def _enforce_symmetry(self):
      to AbstractRTZGrid
  • subclass for AbstractRTZGrid
  • LinearGrid etc other existing grids will not subclass from this.
  • subclass also for AbstractFiniteBuildGrid
    • implements whatever methods required for finite build

Abstract grid classes instead for the topology of the grid (Torus vs Rectangular x circle)

How to keep current flexibility of allowing finite build coils to also compute centerline quantities (centerline curvature, etc) when given a 3D finite build grid?

In transforms, is particular structure assumed in grids?

  • FFT assumes something, may need to add extra checks (like only allow FFT for rtz grids for now, could be added later for finite build stuff)

CurveGrid class, which coils should use? is only 1-D instead of 3-D and use zeta as curve coordinate

  • would have to in certain places, potentially make changes where a usual nodes (n x 3) array is indexed into the last column

In curve and coil compute stuff

  • requirements could be 'z' for only centerline quanitites or just `` if can be computed pointwise without any resolution requirement
  • or 'rtz' or 'xsz' or something for things that need finite build

TODO:

  • separate PR from Ryan for the ABCs and a concrete filamentary coil grid class (CurveGrid) or something
    • make ABC for flux coords, cylindrical, and finite build (include Abstract in name)
  • finite build coil PR Finite Build Coils #1421 then bases off this PR and implements finitebuild, adds warnings when needed
    • change curve compute to check grid types, throw warnings about future errors if wrong grid (rtz grid when curve grid is needed)

Metadata

Metadata

Assignees

Labels

enhancementGeneral label for enhancement. Please also tag with "Speed", "Interface", "Functionality", etc

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions