emulsim is a framework for simulating physical systems consisting of multiple,
interacting droplets. The current focus of the package lies on simulating interacting
droplets in a common environment, but the framework is extensible and flexible.
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.
emulsim is available on pip, so you should be able to install it through pip:
pip install emulsimThe documentation for this package is available online
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.txtThe 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.