Static Organic layout

The Static Organic layout is a basic spring-embedder layout that models and simulates the graph as a chemical system (atoms) to achieve aesthetically pleasing results. Two versions of this layout are provided. The first is a static version that performs silent iterations to return a final results (results in each iteration are not displayed). The other (not available on the Visualizer) is an animated version that performs progressive layout where nodes and edges updates are visually shown in the renderer at each loop and within discrete time slots.

The layout processing is trivial. In fact, graph edges are modeled as electrical attraction (just like springs) and all nodes are modeled as bodies having an electrical repulsion between them. The resulting graph is obtained by computing the forces on each node and iterating the system in discrete time steps. The forces are applied to each node and the positions are updated accordingly. The algorithm performs repetitive iterations until a stability condition are met (slow nodes motion and low energy or damping factor). In each iteration graph forces are calculated, nodes positions are updated according to these computed forces and graph temperature is cooled.

Repulsive forces computation and iterations make this layout very expensive and slow, that's why we usually use this layout for animated force directed layout and apply it to small graphs (<100 nodes). To partially handle this problem, stability limit (reduce iterations number), motion limit (for animated version, in each iteration, a node is allowed to have a displacement limit) and link rigidity can be accessed to tune up layout performance while losing slightly some aesthetics in the generated embedding. The bigger link rigidity, motion limit and stability limit are, faster the algorithm is and lower the layout output quality is.

The layout is suited for the dynamic visualization in some chemistry applications, web analysis/visualization, and dynamic data/tree/mesh visualization.. It must be noted that this layout may be very slow if the manipulated data structures (graphs) have more than 200 nodes. A solution is to decrease the stability limit, increase the edges rigidity and increase motion limit.

This print screen shows an example the static organic layout representation: