How to find neighbor list in ns2
Solution:
# neighbor node calculation
set nbr [open Neighbor w]
puts $nbr "\t\t\t\t\tNeighbor Detail"
puts $nbr "\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
puts $nbr "\tNode\t\tNb node\t\tNode-Xpos\tNode-Ypos\tNb-Xpos\t\tNb-Ypos\t\tDistance(d)"
puts $nbr "\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
close $nbr
proc distance { n1 n2 nd1 nd2} {
global c n bnd src dst j0 j1
set a 0
set nbr [open Neighbor a]
set x1 [expr int([$n1 set X_])]
set y1 [expr int([$n1 set Y_])]
set x2 [expr int([$n2 set X_])]
set y2 [expr int([$n2 set Y_])]
set d [expr int(sqrt(pow(($x2-$x1),2)+pow(($y2-$y1),2)))]
if {$d<300} {
if {$nd2!=$nd1} {
puts $nbr "\t$nd1\t\t$nd2\t\t$x1\t\t$y1\t\t$x2\t\t$y2\t\t$d"
}
}
close $nbr
}
U can use above function to print neighbor node's of all nodes in ns2.
call the function"distance" to print neighbor list
for example,
for {set i 0} {$i <$val(nn)} {incr i} {
for {set j 0} {$j <$val(nn)} {incr j} {
$ns at 10.002 "distance $n($i) $n($j) $i $j"
}
}
here val(nn) denotes number of nodes.
Hi, Great site and very useful.
ReplyDeleteSir,
I need an awk script to figure out the ratio between the actual numbers of a node’s neighbors (i.e., neighbors in its transmission range) to those listed in the same node’s neieghbors-list. I’m working on GPSR routing protocol in NS2.
Have you got one or, if not, can you point me to where I might find one. Any help greatly appreciated,
Nashmi