Woo for seasoned Yade users

Woo is an evolution of Yade and inherits some of its code and much of its ideas. We attempt to list key differences, which should help you get started with Woo, if you already have a good experience with Yade.

Code differences

  1. Woo is a python-importable module. You can do import woo in any Python script.

  2. Written in c++11.

  3. Supports additional serialization formats, some of them human-readable.

  4. Properly organized in python modules: woo.core, woo.dem and so on.

  5. Python’s standard setuptools can be used to build Woo, both under Windows and Linux.

  6. Windows installer is provided (http://launchpad.net/woo/+download)

Simulation differences

  1. Many features in Yade are not newly implemented, such as contact models.

  2. Each particle is defined via Node (or several nodes), which can be shared among particles.

  3. woo.dem.DemField is only one of fields, which take part in the simulation; each woo.core.Engine can operate on several fields, if desired.

  4. Contacts define local coordinates (via contact node), and their geometry is handles uniformly.

  5. Unlimited number of woo.core.Scene objects, which can run in parallel. The one manipulated with the UI is always woo.master.scene.

User interface

  1. Rendering code is moved away from woo.gl.Renderer to appropriate functors.

  2. Nodes define woo.gl.NodeGlRep for their own representation in OpenGL.

  3. Enhanced inspection and manipulation of objects through the UI – choices, bitfields, arrays, hiding attributes.

  4. Pure-python classes deriving from woo.core.Object, including user-iterface.

  5. Simulations (preprocessors) can define their custom UI for given problem.

Batch processing

  1. XLS format supported at the input side.

  2. Results from each job can be saved to sqlite database, and are automatically converted to XLS file.

  3. Report-generation facilites.


Report issues or inclarities to github.