Skip to main content

SSTcore - Swirl String Theory Canonical Core. High-performance C++ library for knot dynamics, vortex systems, and fluid mechanics

Project description

⚙️ SSTcore: Hybrid Benchmark Engine for the Swirl-String Theory

Welcome to SSTcore, the computational backbone for the Swirl-String Theory (SST).
This hybrid C++/Python engine is designed to benchmark field-based gravity, time dilation, and EM swirl-field dynamics using modern numerical methods and a large helping of theoretical audacity. This repository contains the core engine, simulation scripts, and visualizations to explore the swirling depths of æther dynamics. We build the C++ SST-Bindings first, and then we can import it into benchmark Python code. When using the C++ SST-bindings to do hard calculations we can run / render Python simulations 10-100x faster.


💾 Features

  • 🚀 High-Performance Core (C++)
    Handles numerically stiff vortex dynamics, EM field evolution, and topological energy exchanges.

  • 🐍 Python Frontend
    For visualization, parameter sweeps, and interactive experiments using matplotlib, numpy, and PyBind11 integration.

  • 📦 npm Package
    Available for Node.js and browser (WebAssembly) via npm install sstcore. Perfect for Angular and other JavaScript/TypeScript applications.

  • 🧲 EM Field Simulations
    Supports generation and animation of rotating 3-phase bivort electric and magnetic field structures.

  • Time Dilation & Gravity Models
    Fast comparison of GR vs SST predictions in strong field limits.


Installation Options

Python Package

pip install SSTcore

Resources na pip install (via import)
Na pip install kun je het resources-pad (o.a. Knots_FourierSeries, ideal.txt) zo aanroepen:

from SSTcore import get_ideal_txt_path, get_knots_fourier_series_dir, get_resources_dir

# Basis resources-map (ideal.txt, Knots_FourierSeries, …)
resources_dir = get_resources_dir()

# Alleen Knots_FourierSeries-map
kfs_dir = get_knots_fourier_series_dir()

# Pad naar ideal.txt
ideal_path = get_ideal_txt_path()

Optioneel: stel SSTCORE_RESOURCES in om een vaste map te forceren.

SSTCORE Installation Guide (Windows)

This precompiled sstcore.cp311-win_amd64.pyd file is a pybind11 module compiled for Python 3.11 on 64-bit Windows.

✅ Installation Steps

  1. Determine your Python version:

    python --version
    
  2. Copy the matching .pyd file into your Python project directory. Example:

    your_project/
    ├── sstcore.cp311-win_amd64.pyd
    └── your_script.py
    
  3. In your script:

    import sstcore
    
  4. Use the exposed functions/classes such as:

    vortex = sstcore.VortexKnotSystem()
    vortex.initialize_trefoil_knot()
    

If you encounter an ImportError:

  • Make sure the .pyd file matches your Python version and architecture (64-bit)
  • Recompile using CMake and pybind11 if necessary for other OS

📦 Build & Run

I advise to make use of IDE like CLion, PyCharm or Visual Studio for building and running the project. When using CLion, you can follow these steps: You must install Visual Studio 2022 with C++ support, and then you can use CLion to build the project.

⚙️ Repair MSVC with the Visual Studio Installer

Open the Visual Studio Installer and do the following:

  • Find Visual Studio 2022 Community
  • Click Modify

Make sure the following are selected:

✔ Individual components: ✅ MSVC v14.3x - x64/x86 build tools ✅ Windows 10 SDK (or 11) ✅ C++ CMake tools for Windows ✅ C++ ATL/MFC support (optional) ✅ C++ Standard Library (STL) After this, reboot CLion and retry the build.

🔧 Use Clang Toolchain (if MSVC is broken)

You can switch CLion to use Clang (LLVM): Install LLVM from: https://github.com/llvm/llvm-project/releases Point CLion to clang++.exe in your toolchain settings You can still use pybind11 + C++23 this way and avoid MSVC issues altogether.

🐍 Install Python Dependencies

Make sure you have Python 3.11+ installed, then create a virtual environment and install the required packages. This might be the time to take a look at Conda, which is a package manager that can help you manage Python environments and dependencies more easily.

conda create -n  SSTcore12    python=3.12
conda activate  SSTcore12 

We now have to at least pip install pybind11 and pip install numpy to run the Python bindings. I recommend to use a requirements.txt file to manage the dependencies of the project, it will reflect my environment.

pip install -r requirements.txt

To keep file up to date: pip freeze > requirements.txt

🛠️ Get pyBind11 inside the project

mkdir -p extern
mkdir -p extern/pybind11
git clone https://github.com/pybind/pybind11.git extern/pybind11

🔨 Build C++ Core

Before building, ensure you have CMake installed and your environment is set up correctly. Download and install CMake https://cmake.org/download/

First initialize the CMake project, this results in a new directory cmake-build-debug-mingw or similar in the project. You can now use the following commands (from project root) to build the C++ core and generate the Python bindings:

mkdir -p build
cd build
cmake ..
cmake --build . --config Release

This command compiles the C++ core and generates the Python bindings using pybind11.

pip install PyQtWebEngine PyQt5 pyinstaller numpy

npm Package (Node.js / Browser)

npm install sstcore

See README_NPM.md for detailed usage instructions.

📦 Test if python receives SST Bindings

python -c "import sstcore; print(sstcore)"

This should return a path to sstcore.*.pyd or the SSTcore package. This indicates that the Python bindings for SSTcore have been successfully built and installed. If this command fails, ensure that sstcore.cp311-win_amd64.pyd is found in the same directory where you run python. When it does not work, you can delete the cmake-build and build folder and try to recompile the C++ bindings from within ./build/ with cmake .. followed by cmake --build . --config Debug again.

🐍 Import the SST Bindings in Python

from SSTcore import VortexKnotSystem, biot_savart_velocity, compute_kinetic_energy

🔨 Load the C++ module dynamically from the compiled path, because the SST Bindings are not installed in the Python site-packages.

import os
module_path = os.path.abspath("C:\\workspace\\projects\\sstcore\\build\\Debug\\sstcore.cp312-win_amd64.pyd")
module_name = "sstcore"

📊 Run Benchmarks

python tests/test_potential_timefield.py

📂 Project Structure

project-root/
├── build/
│   └── ...
├── examples/
│   ├── example_fluid_rotation.py
│   ├── example_potential_flow.py
│   ├── example_vortex_ring.py
│   └── ...
├── src/
│   ├── fluid_dynamics.cpp
│   ├── thermo_dynamics.cpp
│   ├── vorticity_dynamics.cpp
│   └── ...
├── src_bindings/
│   ├── module_sst.cpp
│   ├── py_fluid_dynamics.cpp
│   ├── py_thermo_dynamics.cpp
│   ├── py_vorticity_dynamics.cpp
│   └── ...
├── extern/pybind11/         # <-- Git submodule or manually cloned -- git clone https://github.com/pybind/pybind11.git extern/pybind11
├── CMakeLists.txt

🧠 Author

ORCID: 0009-0006-1686-3961
Conceived, written, and fearlessly pushed into the void by a person undeterred by the collapse of academic consensus.


📖 Documentation

  • Theory Overview
  • Swirl Core Model
  • Benchmarked Results

🧃 Warning

This software may cause:

  • Vortex-based worldview shifts
  • Sudden rejection of spacetime curvature
  • Hallucinations of swirling field lines in your breakfast cereal

💬 Contact

Open an issue or whisper into the æther. This code is listening. Always.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sstcore-0.8.18.tar.gz (46.7 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sstcore-0.8.18-cp314-cp314-win_amd64.whl (37.5 MB view details)

Uploaded CPython 3.14Windows x86-64

sstcore-0.8.18-cp314-cp314-manylinux_2_39_x86_64.whl (37.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

sstcore-0.8.18-cp314-cp314-macosx_10_14_universal2.whl (49.4 MB view details)

Uploaded CPython 3.14macOS 10.14+ universal2 (ARM64, x86-64)

sstcore-0.8.18-cp313-cp313-win_amd64.whl (37.3 MB view details)

Uploaded CPython 3.13Windows x86-64

sstcore-0.8.18-cp313-cp313-manylinux_2_39_x86_64.whl (37.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

sstcore-0.8.18-cp313-cp313-macosx_10_14_universal2.whl (49.4 MB view details)

Uploaded CPython 3.13macOS 10.14+ universal2 (ARM64, x86-64)

sstcore-0.8.18-cp312-cp312-win_amd64.whl (37.3 MB view details)

Uploaded CPython 3.12Windows x86-64

sstcore-0.8.18-cp312-cp312-manylinux_2_39_x86_64.whl (37.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

sstcore-0.8.18-cp312-cp312-macosx_10_14_universal2.whl (49.3 MB view details)

Uploaded CPython 3.12macOS 10.14+ universal2 (ARM64, x86-64)

sstcore-0.8.18-cp311-cp311-win_amd64.whl (37.3 MB view details)

Uploaded CPython 3.11Windows x86-64

sstcore-0.8.18-cp311-cp311-manylinux_2_39_x86_64.whl (37.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

sstcore-0.8.18-cp311-cp311-macosx_10_14_universal2.whl (49.3 MB view details)

Uploaded CPython 3.11macOS 10.14+ universal2 (ARM64, x86-64)

sstcore-0.8.18-cp310-cp310-win_amd64.whl (37.3 MB view details)

Uploaded CPython 3.10Windows x86-64

sstcore-0.8.18-cp310-cp310-manylinux_2_39_x86_64.whl (37.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

sstcore-0.8.18-cp310-cp310-macosx_10_14_universal2.whl (49.3 MB view details)

Uploaded CPython 3.10macOS 10.14+ universal2 (ARM64, x86-64)

sstcore-0.8.18-cp39-cp39-win_amd64.whl (37.2 MB view details)

Uploaded CPython 3.9Windows x86-64

sstcore-0.8.18-cp39-cp39-manylinux_2_39_x86_64.whl (37.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

sstcore-0.8.18-cp39-cp39-macosx_10_14_universal2.whl (49.3 MB view details)

Uploaded CPython 3.9macOS 10.14+ universal2 (ARM64, x86-64)

File details

Details for the file sstcore-0.8.18.tar.gz.

File metadata

  • Download URL: sstcore-0.8.18.tar.gz
  • Upload date:
  • Size: 46.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sstcore-0.8.18.tar.gz
Algorithm Hash digest
SHA256 da4b487ef2b025a03e434161f62c6fef4424872e41d9c4a6a06e33444d83ac40
MD5 d891830603ec9b17d068d13d7eaf4792
BLAKE2b-256 3c37cc18d193d683a3d494248f9403814ddc9d61883de6c96eaeb96194582bdd

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: sstcore-0.8.18-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 37.5 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sstcore-0.8.18-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1a0de5440a2adfedc578bcf7364a6ad48bed64fcdb232a78837852583abf5d7d
MD5 87f2bae3d7e466234aa048959eb1968a
BLAKE2b-256 f53baff0258de93fb7035d8dbef6e7de269a75bda97379af1b791062fb8f8b72

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp314-cp314-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 91ba277d962012725cc09d56eb021280780886b89bc13f4c28d16c11421c7346
MD5 56b4176152d93cb104e4cfe6cb9bc734
BLAKE2b-256 dcccc47729df9c1e38ada46b8e4f80b61c8dfa18d74bbad7ad1b550c455e042a

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp314-cp314-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp314-cp314-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 60c4d4d3dcbf2e23d8f314f60e083bbdde4dba718322fd1ed8801dc6a64c6347
MD5 2b27df00f35e47613f504121d32cb860
BLAKE2b-256 679bd5f624d839bc26714e0a4cdacc11d42e8a53a699a41909c9547e5b20b970

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sstcore-0.8.18-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 37.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sstcore-0.8.18-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 db7701a6ec2d14c5b8c10e2ec79dca1e0002092daa0a1babfdbc5fe49d0d65e2
MD5 84c6e8f2ee10ed732c9b4530d318019f
BLAKE2b-256 76ec08a5beef11483a3018b405517a417327287fd9ff9b9cd92117683c37ec9f

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 5e8411c23fe82ad2e3acc26ee88cb0d0a2270711d3bc978d20f8d9773cdcada3
MD5 c4a4df1d688bd2bfb8c8f96a602a8f0c
BLAKE2b-256 15cf092f6be67d2b723c514f1e18b45fe1e9e20b473388a62c1ca2040d33b1ea

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp313-cp313-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp313-cp313-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 235d5d8dbd185fa42070bbbe1d2bb9c22c65a805f726ecd46b9f3b949b3f07d8
MD5 dd8263397f602e9ed9f396dab42a2259
BLAKE2b-256 e05c9de48c1a1904db11f9142507af46e8dc17b265bf1c5b2ca9e3f8ed06ee26

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sstcore-0.8.18-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 37.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sstcore-0.8.18-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2bed24db8a493ea15d3d1c472bb3790381d908264bae40bef7af53c32a9a3d19
MD5 7644683e73ffae800105e1fa67faad87
BLAKE2b-256 e28ebddd392ebaf3d193b185f92d41fb2debc19f3268b2a5a8e8c1eb995d4873

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 289a6c7dce411bea2d7e959d55c1a643fb37d70b1cad19fd9bdbf76373f07ca6
MD5 dbff4e8edd8979ace2349a1b6d7f897b
BLAKE2b-256 bb12852c602ebd83ad3bfa724c52dae7573b6ca050230907738dd5797f3af841

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp312-cp312-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp312-cp312-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 d8c4acc1e32f2f6285f30fafafeeed2ff9f70bd37346ab1fc29232d27c80c991
MD5 3d9e112eed6a9fff684faa83f82b9e94
BLAKE2b-256 41f5456fd61611363ab29ea0005d865092bdb39622bb4ccfffe225ddea2a62e6

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sstcore-0.8.18-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 37.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sstcore-0.8.18-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9ba830d5b1430be5ca24e627c5de288185ef1b7fc1b215eecf0fb47cde10db59
MD5 61b0b6e03c587b1e8a9e656f56ac0caa
BLAKE2b-256 0ca9be0178ede68d2e2e7ac3202ba8d06e9808de2388506ca94c2b55f97f7d73

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 73214281de42edb60043522ebc1102de7bde4e68d6aa1eed123c7ca02122ff33
MD5 1f90c41e681592e13e851043d819168c
BLAKE2b-256 ada3af9bbc55c756b7702ff304a3a5fc96817ae8f1451ee35a05bd945b16d138

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp311-cp311-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp311-cp311-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 7a22f71e603da92188cdca3766edc51b89623f164eab241f126f277dff61ed04
MD5 8ac84b5ecd38e9bc3c56d3ab085a73ec
BLAKE2b-256 e2cf65d43f73aea0cd67c6d4b1718f80e08f7279e477bf2456349dec7b39bd75

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sstcore-0.8.18-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 37.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sstcore-0.8.18-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c5915a2b007fa8e8d02a83c94a94c52925e826e5bf988a1c93888837344d1ead
MD5 58b503ab7a29c62db5cea4406592d22a
BLAKE2b-256 03c6d28632f3297589dff1c43df5ff4109f45d2a908e7e418e4dbf55aacb962e

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c765668223dffc8a060cfc751726146bbf8b56d1a674000203878c1fc0f495cb
MD5 65a3c5f02d66e956fcc7accff8087045
BLAKE2b-256 1ad873d44778af1ee01c82862cd1b3551427c1d71459c36e5a96f366316ceeed

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp310-cp310-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp310-cp310-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 5b563606e6d4a725fe4d87ac84d12a6322fde9766ac9439b467b7bca3a1cf7b9
MD5 72ff0ba0d5c617498cec56b0050372e6
BLAKE2b-256 4f72de8c37b602d6963b4f98d49262e71b71ea1eb575dca514ccbf5542550733

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: sstcore-0.8.18-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 37.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sstcore-0.8.18-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c33a26372c89322afe52e82ba4d38a7d6175ec6c900f27965d4d843bdf1a4a6b
MD5 82a9b9d3912d1e36985b3d0a211bbcdc
BLAKE2b-256 1219768d5149c4dbd5fadf118b652ba9648767b4e408a0775de8b4b0c142a3b9

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 d26048558dad47e99469174df36fc7131aa54eeac1c23bf47ac7a48bfbfd9982
MD5 92a03506da744f41055ccca0a370adaa
BLAKE2b-256 2e8b8e5e155462874b2dd944991160f2e2efcb98f17fec789d5402e5dbb04caf

See more details on using hashes here.

File details

Details for the file sstcore-0.8.18-cp39-cp39-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for sstcore-0.8.18-cp39-cp39-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 2610bc22ea6cd019b69431253bb73cad3ef9679195d20dbfa09d46ef94ee8115
MD5 4a73e8c1d73df6654828c59648a91404
BLAKE2b-256 49c783296328bf3476d4add50612c8418ba00317ebd82898f2083917027458ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page