Python framework for simulating physical systems consisting of multiple, interacting droplets.
Project description
emulsim
Framework for simulating physical systems consisting of multiple, interacting entities. The current focus of the package lies on simulating interacting droplets in a common environment, but the framework is extensible and flexible.
Main idea
The main idea is that the physical system consists of multiple elements, which
together describe the state of the system. The dynamical rules are encoded in actors,
which either act on individual elements, encoding their autonomous dynamics, or on
multiple elements, introducing couplings.
Installation
The package is not yet available on pip and must thus be cloned from Github. The
necessary python packages can be installed using pip. To install the package together
with the requirements, the following commands can be used:
git clone https://github.com/david-zwicker/emulsim.git
pip install -r emulsim/requirements.txt
Documentation
The documentation for this package is available online
Running tests
The package comes with automated tests that reside in tests directory. The purpose of
these tests is to ensure some basic functionality of the package. Consequently, it is
good practice to run the tests and fix problems before committing to the repository. To
run tests, first install the the necessary python modules:
pip install -r tests/requirements.txt
The tests can be run using pytest or using the convenient scripts collected in the
scripts directory:
tests_run.shruns all tests in sequential order. The script takes an optional argument that selects which tests are run: Only test files or methods that match the argument will be run.tests_parallel.shruns all tests in parallel. Also takes a pattern argument.tests_coverage.shchecks how much of the code is covered by tests.tests_types.shtests the type annotations in the python files. Type annotations are optional in python, but they can be helpful to spot subtle programming problems.format_code.shenforces the code style on all files.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file emulsim-0.5.0.tar.gz.
File metadata
- Download URL: emulsim-0.5.0.tar.gz
- Upload date:
- Size: 568.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e15dda2ec8dc2b951628dd872f31b009acd70a32b1d709b4568beaf65f08acad
|
|
| MD5 |
a8bf27d51bba784efa6867670bb590fb
|
|
| BLAKE2b-256 |
89a2151efd5b8956ec7f8bebbba5b36e625f8e22ad2dd5702a7d5b825f8f8454
|
File details
Details for the file emulsim-0.5.0-py3-none-any.whl.
File metadata
- Download URL: emulsim-0.5.0-py3-none-any.whl
- Upload date:
- Size: 100.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c8446f2ba9a43793d608ce7cb481c50f34ea713f41f835cd83e73d2743963b3
|
|
| MD5 |
ca95c544de1039572fd546dbb65e2cc2
|
|
| BLAKE2b-256 |
9fb5689931394f4eb4195b70f795ca7cee14751ca848f386947994813c5bd8b5
|