{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Hudson Spring Embedder

# Hudson Spring Embedder - The Mathematics of ForceThe...

This preview shows page 1. Sign up to view the full content.

This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: The Mathematics of ForceThe Directed Placement Simulating Graphs as Physical Systems To Assist in Computer Chip Layout By Jamey Lewis, St. Michael’s College How do we convert… How …this… … into this? into The Problem The We have a graph of nodes and edges (gates and We wires in the computer chip). wires We need to find a good layout We for the graph that provides a geometric representation of its components and makes graph symmetry clearly visible. symmetry In industry there may be In constraints on the size of the components, but they may also simply need to be far enough apart to distinguish. enough The Solution The Simulate the graph or network as a physical model Simulate (masses and springs, for example) and subject it to physical forces. physical The unnecessarily-long edges The will be the most tense, and will try to contract the most. try When the nodes and edges When have pushed and pulled themselves to equilibrium, we will have a geometric representation of the graph in the plane. the The Spring Embedder The A model of masses and springs, corresponding to nodes model and edges on a graph, is called a Spring Embedder. and Spring forces exist between nodes and may attract or Spring repel depending on how contracted they are, and on how contracted they want to be (desired/ideal length). contracted Electrical forces may exist to repel nodes from one Electrical another, to keep them as far apart as constraints dictate, if spring repulsion is insufficient. spring The Spring Force The xv − xu ∑ E k (d ( pu , pv ) − luv ) d ( p , p ) ( u , v )∈ u v (1) uv The x-component of the Spring force equation on vertex v. The Spring The y-component equation mirrors this one. The force is applied to v by all springs (edges) between v The and another vertex. and k(1) : the stiffness of the spring between the two vertices the L : the resting length of the spring d(p1,p2) : the linear distance between the two vertices d(p x : the x-coordinate of a vertex’ position The Repulsive Force The xv − xu ∑ (d ( p , p ))2 d ( p , p ) ( u , v )∈VxV u v u v kuv ( 2) The x-component of the Repulsive force equation on vertex v. The Repulsive The y-component equation mirrors this one. The The force is applied to v by all other vertices (perhaps limited to merely those within a specific effective range). to k(2) : electrical repulsion constant between two vertices electrical d(p1,p2) : the linear distance between the two vertices d(p x : the x-coordinate of a vertex’ position An Example An Concerning the Barycentric Model Some Spring Embedders use a Gravitational force to attract all nodes toward the graph’s Barycenter (the average of all node positions) in order to show symmetry more clearly and keep loosely­connected groups of nodes from drifting. Others simulate this by creating at least 3 Fixed vertices on the edges of the graph and giving all edges an ideal length of 0, causing them to want to contract as long as they are able, counteracted only by the attraction from the fixed vertices. My Implementation Instead of directly implementing simulated Gravity, I chose to use the method of setting some but not all Ideal Edge Lengths to 0. This results in a graph that is sufficiently flexible to show off geometry, yet not unnecessarily bent towards the middle to produce a circular formation. However, I also retained the Repulsive forces that are not present in the 2nd method, so that fixed points would not be a requirement. A Problem: Oscillation Problem: One of the problems of Spring Embedder One implementation is of Oscillation, that is, when nodes move back and forth repetitively without ever stabilizing. move This happens because the application of forces in a This computer program occurs in steps and not continuously, and moving vertices are given the chance to move past their stable destinations in a single step, forcing them to move back and forth. move A form of oscillation that also occurs is Rotation, when form vertices continuously move in a circle. vertices The Solution: Temperature The A solution to this problem is to implement a solution “Temperature” for each vertex, acting as a factor for its movement. Hot = fast, cold = slow. Hot cold When traveling continuously in the same direction, a When Vertex’ temperature will increase and it will speed up. When Oscillation or Rotation are detected, the Vertex’ temperature will drop, and it will slow down. temperature Oscillation and Temperature Oscillation ∆yv θ = arctan( ) ∆xv The direction of the impulse of vertex v. After adjustment The based on which quadrant the movement is in, this can be used to determine if the new direction is over 90 degrees different from the old direction. different θ : the direction of the impulse of vertex v the Δ : the change in x or y position of vertex v the Oscillation and Temperature Oscillation Tv xv = ∆xv 100 The x-component of the movement of vertex v as affected The by Temperature. by The y-component equation mirrors this one. Δ : the change in x position of vertex v as a result of forces the T : the Temperature variable of vertex v, ranging from 0-100 Example Example One More Example One END END Thanks for listening! ...
View Full Document

{[ snackBarMessage ]}

### What students are saying

• As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

Kiran Temple University Fox School of Business ‘17, Course Hero Intern

• I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

Dana University of Pennsylvania ‘17, Course Hero Intern

• The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

Jill Tulane University ‘16, Course Hero Intern