Although magnetic fields can be used to influence orientations of directed edges, force-directed and energy-controlled placement is mainly used for sparse, undirected graphs, e.g. symmetric relations. A typical example is the visualization of register collision graphs in compiler construction. If a compiler translates a program into machine code, it uses an infinite set of virtual processor registers at first. This is for simplicity of the code generation. Afterwards the virtual registers must be mapped to the limited number of real CPU registers. Here, the so called register collision graph helps: The nodes of this graph are the virtual registers. There is an (undirected) edge between two nodes if the life times of both virtual registers are overlapping. Register allocation is now done by coloring the graph with n colors representing n real CPU registers with the restraint that adjacent nodes must never get the same color. The problem of minimizing the number of colors (or the number of real CPU registers, resp.) is -complete, but there are good heuristics to solve this problem [WiMa95].
Figure 12: Register Collision Graph
Simulations of parallel programs often require the visualization of the parallel computer architecture. Because spring embedders often display symmetries, they are in particularly suitable for that. Fig. 13 shows some of these networks (see [AlGo89, Br93] for a description of these network topologies).