Skip to main content

A python binding of C++ package for stochastic simulations of spatially extended systems

Project description

pystospaboost

Build Status Documentation Status


A Python binding of a C++ software package for stochastic simulations of spatially extended systems, StoSpa2. Code-base has been completely refactored since the previous version of StoSpa. Python bindings have also been included.

Installation

Easy way

pip install pystospaboost

Hard way

After cloning the following repository

git clone https://github.com/BartoszBartmanski/StoSpa2.git --recursive

do the following

cd StoSpa2
python setup.py install

This way of installing pystospa assumes the following requirements are met

  • scikit-build
  • setuptools
  • wheel
  • cmake
  • boost

Example

Let's consider the following chemical reaction

A \rightarrow \emptyset

happening at rate k. The python code for this simulation is as follows

import pystospa as ss

v = ss.Voxel([100], 1.0)
r = ss.Reaction(1.0, lambda x, y : x[0], [-1])
v.add_reaction(r)

s = ss.Simulator([v])
s.run("example.dat", 0.01, 500)

After importing pystospa, we create the voxel and reaction objects with

v = ss.Voxel([100], 1.0)
r = ss.Reaction(1.0, lambda x, y : x[0], [-1])

and then we add the reaction object to the voxel object.

v.add_reaction(r)

And finally, we pass the voxel objects, contained in a list, to a simulator object

s = ss.Simulator([v])
s.run("example.dat", 0.01, 500)

and we invoke the run function of the Simulator class, to run a stochastic simulation saving the state every 0.01 seconds for 500 steps.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pystospaboost, version 2.0.19
Filename, size File type Python version Upload date Hashes
Filename, size pystospaboost-2.0.19-cp35-cp35m-manylinux2014_x86_64.whl (113.5 kB) File type Wheel Python version cp35 Upload date Hashes View hashes
Filename, size pystospaboost-2.0.19-cp36-cp36m-manylinux2014_x86_64.whl (113.5 kB) File type Wheel Python version cp36 Upload date Hashes View hashes
Filename, size pystospaboost-2.0.19-cp37-cp37m-manylinux2014_x86_64.whl (113.6 kB) File type Wheel Python version cp37 Upload date Hashes View hashes
Filename, size pystospaboost-2.0.19-cp38-cp38-manylinux2014_x86_64.whl (112.4 kB) File type Wheel Python version cp38 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page