Network Dynaimcs Simulation

Overview
A Final Year Project in CUHK, Autumn 2021

Network Dynaimcs Simulation


Files

param.h

  • edit all the variables & settings here

simulate.c

  • the main program to run the network dynaimcs

How to use

  1. edit variables in param.h
  2. place param.h and simulate.c in the same folder
  3. compile simulate.c: gcc -O3 simulate.c -o simulate
  4. wait for results

Output

export up to 4 files

OUT_SPIK

  • stores all the spiking data
    • column 1: index of nodes, starting from 1
    • column 2: number of spikes of the corresponding node
    • remining columns: time-stamps of each spikes

OUT_POTV

  • stores the time series of membrane potential v(t) for the network dynamics

OUT_INFO

  • stores all the variables and settings as well as execution time for a simulation, for later reference

INI_CNFG

  • same as OUT_INFO, designated for easy computer program importation

Notes

  1. results will be output in the same folder as the codes, i.e., next to them

Optimization

Choice of compiler

After compiling the source code with several C compilerson Windows system, MinGW TDM-GCC 64 seems to be a good choice. Its running time is lesser than Cygwin64, the attached terminal of Visual Studio Code and MinGW 64/32. You can find MinGW TDM-GCC 64 here: https://jmeubank.github.io/tdm-gcc/

Compiling flag

I recommend using the -O3 flag when compiling, e.g., >gcc -O3 simulate.c -o simulate It turns on all the -O3 optimization flags, which reduce the running time significantly. Visit here for more details: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

Notes

This program creates multiple 1-/2-dimensional arrays when running. It accesses the array elements in the tightest loops. Fast memory is essential as the program freqently reads from / writes into RAM. Also, if you enable output for time series, try to write the file on a fast drive, such as SSD, it will be substantially faster. You can change the output path for time series data file in 'param.h'.



Analysing Network and Their Dynamics


Files

coupling.py

  • calculate
    • connection probability
    • statistics of synaptic weight
    • average synaptic weight
    • ratio of suppression & enhancement
  • plot
    • average synaptic weight distribution

spiking.py

  • calculate
    • average firing rate and its statistics
    • statistics of ISI (inter-spike interval)
    • identifying bursting nodes (work in progess)
    • statistics of synaptic weight of a network
    • average synaptic weight
    • ratio of suppression & enhancement
  • plot
    • reformat spiking data
    • spike raster plot
    • firing rate distribution
    • ISI distribution

spiking_compare.py

  • calculate
    • changes in firing rate
    • ratio of change in firing rate
  • plot
    • firing rate distribution (compared)
    • ISI distribution (compared)
    • change in firing rate distribution (&combined)
    • Ratio of suppression / enhancement vs ratio of increase in firing rate (&combined)
Owner
Likchun
Hello
Likchun
BLE parser for passive BLE advertisements

This pypi package is parsing BLE advertisements to readable data for several sensors and can be used for device tracking, as long as the MAC address is static. The parser was originally developed as

Ernst Klamer 19 Dec 26, 2022
boofuzz: Network Protocol Fuzzing for Humans

boofuzz: Network Protocol Fuzzing for Humans Boofuzz is a fork of and the successor to the venerable Sulley fuzzing framework. Besides numerous bug fi

Joshua Pereyda 1.7k Dec 31, 2022
Desktop application for checking sites connection in a background mode

Site connectivity checker Desktop application for checking site connection in a background mode by sending ICMP messages. Problem and solution Usually

Karina Singatullina 26 Dec 19, 2022
This is the code repository for Mastering Python for Networking and Security – Second Edition

Mastering Python for Networking and Security – Second Edition This is the code repository for Mastering Python for Networking and Security – Second Ed

Frank Gottinger 1 Feb 09, 2022
Flashes keyboard leds on incoming/outgoing network packets

LED Net Capture Flashes keyboard leds on incoming/outgoing network packets Usage Requires root priviledges to run usage: ledcapture.py [-h] --keyboard

Dan Habot 56 Oct 27, 2022
Use Raspberry Pi and CircuitSetup's power monitor hardware to publish electrical usage to MQTT

This repo has code and notes for whole home electrical power monitoring using a Raspberry Pi and CircuitSetup modules. Beyond just collecting data, it

Eric Tsai 10 Jul 25, 2022
euserv auto-renew script - A Python script which can help you renew your free EUserv IPv6 VPS.

eu_ex eu_ex means EUserv_extend. A Python script which can help you renew your free EUserv IPv6 VPS. This Script can check the VPS amount in your acco

A beam of light 92 Jan 25, 2022
Tripwire monitors ports and icmp to send the admin a message if somebody is scanning a machine that shouldn't be touched

Tripwire monitors ports and icmp to send the admin a message if somebody is scanning a machine that shouldn't be touched

3 Apr 05, 2022
TradingView Interactive Brokers Integration using Webhooks

TradingView Interactive Brokers Integration using Webhooks

84 Dec 19, 2022
An advanced real time threat intelligence framework to identify threats and malicious web traffic on the basis of IP reputation and historical data.

ARTIF is a new advanced real time threat intelligence framework built that adds another abstraction layer on the top of MISP to identify threats and malicious web traffic on the basis of IP reputatio

CRED 225 Dec 31, 2022
批量检查目标是否为cdn

🐸 Frog For Automatic Scan 🐶 Doge For Defense Evasion&Offensive Security Frog-checkCDN 批量检查目标是否为cdn Usage: python3 checkCDN.py list.txt list内可以为ip或者d

TimWhite 119 Dec 27, 2022
ASC - Api Server Controller

ASC - Api Server Controller

Uriel Alves 1 Jan 03, 2022
PetrickScanner is a simple Python OOP TCP Port Scanner

PetrickScanner PetrickScanner is a simple Python OOP TCP Port Scanner Functions Python TCP Port Scanner DNS Resolver Random Scanner PLEASE ANY PROBLEM

11 Nov 30, 2021
Docker container for demoing Wi-Fi calling stack.

VoWiFiLocalDemo - Docker container that runs StrongSwan and Kamailio to demonstrate how Wi-Fi calling works on smartphones.

18 Nov 12, 2022
These scripts send notifications to a Webex space when a new IP is banned by Expressway, and allow to request more info or change the ban status

Spam Call and Toll Fraud Mitigation Cisco Expressway release X14 is able to mitigate spam calls and toll fraud attempts by jailing the spam IP address

Luca Pellegrini 6 Aug 05, 2022
A vpn that sits in your browser, accessible via a website

VPNInYourBrowser A vpn that sits in your browser, accessible via a website Example setup: https://VPNInBrowser.jaffa42.repl.co Setup Put the code onto

1 Jan 20, 2022
A Python package for handling free proxies from sslproxies.org

SSLProxies Get free working proxy from https://www.sslproxies.org/ and use it in your script This is a port/rewrite of free-proxy with additional feat

Nate Harris 2 Mar 17, 2022
netpy - more than implementation of netcat 🐍🔥

netpy - more than implementation of netcat 🐍🔥

Mahmoud S. ElGammal 1 Jan 26, 2022
This script will make it easier to connect to any wireguard vpn config

wireguard-linux-python-script-vpn This script will make it easier to connect to any wireguard vpn config also u will need your wireguard vpn from your

Jimo 1 Sep 21, 2022
Makes dynamically updating your Cloudflare DNS records a bit easier ⏩👍😎

Easy Dynamic Cloudflare DNS Updater Makes dynamically updating your Cloudflare DNS records a bit easier ⏩ 👍 😎 If using it as a 'Dynamic DNS' client,

Zac Koch 3 Dec 19, 2021