Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stdogpkg/cukuramoto
A python/CUDA pkg which solves numerically the kuramoto model through the Heun's method
https://github.com/stdogpkg/cukuramoto
complex-networks cuda kuramoto-model
Last synced: 10 days ago
JSON representation
A python/CUDA pkg which solves numerically the kuramoto model through the Heun's method
- Host: GitHub
- URL: https://github.com/stdogpkg/cukuramoto
- Owner: stdogpkg
- Created: 2019-09-06T20:52:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-09-07T03:31:58.000Z (over 5 years ago)
- Last Synced: 2025-01-03T13:47:25.864Z (about 1 month ago)
- Topics: complex-networks, cuda, kuramoto-model
- Language: Python
- Homepage:
- Size: 34.2 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Install
```bash
pip install cukuramoto
```# Running
```python
import igraph as ig
import numpy as np
from stdog.utils.misc import ig2sparseblock_size=1024 # gpu parameter
num_couplings = 40
N = 10000G = ig.Graph.Erdos_Renyi(N, 3/N)
adj = ig2sparse(G)
adj = adj.tocsr()
ptr, indices = adj.indptr, adj.indicescouplings = np.linspace(0, 4, num_couplings).astype("float32")
omegas = np.tan(( np.arange(1,N+1)*np.pi)/N - ((N+1.)*np.pi)/(2.0*N) ).astype("float32")
phases = np.random.uniform(-np.pi, np.pi, int(num_couplings*N)).astype("float32")
``````python
import cukuramotodt = 0.1
num_temps = 100
simulation = cukuramoto.Heuns(
N, block_size, omegas, phases, couplings,
indices, ptr)simulation.heuns(num_temps, dt)
order_parameter_list = simulation.get_order_parameter(num_temps, dt)
``````python
order_parameter_list = order_parameter_list.reshape(num_couplings, num_temps)
r = np.mean(order_parameter_list, axis=1)
stdr = np.std(order_parameter_list, axis=1)
import matplotlib.pyplot as plt
plt.ion()
fig, ax1 = plt.subplots()
ax1.plot(couplings,r,'.-')
ax2 = ax1.twinx()
ax2.plot(couplings,stdr,'r.-')
plt.show()
```![](img.png)