Skip to main content

⚙️ 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, knotplot) zo aanroepen:

from SSTcore import (
    get_ideal_txt_path,
    get_knots_fourier_series_dir,
    get_resources_dir,
    get_knotplot_ab_path,
    list_knotplot_ids,
)

# Basis resources-map (ideal/, Knots_FourierSeries/, knotplot/, …)
resources_dir = get_resources_dir()

# Alleen Knots_FourierSeries-map
kfs_dir = get_knots_fourier_series_dir()

# Pad naar ideal.txt (resolves resources/ideal/ first, flat legacy second)
ideal_path = get_ideal_txt_path()

# Knotplot AB-XML (INDEX-backed; prefer over deprecated get_knotplot_ideal_path / knotplot)
ab_path = get_knotplot_ab_path("knot_3.1")
kp_ids = list_knotplot_ids()

Optioneel: stel SSTCORE_RESOURCES in om een vaste map te forceren. Gilbert ideal data lives under resources/ideal/. Repo-only ridgerunner tooling is under tools/knotplot/ (not packaged).

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.

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.36.tar.gz (71.6 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.36-cp314-cp314-win_amd64.whl (49.0 MB view details)

Uploaded CPython 3.14Windows x86-64

sstcore-0.8.36-cp314-cp314-manylinux_2_39_x86_64.whl (49.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

sstcore-0.8.36-cp314-cp314-macosx_10_14_universal2.whl (61.8 MB view details)

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

sstcore-0.8.36-cp313-cp313-win_amd64.whl (48.9 MB view details)

Uploaded CPython 3.13Windows x86-64

sstcore-0.8.36-cp313-cp313-manylinux_2_39_x86_64.whl (49.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

sstcore-0.8.36-cp313-cp313-macosx_10_14_universal2.whl (61.8 MB view details)

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

sstcore-0.8.36-cp312-cp312-win_amd64.whl (48.9 MB view details)

Uploaded CPython 3.12Windows x86-64

sstcore-0.8.36-cp312-cp312-manylinux_2_39_x86_64.whl (49.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

sstcore-0.8.36-cp312-cp312-macosx_10_14_universal2.whl (61.8 MB view details)

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

sstcore-0.8.36-cp311-cp311-win_amd64.whl (48.9 MB view details)

Uploaded CPython 3.11Windows x86-64

sstcore-0.8.36-cp311-cp311-manylinux_2_39_x86_64.whl (50.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

sstcore-0.8.36-cp311-cp311-macosx_10_14_universal2.whl (61.7 MB view details)

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

sstcore-0.8.36-cp310-cp310-win_amd64.whl (48.9 MB view details)

Uploaded CPython 3.10Windows x86-64

sstcore-0.8.36-cp310-cp310-manylinux_2_39_x86_64.whl (50.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

sstcore-0.8.36-cp310-cp310-macosx_10_14_universal2.whl (61.7 MB view details)

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

sstcore-0.8.36-cp39-cp39-win_amd64.whl (48.8 MB view details)

Uploaded CPython 3.9Windows x86-64

sstcore-0.8.36-cp39-cp39-manylinux_2_39_x86_64.whl (49.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

sstcore-0.8.36-cp39-cp39-macosx_10_14_universal2.whl (61.7 MB view details)

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

File details

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

File metadata

  • Download URL: sstcore-0.8.36.tar.gz
  • Upload date:
  • Size: 71.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sstcore-0.8.36.tar.gz
Algorithm Hash digest
SHA256 9c99d140364bc2af7bfe32332a201a869e6fc93ccd6b9d0d32f17c61f34195a9
MD5 33d726b667ec21793815edad2607903c
BLAKE2b-256 014283d087f43a86de3eb1a0eda5b12b7395aaf3b865b40e1061cb54208b507a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.36-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 49.0 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sstcore-0.8.36-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 655cf3d4449adbb8ab6014507362767f5c0b5cf4203109111306699ed41c9694
MD5 0955319ffab8c46b0cffc474f4c0a939
BLAKE2b-256 c5931ec1f261c44a2445e3f18a1b7eb56896b7b0a673fa52d7348b12d651811d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e5da15748d2523a235e6e1fe25138b7675b882fb2a9e44de8279a31a2ed414b2
MD5 39862cfdf4ba575fef874be083b1d952
BLAKE2b-256 fa8329e4b4df7cd08412a58377ac69d0c2c272edee2701fde248a29a601a71dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp314-cp314-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 87476854448033a583550e00e62ad5ab3f8d53329a41b808f3982e6ec323e4eb
MD5 8128aae2c9c5951c15212be6e636aaad
BLAKE2b-256 14173b47e7a7fb2589ba19a02969657c76e9952c15573bd80a38591e0c577744

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.36-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 48.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sstcore-0.8.36-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b95eec6046b2c11d7ab2dc9ded07f1a660db6b138fb5e3573f91bed81be49251
MD5 01b60bfc70b7887ec1c9c23250e118cc
BLAKE2b-256 3b9b69bc4f66c5ea576547f40171662433a21bac8f48c7b366140abc6eb90264

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 896fc44b9f9b04a28e851d55c5ed21180f60805f11441bd482649d762c4b0dd1
MD5 79d16ba928fa208537feb79c1c074231
BLAKE2b-256 bfd13998b423f469eb3576d696c59d9f20291112a5c1c58b196c5d333dde0141

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp313-cp313-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 887c03b9099de4a26a8d462491cb1ec0ed9c7849f8e808eccf124c943f98bf7f
MD5 de37857e1f01d7187137b0f5b4004213
BLAKE2b-256 0380e9e070d7e88e1a0921e1554badd7a7f4c87322f71c7f72162072f43b1629

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.36-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 48.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sstcore-0.8.36-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eb4fd4c1bb2313b66800b9dafb100f3cf76c56799b23e49ac4046231cf46ab6f
MD5 6dfd00ae64758a79b6697d0a03a1dc36
BLAKE2b-256 8db96e2edcab0a353827a73f4ec465945356cbdd69b1d8d05c09540d490e6c9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 26f5b81209742e94104d13d96e8b53a6785def9f13a40ef02e1a6ec8c041493e
MD5 d054ce366c5979ca3a42b52c0e2136b6
BLAKE2b-256 38304fe13a472acae4489db5bd15a7a050c7ce63b65b2cedb8484f1de1e874b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp312-cp312-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 44b287b257ec3d3fb2546a4882f48d4a8758b5bfc33dd98ae6b9fcf7636553d3
MD5 c30f111c6b9b2bef45b2ca59eb925b99
BLAKE2b-256 45f59c6025dba6ef3a0a4275315f40fca37794d71434d6c487948e55545a3769

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.36-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 48.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sstcore-0.8.36-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8d07b6bcf9ca36c1dcf2da1d8668a1d2b7c93ec7a5eb6ea73ebf38316624f128
MD5 c67fe0f4a685673293fffb626205acd0
BLAKE2b-256 37561e080443c5fb2f64b0f45515b702ddf9685d794b1dac05e223786b019c0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 595eaa08b07476394d1e2938e79a848bb120c329457f12af66a778ed25929a9c
MD5 815e465202b026fe905a83f18cf0608b
BLAKE2b-256 902789e5a7046252aa7142467aac2ce7ad31d7b1979639af6c2d755eb37b7e6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp311-cp311-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 58702bb2dfb51788ee9eb24672dfce4daa302094f4deb57ce7505f81a42f54ca
MD5 cbeb0042afd04abf4b30459ba03a24e0
BLAKE2b-256 73842aa1c27595ce632487d32a3596e175f53d803f70be1717a19a2027252051

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.36-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 48.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sstcore-0.8.36-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2f52a745eaac21ceb77970aed9253902faaa0f2f40c6e8186fdec5fa069f00a5
MD5 e03672072eedfac30a40676f529c1e05
BLAKE2b-256 7a6a9016d40724bd1aa20db98a30388252b3d1b69e8212471f46afedb5d72f7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 a49e21bcd255b4a85ccffd02a3c16c2ccb38c5b592fed11c553b765de4970848
MD5 3cb952313a543d993ea45cd8d2889b42
BLAKE2b-256 037811f892279675cf50ba0204e722fbe198a1c700f5cbf3d27e5a42102b8b73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp310-cp310-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 02899593da6c75ad3893af6bc0280abcd39785fe05a6d56f893956d3660b4b66
MD5 976c56ec98938d077fa109056bd71492
BLAKE2b-256 6da42cdb26f757c54d71513a91ed607f8cd7cacf300d7d39177912515d47062f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.36-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 48.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for sstcore-0.8.36-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3266a97e0e56dc9eb7fb6de13431241d0f8abdd12418aedba797fca72ca73522
MD5 a5d84366597010a254d4000afaecafe0
BLAKE2b-256 41b17a1a27d33ff7b1756c3e3943dca2b3d5452ca970c10e0dcd4db2704779ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4ad8a8ba157c8f4792b21c3e3f19fdbf27c72f4e3abbfbd0860061fba66e1a9b
MD5 2b0661c77a3c824df4871b0a28e6beae
BLAKE2b-256 b5873c40c3cccc47cad03dca65025bb9757fde798d81a17d7a42af82c3e03c38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.36-cp39-cp39-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 e4e29628c0605686f4085b180f827accc88d255ad7a5d55eeb21b8c900bc2a9c
MD5 c22c2c453d940890e4a10972e675e41b
BLAKE2b-256 807111cf4875cd558ad5b722577ffa125f7738ed7e4a2d081d93b6fc7b0bd9ed

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.8.36 This release

19 files

0.8.18

19 files

0.8.13

19 files

0.8.2

19 files

0.8.1

19 files

0.8.0

16 files

0.2.0

16 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page