Hi,

I am trying to learn ns2 for a 802.11 simulation and wrote a simple csma script.
I am using ns-2.27. I have a .tr file that outputs the results, but when the
nam animator window shows up, there are no nodes displayed and the window
crashes. An error in the shell says that node 2 and node 0 are undefined. Here
is the ns2 code I am trying to run. Hope someone can help.

Thanks,

Pupun Das

set val(chan)   Channel/WirelessChannel
set val(prop)   Propagation/TwoRayGround
set val(netif)  Phy/WirelessPhy
set val(mac)    Mac/802_11
set val(ant)    Antenna/OmniAntenna
set val(ll)     LL
set val(ifq)    Queue/DropTail/PriQueue
set val(ifqlen) 50
set val(rp)     DSR
set val(nn)     3

set ns_ [new Simulator]

$ns_ use-newtrace
set tracefd [open csma2.tr w]
$ns_ trace-all $tracefd
set nf [open csma2.nam w]
#$ns_ namtrace-all-wireless $nf  600 600
$ns_ namtrace-all $nf

proc finish {} {
     global ns_ nf
     global ns_ tracefd
     $ns_ flush-trace
     close $tracefd
     close $nf
     exec ../nam-1.10/nam csma2.nam &
     exit 0
}

create-god $val(nn)

set chan_ [new $val(chan)]

set topo [new Topography]
$topo load_flatgrid 500 500

$ns_ node-config -adhocRouting  $val(rp)\
                 -llType $val(ll) \
                 -macType $val(mac) \
                 -ifqType $val(ifq) \
                 -ifqLen $val(ifqlen) \
                 -antType $val(ant) \
                 -propType $val(prop) \
                 -phyType $val(netif) \
                 -channel $chan_ \
                 -topoInstance $topo \
                 -agentTrace ON \
                 -routerTrace OFF \
                 -macTrace OFF \
                 -movementTrace OFF

for {set i 0} {$i < $val(nn) } {incr i} {
    set WT($i) [$ns_ node]
    $WT($i) random-motion 0;
    $WT($i) set Y_ 0.0
    $WT($i) set Z_ 0.0
}

$WT(0) set X_ 0.0
$WT(1) set X_ 200.0
$WT(2) set X_ 400.0

set udp0 [new Agent/UDP]
set udp1 [new Agent/UDP]
set udp2 [new Agent/UDP]

set sink0 [new Agent/Null]
set sink1 [new Agent/Null]
set sink2 [new Agent/Null]

$ns_ attach-agent $WT(0) $udp0
$ns_ attach-agent $WT(1) $udp1
$ns_ attach-agent $WT(2) $udp2

$ns_ attach-agent $WT(0) $sink0
$ns_ attach-agent $WT(1) $sink1
$ns_ attach-agent $WT(2) $sink2

set cbr [new Application/Traffic/CBR]
$cbr set packetSize_ 1500
$cbr set interval_ 0.005
$cbr attach-agent $udp0
$cbr attach-agent $udp1
$cbr attach-agent $udp2

$ns_ connect $udp0 $sink1
$ns_ connect $udp1 $sink2
$ns_ connect $udp2 $sink0

$ns_ at 10.0 "$cbr start"
$ns_ at 120.0 "finish"
$ns_ run


Reply via email to