遇见数据集

Benchmark for Self-Organized Criticality: Algorithms and Reference Implementations

收藏
Zenodo2026-03-15 更新2026-05-26 收录
官方服务:

资源简介:

BTW Sandpile Benchmark This project investigates the Bak-Tang-Wiesenfeld (BTW) model of self-organized criticality (SOC) on square lattices. The codebase combines Python, C, and Jupyter notebooks to explore numerical simulations and analyze size–frequency relationships in sandpile avalanches. Overview The project addresses two main aspects of the BTW model: 1. Size-Frequency Relationship in the BTW Sandpile The classic BTW sandpile on an 𝐿×𝐿 square lattice—the first SOC model—does not exhibit a single power law in its avalanche size-frequency distribution. Numerical simulations reveal two distinct regimes in the bulk of the size-frequency relationship: Intermediate-scale regime: forms a power-law region that dominates for small lattices. Large-scale regime: emerges for larger avalanches and could be mistakenly identified as a “bump” in smaller systems (up to 𝐿=1024). Its precise functional form remains unclear. The transition point between the two regimes scales non-trivially with system size: If two power-law regimes exist, their exponents are similar but distinct. As 𝐿 grows, the intermediate-scale regime occupies only a small fraction of the log-log size-frequency plot, while the large-scale regime becomes more significant but widens more slowly than 𝐿^2. 2. Modified BTW Mechanism with True Power-Law Behavior By introducing a mix of slow and fast timescales, the standard BTW model is modified to produce a size–frequency distribution that follows a true power law with a rapid cutoff at extreme avalanches. This demonstrates that the BTW mechanism captures the essence of SOC, but to reach the critical point representing a second-order phase transition, some adjustments to the mechanism are required. Code Components Python Notebooks Handle catalog manipulations, data analysis, and figure generation. C Simulation Codes Implement the BTW model and its modifications for large-scale simulations. Python Scripts (src/) Contain helper functions, regression, fitting, and visualization utilities. Requirements Python 3.8+ NumPy, SciPy, Matplotlib Jupyter Notebook for interactive exploration Install dependencies: pip install -r requirements.txt Usage Run C simulations Use the C codes in the project to generate avalanche data. Output files will be saved in the data/ folder. Load and analyze simulation results Open the Jupyter notebooks in the notebooks/ folder. Use the provided cells to read data files, process catalogs, and compute size-frequency relationships. Generate figures Execute the notebook cells or Python scripts in src/ to create publication-quality figures. Generated figures will be saved in the fig/ folder.

提供机构:
Zenodo
创建时间:
2026-03-15
二维码
社区交流群
二维码
科研交流群
商业服务