Skip to main content

swarmalator - Pytorch

Project description

Swarmalator

Swarmalators are a hybrid swarm oscillator system, combining features of both swarming (particles that align their spatial motion) and oscillators (units that synchronize their phase). This repository provides an implementation of the swarmalator model in a 3D environment using PyTorch.

Install


Overview

At the heart of the model are two main components for each swarmalator:

  1. Spatial Position (xi): Represents where the swarmalator is in a 3D space.
  2. Phase/Orientation (sigma_i): Defines the state or phase of the swarmalator.

The dynamics of each swarmalator are driven by interactions with its neighbors. These interactions are based on their relative spatial distances and differences in their phases.

Dynamics Explained

The dynamics of the swarmalators are governed by two main equations:

  1. For the spatial position (xi):

    • Swarmalators are attracted or repelled based on the difference in their phases.
    • They also experience a self-propelling force and a damping on high velocities.
  2. For the phase/orientation (sigma_i):

    • The phase changes based on the relative spatial positioning of the swarmalators.
    • There's also an intrinsic phase precession and a nonlinearity which can cause the phase to wrap around.

Using the Runge-Kutta 4th order method (RK4), the system numerically integrates these dynamics over time, leading to the emergent behaviors of the swarmalators.

Visualization

In the visualization, you will witness:

  • A 3D cube that encapsulates the world of swarmalators.
  • N points inside this 3D space, each representing a swarmalator. The movements and dynamics of these swarmalators are based on the aforementioned interactions.
  • A mesmerizing dance of points as they evolve over time, showcasing various patterns, clusters, or scattered behaviors.

Parameters

The behavior of swarmalators can be fine-tuned using several parameters:

  • N: Number of swarmalators.
  • J, alpha, beta, gamma, epsilon_a, epsilon_r, R: Parameters that govern the strength and nature of interactions and dynamics.
  • D: Dimensionality of the phase/orientation.

Usage

To simulate the swarmalators, adjust the parameters as desired and run the provided script. Post-simulation, the final positions and phases of the swarmalators are printed, and the visualization can be observed.

N = 100
J, alpha, beta, gamma, epsilon_a, epsilon_r, R = [0.1]*7
D = 3
xi, sigma_i = simulate_swarmalators(N, J, alpha, beta, gamma, epsilon_a, epsilon_r, R, D)
print(xi[-1], sigma_i[-1])

Conclusion

Swarmalators provide a unique and intriguing insight into systems that exhibit both swarming and synchronization behaviors. By studying and visualizing such models, we can gain a better understanding of complex systems in nature and potentially apply these insights to engineering and technological domains.

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

swarmalator-0.0.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

swarmalator-0.0.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file swarmalator-0.0.1.tar.gz.

File metadata

  • Download URL: swarmalator-0.0.1.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.0 Darwin/22.4.0

File hashes

Hashes for swarmalator-0.0.1.tar.gz
Algorithm Hash digest
SHA256 4e9f7682b6e49272d7ee1fa7cce25d3c1b3b3173b8b8d21a1b1939bf1682ae5e
MD5 3d852b3da42e15878c7ed298dcec23f6
BLAKE2b-256 03bff67d6f8dffd6a62f1f03ead2272294bd2c2fe2c2448b884f581188b66d21

See more details on using hashes here.

File details

Details for the file swarmalator-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: swarmalator-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.0 Darwin/22.4.0

File hashes

Hashes for swarmalator-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 235c1871a366a33f1ca539f662ad9ada06e3757ee1a7d787a1495b1b0eec3471
MD5 4e8899773e9d6dfd5ebafb9ae443271c
BLAKE2b-256 21c65e33ae53ec2fcc8d63eab221fb03cb7bf645a6bfd53389f2ff6ea0905595

See more details on using hashes here.

Supported by

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