Numerous - an object-oriented modelling and simulation engine.
Project description
Numerous — an object-oriented modelling and simulation engine
Reasons for developing a python-based object-oriented simulation engine
The arguments for a python simulation engine are numerous:
- In order to take advantage of cloud based computing power a run-anywhere solution is preferred
- Open-source to eliminate the need of complex licenses for deploying thousands of simulations
- Direct connection with machine-learning and artificial intelligence libraries through the most popular programming language for data science
- Leveraging packages from the vast community seamlessly
Philosophy and Motivation for Object-Oriented Modelling
As systems becomes complex the number of equations and variables grow fast and the overview is lost for the model developer. The idea behind this engine is to allow the model developer focus on one familiar object at a time and setup simulations for validation – and then combine these objects together to form complex interacting systems in a simple way where all the general tedious work is handled by the engine.
Quick start
To install using pip use pip install numerous-engine
You can get started quickly here with a simple example:
from numerous.engine import model, simulation
from numerous.examples.dampened_oscillator import OscillatorSystem
#Define simulation
s = simulation.Simulation(
model.Model(OscillatorSystem('system')),
t_start=0, t_stop=10, num=100, num_inner=100, max_step=0.1
)
#Solve and plot
s.solve()
s.model.historian.df.plot()
Or follow one of our comprehensive tutorials:
- Bouncing_Ball a model of a ball dropping from a certain height and bouncing off the ground, until it finally comes to rest
- Two_Tanks_System two tanks are placed on top of each other and connected by a valve.
Documentation can be found on readthedocs.
Or you can get familiar with the concepts we have used to abstract away building complex interacting systems right inside python.
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
File details
Details for the file numerous-engine-0.0.6.tar.gz
.
File metadata
- Download URL: numerous-engine-0.0.6.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60896a2f3b0aa9f5340547d3ed162d5b18849db7734c7aa3e4882fafce223565 |
|
MD5 | aadf3c9d26d382dc50065ca759a9907e |
|
BLAKE2b-256 | f67d0cd5039f44d787ad9f6411751e1156b22b9948eb6f1acb0b10eadb437b86 |
File details
Details for the file numerous_engine-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: numerous_engine-0.0.6-py3-none-any.whl
- Upload date:
- Size: 31.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd8f0524c3b29462c28635774c675217e75f88ccf8cc0b8a786f0e905151ae2b |
|
MD5 | 726274aff9bc7071833e06e8daf56514 |
|
BLAKE2b-256 | 83cfc7bff0eb10013d3959160823638add91696d359773eb3dfa6298bfe7b9b0 |