Dynamics

Kuramoto: Heun’s method in Tensorflow

References

[1] - Thomas Peron, Bruno Messias, Angélica S. Mata, Francisco A. Rodrigues, and Yamir Moreno. On the onset of synchronization of Kuramoto oscillators in scale-free networks. arXiv:1905.02256 (2019).

class stdog.dynamics.kuramoto.heuns.Heuns(adjacency, phases, omegas, couplings, total_time, dt, transient=False, frustration=None, precision=32, device='/gpu:0', log=None, use_while=False)[source]

This class allow efficiently simulating phase oscillators (the Kuramoto model) on large heterogeneous networks using the Heun’s method implemented in TensorFlow.

Variables:
  • adjacency (coo matrix) –
  • phases (np.ndarray) –
  • omegas (np.ndarray) –
  • couplings (np.ndarray) –
  • total_time (float) –
  • dt (float) –
  • transient (bool) –
  • frustation (bool) –
  • device (str) –
  • log (bool) –
  • use_while (bool) –
  • order_parameter_list (np.ndarray) –
create_tf_graph()[source]

This method creates the tensorflow graph

run()[source]

This runs the algorithm and updates the phases.

If transiet is set to True, then the order parameters is calculated and the array order_parameter_list is updated.

Kuramoto: Heun’s method in CUDA

allow efficiently simulating phase oscillators (the Kuramoto model) on large heterogeneous networks using the Heun’s method with a “pure” CUDA implementation. Should be faster than tensorflow implementation. .. admonition:: References

[1] - Thomas Peron, Bruno Messias, Angélica S. Mata, Francisco A. Rodrigues, and Yamir Moreno. On the onset of synchronization of Kuramoto oscillators in scale-free networks. arXiv:1905.02256 (2019).
class stdog.dynamics.kuramoto.cuheuns.CUHeuns(adjacency, phases, omegas, couplings, total_time, dt, transient=False, block_size=1024)[source]

Allow efficiently simulating phase oscillators (the Kuramoto model) on large heterogeneous networks using the Heun’s method. This class uses a pure CUDA implementation of Heun’s method. Therefore, should be faster than TensorFlow implementation also provided by StDoG

Variables:
  • adjacency (coo matrix) –
  • phases (np.ndarray) –
  • omegas (np.ndarray) –
  • couplings (np.ndarray) –
  • total_time (float) –
  • dt (float) –
  • transient (bool) –
  • order_parameter_list (np.ndarray) –
create_simulation()[source]

This method method crates the simulation.

run()[source]

This runs the algorithm and updates the phases.

If transiet is set to True, then the order parameters is calculated and the array order_parameter_list is updated.