A python binding of C++ package for stochastic simulations of spatially extended systems
Project description
pystospaboost
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 packages are installed 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pystospaboost-2.0.30.tar.gz
.
File metadata
- Download URL: pystospaboost-2.0.30.tar.gz
- Upload date:
- Size: 720.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fcac9eadd7f0b73cec608661a004ca98334c3492857a854b3b1109b256b0c83 |
|
MD5 | 6a2378db78abd4c2f654e93c68a101f2 |
|
BLAKE2b-256 | 57b107097ff8d7eea41d6da8d59874308612c48748c4b85aae4ea47936c85c3e |