Skip to content

Consolidate SIMPLE reference_coordinates with libneo coordinate_system_t #294

@krystophny

Description

@krystophny

Priority: Low

Problem

There is functional overlap between SIMPLE's reference_coordinates module and libneo's coordinate_system_t:

SIMPLE reference_coordinates:

  • ref_coords global instance
  • evaluate_cart(), evaluate_cyl() methods
  • VMEC-specific implementation

libneo coordinate_system_t:

  • Abstract base with multiple implementations
  • evaluate_cart(), evaluate_cyl(), evaluate_metric() methods
  • VMEC and chartmap implementations

Both provide coordinate transformations but with different APIs and capabilities.

Proposed Solution

Consider consolidating to use libneo's coordinate_system_t throughout SIMPLE:

  1. Replace reference_coordinates usage with coordinate_system_t
  2. Or make reference_coordinates a thin wrapper around coordinate_system_t
  3. Ensure all needed functionality (Jacobians, metrics) is accessible

Benefits

  • Single coordinate transformation API
  • Reduced code duplication
  • Leverage libneo's more complete implementation

Caveats

  • API changes required throughout SIMPLE
  • Need to verify libneo provides all required functionality
  • May require libneo modifications

Related

  • See DOC/coordinates-and-fields.md Section 7

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions