## 2 Theory of Virtual-Spring-Force Algorithms
### Original Virtual-Spring-Force Algorithm  
Communication range \(R_{c}\) and sensing range \(R_{s}\) are the characteristic parameters of each sensor. In a perfect hexagon topology, equilibrium distance \(D_{m}\) between two neighbor nodes should be \(\sqrt{3}R_{s}\). Therefore, communication range \(R_{c}\) is usually larger than \(\sqrt{3}R_{s}\). At the beginning of the deployment process, all \(N\) nodes in a wireless sensor network were randomly deployed in the target region whose area was \(S\) and the center was located at (0,0). The location of each sensor \(n_{i}\) (\(i=0,1,...,N-1\)) is given by a vector \(\vec{x}_{i}(t)\) (\(\vec{x}_{i}(t)\) also indicates the position of node \(i\) at time \(t\)). Vector \(\vec{d}_{ij}(t)\) indicates the distance between node \(i\) and node \(j\) at time \(t\). The force on node \(i\) at time \(t\) is driven by the Newton motion law:  
\[m\frac{d^{2}\vec{x}_{i}(t)}{dt^{2}}=\vec{F}_{i}(t) \tag{1}\]  
where \(m\) is the mass of a sensor node, and \(\vec{F}_{i}(t)\) is the resultant force. \(\vec{F}_{i}(t)\) can be defined as the sum of three components:  
\[\vec{F}_{i}(t)=\vec{F}_{i}^{e}(t)+\vec{F}_{i}^{f}(t)+\vec{F}_{i}^{ce}(t) \tag{2}\]  
where \(\vec{F}_{i}^{e}(t)\) is the virtual spring force, \(\vec{F}_{i}^{f}(t)\) is the damping force, and \(\vec{F}_{i}^{ce}(t)\) is the centripetal force. Generally, spring forces are established between pairs of sensor nodes if one node has no other nodes in the upper and lower 60 degree sectors with another node, and their distance is smaller than \(R_{c}\). Here, \(\vec{x}_{ij}(t)=(\vec{x}_{j}(t)-\vec{x}_{i}(t))/d_{ij}(t)\) is the normalized vector from node \(i\) to \(j\). If the set of possible node \(j\) acting with virtual forces on node \(i\) (\(d_{ij}(t)<R_{c}\)) is expressed by \(\Phi_{i}(t)\), the corresponding total spring force of node \(i\) is  
\[\vec{F}_{i}^{e}(t)=\sum_{j\in\Phi_{i}(t)}\kappa(d_{ij}(t)-D_{m})\vec{x}_{ij}(t) \tag{3}\]  
where \(\kappa\) is the spring coefficient. Damping force \(\vec{F}_{i}^{f}(t)\) is defined as  
\[\vec{F}_{i}^{f}(t)= \begin{cases}-\min(\gamma_{0}\vec{x}_{0}(t),\ \vec{F}_{i}^{e}(t)+\vec{F}_{i}^{ce}(t)),\ \ \mbox{when}\ \ d\vec{x}_{0}(t)/dt=0\\ -\gamma d\vec{x}_{i}(t)/dt,\ \ \mbox{otherwise}\end{cases} . \tag{4}\]  
Damping force reduces the elastic potential energy for the whole network and accelerates the convergence of the node deployment. The upper formula is the case when a sensor node approaches a quasiequilibrium state since the node velocity \(\vec{v}=d\vec{x}_{0}(t)/dt=0\). In such a case, the damping force equals to \(-(\vec{F}_{i}^{e}(t)+\vec{F}_{i}^{ce}(t))\) (force balance) or \(-(\gamma_{0}\vec{x}_{0}(t))\). Once the damping of the spring oscillator is absent, the oscillator should work in a simple harmonic vibration state; \(\omega_{0}\) is the natural vibration frequency, and \(\gamma_{0}\) is the natural damping coefficient. The lower formula is the case during the algorithm processing. In such a case, damping force is related to node velocity and \(\gamma\) is the given damping coefficient. Let \(\kappa/m=\omega_{0}^{2}\) and \(\gamma/m=2\beta\), where \(\beta\) is the real vibration frequency, related to the damping effect. Usually, damping force strengthens with the increase of \(\beta\). New quantity \(\varepsilon\) is defined as \(\varepsilon=\gamma/(2\sqrt{\kappa m})\). When \(\varepsilon=1\) and \(\beta=\omega_{0}\), the sensor network operates in a critical damping condition. Elastic potential energy decreases due to the damping force, and the system quickly converges to an equilibrium state without unnecessary vibration or energy consumption. Under this circumstance, the critical value of parameter \(\gamma_{critical}=2\sqrt{\kappa m}\). Reference [14] has already discussed the influence of damping coefficient \(\gamma\) on the virtual-spring-force algorithm. They tried a fixed \(\gamma\) during all deployment and also varied the \(\gamma\) in different stages of deployment process.