Skip to content

feat: support real-Cartesian Boozer chartmaps#260

Closed
krystophny wants to merge 1 commit intomainfrom
feature/chartmap-boozer-real-cart
Closed

feat: support real-Cartesian Boozer chartmaps#260
krystophny wants to merge 1 commit intomainfrom
feature/chartmap-boozer-real-cart

Conversation

@krystophny
Copy link
Copy Markdown
Member

Summary

Support real-Cartesian Boozer chartmaps in libneo by treating zeta_convention='boozer' as a genuine chart parameter instead of requiring atan2(y,x)=zeta.

This keeps the current fast cyl and vmec path intact while enabling a generalized chartmap path for GVEC-style Boozer files where the toroidal parameter is not the cylindrical angle.

What changed

  • accept zeta_convention='boozer' in chartmap validation and metadata
  • keep the atan2(y,x)=zeta contract only for cyl and vmec
  • allow chartmap initialization for boozer
  • spline the stored Cartesian geometry periodically in both angular directions for the generalized path
  • route VMEC-to-chartmap mapping through from_cart(...) for boozer
  • add dedicated validator and coordinate roundtrip tests for a non-cylindrical Boozer chartmap

Verification

cmake --build build -j$(nproc) --target test_chartmap_validator.x test_chartmap_boozer_coordinates.x test_chartmap_coordinates.x test_chartmap_vmec_mapping.x
ctest --test-dir build --output-on-failure -R 'test_chartmap_(validator|boozer_coordinates|coordinates|vmec_mapping)$'

Result:

  • 100% tests passed, 0 tests failed out of 4

Integration note

The same commit is also pushed to feature/boozer-chartmap in this repo so SIMPLE PR 327 can auto-resolve the matching libneo branch in CI.

@krystophny
Copy link
Copy Markdown
Member Author

Superseded by PR #261 so both repos use the single branch name . Closing this PR and deleting the extra branch.

@krystophny krystophny closed this Mar 28, 2026
@krystophny krystophny deleted the feature/chartmap-boozer-real-cart branch March 28, 2026 08:07
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