1. A computer-implemented method for simulating a first object, a second object, and a coupling between the first object and the second object, said method comprising: (a) modeling, by a computer, each of the first and second objects as a plurality of segments, each segment having a plurality of nodes connected by one or more edges, wherein the plurality of nodes includes a first node of the first object and a second node of the second object; (b) dynamically assigning, by the computer, a first index to the first node of the first object and a second index to the second node of the second object, wherein the first and second indexes are based on a relative position of the first and second objects, wherein the first and second indexes are based on the coupling between the first object and the second object, and wherein dynamically assigning the first and second indexes is adapted to reduce a bandwidth of a linear system matrix in comparison to a prior indexing; (c) generating, by the computer, a linear system of equations based on the first and second indexes; (d) solving, by the computer, the linear system of equations: (e) updating, by the computer, a position of each of the plurality of nodes based on the solved linear system of equations, wherein the position of each of the plurality of nodes is used to simulate the first object and the second object; and (f) returning to (b) at least once.