Skip to content

Add multipole bindings#32

Draft
jlogan-cfs wants to merge 174 commits intoreleasefrom
jlogan/rat-bindings
Draft

Add multipole bindings#32
jlogan-cfs wants to merge 174 commits intoreleasefrom
jlogan/rat-bindings

Conversation

@jlogan-cfs
Copy link
Copy Markdown
Collaborator

4.0.0 2025-01-16

Added

  • Add mlfmm module with limited bindings to Project Rat's multipole methods for B-field and A-field
    • Exposed as cfsem::mlfmm::fields_linear_filament_mlfmm when rat-mlfmm feature is enabled
    • Add vendored dependencies and thin C FFI to support those bindings
    • Available on Windows, linux, and macOS only; disabled on other platforms
  • !Remove flux_density_biot_savart backwards-compatibility alias
  • !Upgrade flux_density_linear_filament, vector_potential_linear_filament, and body_force_density_linear_filament functions
    • Now handle finite wire length and finite wire thickness analytically
    • New wire_radius input
    • Removed mixed-precision section from flux density calculation in favor of all f64; this no longer affects overall throughput
      • For both linear_filament and point_segment variants
    • Old point-source segment formulations moved to point_source::segment module and available as flux_density_point_segment and vector_potential_point_segment functions
  • Add biot_savart.py and vector_potential.py examples with plots comparing linear filament, point segment, and multipole calcs

…ilable, but don't error when they're missing, as they are on some runners where they are prepackaged
@jlogan-cfs
Copy link
Copy Markdown
Collaborator Author

Status: this branch functions locally, but the build of the C bindings is failing on Windows and Linux in deployment CI largely due to the difficulty of generating delocateable builds of Boost. MacOS builds are working both locally and for python extension distributables.

@jlogan-cfs jlogan-cfs changed the title Add multipole and finite-segment calcs Add multipole bindings Mar 4, 2026
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