hi Alexandra,

Attached is your tcl script after modifications,,,,,it should work for you
now,,,,by the way, I have enabled the new trace as well as nam,,,,,,,, As
for packet visualization, it is not supported yet,,,,,, to see the mobiles
movement you can run your simulation and then type:
nam simple.nam

to find more about new trace file, you can read chapter 16 of ns manual,,,,

best regards,
Ashraf Bourawy


# Alexandra.tcl
# A simple example for wireless simulation

# ======================================================================
# Define options
# ======================================================================
set val(chan)            Channel/WirelessChannel          ;# channel type
set val(prop)             Propagation/TwoRayGround      ;# radio-propagation
model
set val(netif)            Phy/WirelessPhy                       ;# network
interface type
set val(mac)            Mac/802_11                              ;# MAC type
set val(ifq)              Queue/DropTail/PriQueue           ;# interface
queue type
set val(ll)                 LL                                            ;#
link layer type
set val(ant)             Antenna/OmniAntenna                ;# antenna model
set val(ifqlen)          50                                             ;#
max packet in ifq
set val(nn)              2                                               ;#
number of mobilenodes
set val(rp)               DSDV                                        ;#
routing protocol

# ======================================================================
# Main Program
# ======================================================================

# Initialize Global Variables
#
set ns_         [new Simulator]

$ns_ use-newtrace
set tracefd     [open simple.tr w]
$ns_ trace-all $tracefd

set nf [open simple.nam w]
$ns_ namtrace-all-wireless $nf 500 500

# set up topography object
set topo       [new Topography]

$topo load_flatgrid 500 500
#
# Create God
#
create-god $val(nn)

# set new channel
set chan1_ [new $val(chan)]

#
#  Create the specified number of mobilenodes [$val(nn)] and "attach" them
#  to the channel.
#  Here two nodes are created : node(0) and node(1)

# configure node

        $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 $chan1_ \
                         -topoInstance $topo \
                         -agentTrace ON \
                         -routerTrace OFF \
                         -macTrace OFF \
                         -movementTrace OFF


for {set i 0} {$i < $val(nn) } {incr i} {
                set node_($i) [$ns_ node]
                $node_($i) random-motion 0              ;# disable random
motion
 }

#
# Provide initial (X,Y, for now Z=0) co-ordinates for mobilenodes
#
$node_(0) set X_ 5.0
$node_(0) set Y_ 2.0
$node_(0) set Z_ 0.0

$node_(1) set X_ 390.0
$node_(1) set Y_ 385.0
$node_(1) set Z_ 0.0

# ======================================================
# define mobiles initial position for nam
# ======================================================
for {set i 0} {$i < $val(nn)} {incr i} {

    $ns_ initial_node_pos $node_($i) 20
}

# ======================================================
# ======================================================

#
# Now produce some simple node movements
# Node_(1) starts to move towards node_(0)
#
$ns_ at 50.0 "$node_(1) setdest 25.0 20.0 15.0"
$ns_ at 10.0 "$node_(0) setdest 20.0 18.0 1.0"

# Node_(1) then starts to move away from node_(0)
$ns_ at 100.0 "$node_(1) setdest 490.0 480.0 15.0"

# Setup traffic flow between nodes
# TCP connections between node_(0) and node_(1)

set tcp [new Agent/TCP]
$tcp set class_ 2
set sink [new Agent/TCPSink]
$ns_ attach-agent $node_(0) $tcp
$ns_ attach-agent $node_(1) $sink
$ns_ connect $tcp $sink
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ns_ at 10.0 "$ftp start"

#
# Tell nodes when the simulation ends
#
for {set i 0} {$i < $val(nn) } {incr i} {
    $ns_ at 150.0 "$node_($i) reset";
}
$ns_ at 150.0 "stop"
$ns_ at 150.01 "puts \"NS EXITING...\" ; $ns_ halt"
proc stop {} {
    global ns_ tracefd
    $ns_ flush-trace
    close $tracefd
}

puts "Starting Simulation..."
$ns_ run

Reply via email to