Suppose I have some non-planar graph $G$ with fully specified edge lengths $(r_1,...,r_N) \in R$, but where I do not have specified coordinates for the vertices. I want to draw $G$ on a two dimensional surface by specifying the edges as springs of some length, having electrostatic repulsion between the vertices, and then doing something akin to simulated annealing.
Mathematica seems to have functionality for all of the above, but it doesn't let you specify edge lengths. Is there any software, in the public domain or not, that does all of this? I've tried Tulip and GraphViz. Tulip simply doesn't let you specify edge lengths, and Graphviz has very limited functionality in terms of specifying edge lengths and setting any sort of parameters for the simulated annealing step.
Update - I happen to know ahead of time that my particular set of edge lengths work! The graph was previously drawn on a two-dimensional plain, but I don't have access to the coordinates.
I suppose I'm really looking for a package that can simulate a two-dimensional network of balls and springs. Molecular dynamics software can do this, but the overhead there is enormous...
