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.13.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.13-cp314-cp314-win_amd64.whl (37.3 MB view details)

Uploaded CPython 3.14Windows x86-64

sstcore-0.8.13-cp314-cp314-manylinux_2_39_x86_64.whl (37.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

sstcore-0.8.13-cp314-cp314-macosx_10_14_universal2.whl (49.1 MB view details)

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

sstcore-0.8.13-cp313-cp313-win_amd64.whl (37.2 MB view details)

Uploaded CPython 3.13Windows x86-64

sstcore-0.8.13-cp313-cp313-manylinux_2_39_x86_64.whl (37.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

sstcore-0.8.13-cp313-cp313-macosx_10_14_universal2.whl (49.1 MB view details)

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

sstcore-0.8.13-cp312-cp312-win_amd64.whl (37.2 MB view details)

Uploaded CPython 3.12Windows x86-64

sstcore-0.8.13-cp312-cp312-manylinux_2_39_x86_64.whl (37.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

sstcore-0.8.13-cp312-cp312-macosx_10_14_universal2.whl (49.1 MB view details)

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

sstcore-0.8.13-cp311-cp311-win_amd64.whl (37.1 MB view details)

Uploaded CPython 3.11Windows x86-64

sstcore-0.8.13-cp311-cp311-manylinux_2_39_x86_64.whl (37.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

sstcore-0.8.13-cp311-cp311-macosx_10_14_universal2.whl (49.0 MB view details)

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

sstcore-0.8.13-cp310-cp310-win_amd64.whl (37.1 MB view details)

Uploaded CPython 3.10Windows x86-64

sstcore-0.8.13-cp310-cp310-manylinux_2_39_x86_64.whl (37.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

sstcore-0.8.13-cp310-cp310-macosx_10_14_universal2.whl (49.1 MB view details)

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

sstcore-0.8.13-cp39-cp39-win_amd64.whl (37.1 MB view details)

Uploaded CPython 3.9Windows x86-64

sstcore-0.8.13-cp39-cp39-manylinux_2_39_x86_64.whl (37.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

sstcore-0.8.13-cp39-cp39-macosx_10_14_universal2.whl (49.1 MB view details)

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

File details

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

File metadata

  • Download URL: sstcore-0.8.13.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.13.tar.gz
Algorithm Hash digest
SHA256 c62379601d700bdb736c138e17bb7028c51f1bf63fc14a8d59b00256075d7b6b
MD5 17c94869641cb89d16db7040072505b1
BLAKE2b-256 a8c0083e3cf6cdb24dde99687b890f0e499be91d560c3475a97ab4703f1855e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.13-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 37.3 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.13-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 306ca396853fd84d3ef3a53b94d5a94628eb7af925ee5c607868b62bef07f108
MD5 384231fe2ea9385932a83e972d79c4cc
BLAKE2b-256 834bf3d7ea471d6bd2b10b7866b61a77b1bcbfa8f726d49b1f7c3d98750677ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 dc50ed8a56bed7effa5d12880d64e0c8d633670b8c23a559210e950aef0adb7e
MD5 38b44406287d6c2f9732972d238c010a
BLAKE2b-256 e6e853f2f11a67f8d751f15978da0a1743eb6a6dbac4b07ec34052b4b23b1da5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp314-cp314-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 036d2c7f39e58720a88c3a3cf84f95e3077d90084c8cf26bd7487417560a1a51
MD5 f6ad43f40c92aaef2adc6680c8f11cfd
BLAKE2b-256 5c1778cfb8f221bc05db42bda0446ae9c0b5e58d1020ce8aad2983972008a0bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.13-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 37.2 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.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d0ff2ee19fc688566be34127fc8adbd9c08d9d7ce3d3c089e55f1d38b3a5aca4
MD5 7438881876d991f8d86de07ed8a79034
BLAKE2b-256 73dc5a9e084ff33feb2aa5c3456d72e8b18b1bd1ed115c45c2169f471f519869

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e38454c8068c3d867c718f44950b2d09718961a8cf4443474aea86607cf9d6a5
MD5 e5ad27e78a872d05b2073295674e7b67
BLAKE2b-256 62073aae66fc17da63ae525d9f5fe4fba8598e2f3faa42dda1e19b7996ac1c6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp313-cp313-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 91b1844e1d280179a807c6f5e211e430471fc73345379798a404ac692a789574
MD5 b246d75b4d967eae0c60c5dd0ad1691d
BLAKE2b-256 f58f695d99550420288a7ae74d582373d594e005a6825490083216bf8836864a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.13-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 37.2 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.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 43caa292aa064868041f3f203d7cb8fe77cfd8508d5913f33682ad38cd46db57
MD5 3c996190e3fbb3c7b89e98eb2639aa68
BLAKE2b-256 b4279c6b8d121ba1c4190f84142daecad0d128db67a512033fef6f1f5a60bf0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 a58dd54bd742b301dc930da6974d20a4005521a4eba437637583e5786e004170
MD5 f5f6d751ddebc37bb6e4044d8fa5e186
BLAKE2b-256 5fce80b6c61fec30201484ebdc3179265f9a31f4bbb154aa6ffd6cc8d4bdee82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp312-cp312-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 ee936c4c61c062a1b9d0efcbadabb46a49a75b78217852cf69c0873dac500b78
MD5 a8df3909b2b75ade2e85358d859b8185
BLAKE2b-256 37990a767d64ab2cf0b745f6e6a53a56ee6c2b9e7a0553c4471bd66cda0a0f9b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.13-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 37.1 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.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fec2d094ebc5e1dad15eed6ac638e9605689248fdbc0b566134688078eec3a1a
MD5 08c51194fce3648ba66ba0ee2c9597ea
BLAKE2b-256 2141b4cacb744717b5a17844dee3ebf73b5a072238dae8b5bf12d8648a8bdb2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 ae196c75e2500866ed6cc25a003ad3a1454d497794f738ff81d8b8ad94814bd8
MD5 bb2bff154ad8fcf565f00dce4c8fac5a
BLAKE2b-256 aba35a32ea40b5582fc61885dc290afed918b081810a979412a65f564ed9c73b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp311-cp311-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 d26535af311d30abdb03393b59fce11e6b3af671cab90cbc793cb90c72a02669
MD5 f2b0e42862419a62d5474176920b244e
BLAKE2b-256 64badbf51335be1ce84450c0cad5f2377f800b53850a578bf0fb8d52704590de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.13-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 37.1 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.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ffc6109ce4b54e7a12458e651803507127dd83227eed07530224ad769490ecfe
MD5 cc5b81312c36e547ffd7484217876e3a
BLAKE2b-256 ffdd914fae30abf00e544f86aee655b6d376c3a35cd4c4e19fda7cffa0abe32f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 1f8a0ad42011105ba293a70432b289839330d144250c2f71bb48109f4f6837ba
MD5 3f6498fa57e975b58c066a935eaffe3b
BLAKE2b-256 d2b4d55e592c9b2e684e03b47538fe72285bb4a0ad94f053eff12f2e4185814d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp310-cp310-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 35708da3896a8840290e21de560b43fcafb7a2e7eea83e3c4dae425b7b97f2f5
MD5 0ff3881a08a6902da6bd572e93907d04
BLAKE2b-256 7cd63614f876cc19f17bfb87e8a358256a99bcb0adf81da9cf350920e9a28abe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sstcore-0.8.13-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 37.1 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.13-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6f9c8f40f74a081eaaf139e940d2460e3cf50a585d8be83a93b197a0fb327703
MD5 9249396b739f37c969a5a3a7fbcbd472
BLAKE2b-256 a3823c3a43bcc943b42f38a1dc35e4301aab8e3982726bb9021fb53ef1f1dfe8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 8c687b24c2e6cd0e1691d9112221e784be1a809e7999a457c489cccd2a180350
MD5 53a7eb12d5a7fa9012d99c4a1a1e4321
BLAKE2b-256 041e677fcf688fdb41c691971c2094a93a7ae6c053d943b8d238a03753ee08ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sstcore-0.8.13-cp39-cp39-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 6cf92fb7ca1d1ded94ed8ed7a00e63d1196a92803b565c98bdd37d92b98c09bd
MD5 391573e991b63176f08d4ed426bd8357
BLAKE2b-256 2d335fa3508dd6d8d1a302cc306bee9a1eba3754b2aadf4108d2f1945bfc16d8

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