Giter Site home page Giter Site logo

jonaseichinger / bionetgen Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bionetgen/bionetgen

0.0 0.0 0.0 782 KB

License: BSD 3-Clause "New" or "Revised" License

CMake 0.40% C++ 85.29% Makefile 1.45% POV-Ray SDL 2.08% Gnuplot 2.44% Perl 1.70% CSS 4.04% JavaScript 0.53% Roff 2.06%

bionetgen's Introduction

Voronoi

Voronoi network generation algorithm extracted from the input generator

Building

$ mkdir build
$ cd build
$ cmake ..
$ make
$ cd ..

Usage

$ ./build/voronoi config.json

Configuration

Use the config.json file to set parameters for the algorithm.

The main operation mode can be selected by changing the values of generate and simulate in the config file. If only generate is true, a voronoi geometry will be generated and saved as the output. If simulate is also true, simulated annealing will additionally be performed before the geometry is saved to the output files. If only simulate is true, a previously saved geometry will be read from the input files, simulated annealing will be perfomed and the result will be saved to the output files.

Parameters

seed: The seed for the random number generator (can be any integer number)

particles: The number of Voronoi particles (can be any number greater 5)

input-prefix: The path prefix of the input files if simulated annealing is done on a previously generated geometry (relative to the working directory, optional)

output-prefix: The path prefix for the output files (relative to the working directory, not the )

generate: If a voronoi geometry should be generated (can be true or false)

simulate: If simulated annealing should be performed on a voronoi geometry (can be true or false)

box-size: The size of the box containing the voronoi geometry to be generated (must be an array of 3 positive values)

box-origin: The origin of the box (must be an array of 3 values)

simulated-annealing: Options for simulated annealing (if needed)

mode: Simulated annealing mode (can be 1, 2 or "both")

max-iter: Maximum number of iterations (can be any positive integer)

max-subiter: Maximum number of sub-iterations (can be any positive integer)

weight-line: Line weight (can be any positive value)

weight-cosine: Cosine weight (can be any positive value)

tolerance: Tolerance (can be any positive value)

temperature-initial: Initial temperature (can be any positive value)

temperature-decay-rate: Temperature decay rate (can be any positive value)

max-movement-frac: Maximum movement fraction (can be any value between 0 and 1)

screen-output-every: After how many iterations screen output is produced (can be any positive integer)

num-bins-length: Number of bins per length (can be any positive integer)

num-bins-cosine: Number of bins per cosine (can be any positive integer)

Acknowledgements

This project uses the library voro++ by Chris Rycroft from University of California, through Lawrence Berkeley National Laboratory, for the generation of the voronoi geometry, which can be downloaded from http://math.lbl.gov/voro%2B%2B/.

bionetgen's People

Contributors

ga96vob avatar joekays avatar jonaseichinger avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.