Skip to main content

Interactive physics simulation engine

Project description

Mechanica

Mechanica is an interactive particle based physics, chemistry and biology simulation environment, with a heavy emphasis towards enabling users to model and simulate complex sub-cellular and cellular biological physics problems. Mechanica is part of the Tellurium http://tellurium.analogmachine.org project.

Mechanica is designed first and foremost to enable users to work interactively with simulations – so they can build, and run a simulation in real-time, and interact with that simulation whilst it’s running. The goal is to create an SolidWorks type environment where users can create and explore virtual models of soft condensed matter physics, with a emphasis towards biological physics.

Mechanica is a native compiled C++ shared library with a native and extensive Python API, that’s designed to used from an ipython console (or via scripts of course).

History

Version Alpha 0.0.8

  • explicit Bond and Angle objects

  • new example apps

  • new square well potential to model constrained particles

  • bug fixes in potential

  • thread count in Simulator init

Version Alpha 0.0.7

  • lots of changes related to running in Spyder.

  • force windows of background process to forground

  • detect if running in IPython connsole – use different message loop

  • fix re-entrancy bugs in ipython message loop.

  • Spyder on Windows tested.

Version Alpha 0.0.6

  • lots of changes to simulation running / showing windows / closing windows, etc..

  • documentation updates

Version Alpha 0.0.5 Dev 1

  • Add documentation to event handlers, and example programs

  • fix bugs in creating event events

  • add version info to build system and make available as API.

Version Alpha 0.0.4 Dev 1

  • All new particle rendering based on instanced meshes. Rendering quality is dramatically improved. Now in a position to do all sorts of discrete elements like ellipsoids, bonds, rigid particles, etc…

  • Implement NOMStyle objects. This is essentially the CSS model, but for 3D applications. Each object has a ‘style’ property that’s a collection of all sorts of style attributes. The renderer looks at the current object, and chain of parent objects to find style attributes. Basically the CSS approach.

  • More demo applications.

  • Memory bugs resolved.

Version Alpha 0.0.3 Dev 1

  • Windows Build!

  • lots of portability updates

  • some memleak fixes

Version Alpha 0.0.2 Dev 5

  • lots of new documentation

  • reorganize utility stuff to utily file

  • add performance timing info to particle engine

  • add examples (multi-size particles, random force, epiboly, events with creation, destruction, mitosis, …)

  • new dynamics options, include both Newtonian (Velocity-Verlet) and over-damped.

  • new defaults to set space cell size, better threading

  • New explicit bond object

  • add creation time / age to particle

  • particle fission (mitosis) method (simple)

  • clean up potential flags

  • harmonic potential

  • new reactive potential to trigger (partial implementation)

  • random points function to create points for geometric regions

  • prime number generator

  • Fixed major bug in cell pair force calculation (was in wrong direction)

  • major bug fix in not making sure potential distance does not go past end of interpolation segments.

  • new random force

  • new soft-sphere interaction potential

  • add radius to particle type def

  • update renderer to draw different sized particles

  • add number of space cells to simulator constructor

  • configurable dynamics (Newtonian, Over-damped), more to come particle delete functionality, and fix particle events

  • examples bind events to destroy, creation and mitosis methods

  • new event model

Version Alpha 0.0.1 Dev 3

  • Refactoring of Particle python meta-types, simpler and cleaner

  • Upgrade to GLFW 3.3

  • New single body generalized force system

  • Berendsen thermostat as first example single body generalized forces

  • Per-type thermostat

  • Arc-ball user interaction

  • Simplify and eliminate redundancy between C++ and Python apps.

Version Alpha 0.0.1 Dev 2

  • First public release

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

mechanica-0.0.8.dev1-cp37-cp37m-win_amd64.whl (2.4 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

mechanica-0.0.8.dev1-cp37-cp37m-macosx_10_15_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.7m macOS 10.15+ x86-64

mechanica-0.0.8.dev1-cp37-cp37m-macosx_10_13_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.7m macOS 10.13+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page