All Projects → ksenia007 → dlaCluster

ksenia007 / dlaCluster

Licence: MIT License
Python code for simple diffusion limited aggregation (DLA) simulation. The code provided creates a .gif for cluster growth and calculates fractal dimensionality of the cluster. User can vary the radius of the cluster.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to dlaCluster

k8s-istio-demo
Demo showing the capabilities of Istio
Stars: ✭ 22 (-4.35%)
Mutual labels:  cluster
k8s-lemp
LEMP stack in a Kubernetes cluster
Stars: ✭ 74 (+221.74%)
Mutual labels:  cluster
AMapMarker-master
提供一种高德地图自定义marker的解决方案以及改善高德官方点聚合功能
Stars: ✭ 63 (+173.91%)
Mutual labels:  cluster
scanstatistics
An R package for space-time anomaly detection using scan statistics.
Stars: ✭ 41 (+78.26%)
Mutual labels:  cluster
nestjs-redis
Redis(ioredis) module for NestJS framework
Stars: ✭ 112 (+386.96%)
Mutual labels:  cluster
pulseha
PulseHA is a active-passive high availability cluster daemon that uses GRPC and is written in GO.
Stars: ✭ 15 (-34.78%)
Mutual labels:  cluster
genie
Genie: A Fast and Robust Hierarchical Clustering Algorithm (this R package has now been superseded by genieclust)
Stars: ✭ 21 (-8.7%)
Mutual labels:  cluster
ring-election
A node js library with a distributed leader/follower algorithm ready to be used
Stars: ✭ 92 (+300%)
Mutual labels:  cluster
rcm.cr
Redis Cluster Manager in Crystal
Stars: ✭ 43 (+86.96%)
Mutual labels:  cluster
kubernetes-deployment
No description or website provided.
Stars: ✭ 15 (-34.78%)
Mutual labels:  cluster
PinFloyd
MapKit annotations clustering for iOS
Stars: ✭ 29 (+26.09%)
Mutual labels:  cluster
fastdata-cluster
Fast Data Cluster (Apache Cassandra, Kafka, Spark, Flink, YARN and HDFS with Vagrant and VirtualBox)
Stars: ✭ 20 (-13.04%)
Mutual labels:  cluster
endurox-go
Application Server for Go (ASG)
Stars: ✭ 32 (+39.13%)
Mutual labels:  cluster
go-redis-migrator
A cluster aware Redis key migrator. Moves keys from one cluster or host to another cluster or host.
Stars: ✭ 32 (+39.13%)
Mutual labels:  cluster
docker-rabbitmq-ha-cluster
A docker stack to create, test and benchmark a rabbitmq cluster in high availability configuration. HAProxy, php workers, node failures, network partition, persistent messages.
Stars: ✭ 98 (+326.09%)
Mutual labels:  cluster
JRCLUST
JRCLUST
Stars: ✭ 32 (+39.13%)
Mutual labels:  cluster
racompass
An advanced GUI for Redis. Modern. Efficient. Fast. A faster and robust Redis management tool. For developers that need to manage data with confidence.It supports Redis modules now!
Stars: ✭ 26 (+13.04%)
Mutual labels:  cluster
kubernetes-marketplace
Marketplace of Kubernetes applications available for quick and easy installation in to Civo Kubernetes clusters
Stars: ✭ 136 (+491.3%)
Mutual labels:  cluster
core
augejs is a progressive Node.js framework for building applications. https://github.com/augejs/augejs.github.io
Stars: ✭ 18 (-21.74%)
Mutual labels:  cluster
pacman.store
Pacman Mirror via IPFS for ArchLinux, Endeavouros and Manjaro
Stars: ✭ 65 (+182.61%)
Mutual labels:  cluster

DLA Cluster

Python code for DLA cluster simulation and calculating fractal dimensionality of the cluster.

Cluster formation

The movie (.gif) is a visual output for the DLA Cluster formation. In the beginning, a seed particle is added in the center. Then random walkers start at the specified radius from the center. They are added to the cluster if they reach it. If the random walker comes close to the edge of the field, it is removed. The cluster is considered complete once one of the cluster elements comes to the radius from which random walkers start.

To get this movie, you need to run file runner.py. To get different radius - vary the first parameter passed to the DLAcluster function. For example, this is a .gif file for a larger radius.

As we can see, the resulting cluster has a lot of holes and exhibits a branching behavior. This is understandable: if we add random walkers at the distance of the center and let them wander, there is a greater chance they will be added to the branches of the cluster as it grows.

To quantify this observation, we can find the fractal dimensionality of the cluster. This parameters arises from the scaling rules: consider the mass of the objects. We can see that for a line mass is proportional to r, and for disk to r2. Therefore, consider expression

log(m)=a log(r)+c

Then, a is the power of r. For fractals, we would expect a value between 1 and 2.

Indeed, running the DLA cluster for various radius, and finsing a fit through the points, we see that it is about 1.7

This result can be achieved by running fractalDimensionality.py

Note

Part of this code was used to complete the group assignment for Physics 566 (Computational Physics) class at Duke University, taught by Professor Steffen Bass. Team members: Ksenia Sokolova, Tahoe Schrader and Xinmeng Tong. The Github repository for the full assignment can be found here

Installing required packages

Most of the packages are easy to install through pip install (package) However, installing ffmpeg for saving .gif requires a separate procedure. (Only needed if passed "True" for DLAcluster function)

For Mac users: install ffmpeg through homebrew

  1. Install homebrew - folow the instructions on the link (The password required is the computer password)
  2. In the Terminal, type brew install ffmpeg This will install it automatically

Many cluster formations


It is insteresting to note, that all the gifs run out of order with respect to each other. This happens because every cluster needs variable time to run.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].