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¶
Woo is a python-importable module. You can do
import wooin any Python script.Written in
c++11.Supports additional serialization formats, some of them human-readable.
Properly organized in python modules:
woo.core,woo.demand so on.Python’s standard setuptools can be used to build Woo, both under Windows and Linux.
Windows installer is provided (http://launchpad.net/woo/+download)
Simulation differences¶
Many features in Yade are not newly implemented, such as contact models.
Each particle is defined via
Node(or several nodes), which can be shared among particles.woo.dem.DemFieldis only one of fields, which take part in the simulation; eachwoo.core.Enginecan operate on several fields, if desired.Contacts define local coordinates (via contact node), and their geometry is handles uniformly.
Unlimited number of
woo.core.Sceneobjects, which can run in parallel. The one manipulated with the UI is alwayswoo.master.scene.
User interface¶
Rendering code is moved away from
woo.gl.Rendererto appropriate functors.Nodes define
woo.gl.NodeGlRepfor their own representation in OpenGL.Enhanced inspection and manipulation of objects through the UI – choices, bitfields, arrays, hiding attributes.
Pure-python classes deriving from
woo.core.Object, including user-iterface.Simulations (preprocessors) can define their custom UI for given problem.