cyna-Beschleunigungsschicht#
cyna ist die mit pyna ausgelieferte C++-Beschleunigungsschicht. Sie wird
dort eingesetzt, wo Python-Hot-Loops nicht akzeptabel sind:
Feldlinienverfolgung, Poincare-Batches, Fixpunktscans,
Connection-Length- und Wandtreffer, Spulenfelder sowie Kernel der funktionalen
Störungstheorie.
Build-Vertrag#
pyna._cyna erwartet ein kompiliertes _cyna_ext-Binary im Paket.
Quellinstallationen bauen es über xmake; PyPI-Wheels enthalten es. Siehe
Installation für Plattform-Setup und CUDA-Flags.
Die kanonische Reihenfolge für zylindrische Feld-Caches lautet:
BR, BZ, BPhi, R_grid, Z_grid, Phi_grid
Verwenden Sie pyna._cyna.prepare_field_cache(), um ein
pyna.fields.VectorFieldCylind oder ein Legacy-Dict in C-kontigue Arrays
umzuwandeln.
High-Level- und Low-Level-APIs#
Bevorzugen Sie High-Level-Wrapper für Anwendungscode:
pyna.fltundpyna.toroidal.fltfür Tracingpyna.topofür Poincare-Karten, Zyklen, Inseln, Mannigfaltigkeiten und FPT-Antwortpyna.toroidal.coilsfür den Aufbau von Spulenfeldern
Verwenden Sie pyna._cyna direkt nur an Bridge-Grenzen, für Diagnostik oder
beim Schreiben eines neuen High-Level-Wrappers.