Thursday, April 22, 2010

Ns2 code

# Preamble
set ns [new Simulator]

# Tell the simulator to use dynamic routing
$ns rtproto DV
Agent/rtProto/DV set advertInterval 1.0
Agent/rtProto/DV set INFINITY 100

# Set ns color indices
$ns color 0 blue
$ns color 1 black
$ns color 2 turquoise
$ns color 3 orange
$ns color 4 gold
$ns color 5 red


# Open trace files
set f [open SIM.tr w]
$ns trace-all $f
set nf [open SIM.nam w]
$ns namtrace-all $nf


proc finish {} {
global ns f nf
$ns flush-trace
close $nf
close $f
puts "running nam"
exit 0
}


# Create 13 routers
for {set i 0} {$i < 13} {incr i} {
set r($i) [$ns node]
}

# Create 30 pc
for {set i 13} {$i < 43} {incr i} {
set pc($i) [$ns node]
}

for {set i 0} {$i < 13} {incr i} {
$r($i) shape hexagon
$r($i) color green
}

for {set i 13} {$i < 43} {incr i} {
$pc($i) color blue
}





# Create duplex links
$ns duplex-link $r(0) $pc(13) 1Mb 50ms DropTail
$ns duplex-link $r(0) $pc(14) 1Mb 50ms DropTail
$ns duplex-link $r(0) $pc(15) 1Mb 50ms DropTail
$ns duplex-link $r(0) $r(1) 2Mb 50ms DropTail
$ns duplex-link $r(0) $r(5) 2Mb 50ms DropTail
$ns duplex-link $r(1) $pc(16) 1Mb 50ms DropTail
$ns duplex-link $r(1) $pc(17) 1Mb 50ms DropTail
$ns duplex-link $r(1) $pc(18) 1Mb 50ms DropTail
$ns duplex-link $r(1) $r(2) 2Mb 50ms DropTail
$ns duplex-link $r(1) $r(6) 10Mb 50ms DropTail
$ns duplex-link $r(2) $pc(19) 1Mb 50ms DropTail
$ns duplex-link $r(2) $pc(20) 1Mb 50ms DropTail
$ns duplex-link $r(2) $pc(21) 1Mb 50ms DropTail
$ns duplex-link $r(2) $r(3) 2Mb 50ms DropTail
$ns duplex-link $r(2) $r(7) 10Mb 50ms DropTail
$ns duplex-link $r(3) $pc(22) 1Mb 50ms DropTail
$ns duplex-link $r(3) $pc(23) 1Mb 50ms DropTail
$ns duplex-link $r(3) $pc(24) 1Mb 50ms DropTail
$ns duplex-link $r(3) $r(4) 2Mb 50ms DropTail
$ns duplex-link $r(3) $r(8) 10Mb 50ms DropTail
$ns duplex-link $r(4) $pc(25) 1Mb 50ms DropTail
$ns duplex-link $r(4) $pc(26) 1Mb 50ms DropTail
$ns duplex-link $r(4) $pc(27) 1Mb 50ms DropTail
$ns duplex-link $r(4) $r(9) 2Mb 50ms DropTail
$ns duplex-link $r(5) $pc(28) 1Mb 50ms DropTail
$ns duplex-link $r(5) $pc(29) 1Mb 50ms DropTail
$ns duplex-link $r(5) $pc(30) 1Mb 50ms DropTail
$ns duplex-link $r(5) $r(6) 10Mb 50ms DropTail
$ns duplex-link $r(6) $r(7) 10Mb 50ms DropTail
$ns duplex-link $r(6) $r(10) 10Mb 50ms DropTail
$ns duplex-link $r(7) $r(8) 10Mb 50ms DropTail
$ns duplex-link $r(7) $r(11) 10Mb 50ms DropTail
$ns duplex-link $r(8) $r(9) 10Mb 50ms DropTail
$ns duplex-link $r(8) $r(12) 10Mb 50ms DropTail
$ns duplex-link $r(9) $pc(31) 1Mb 50ms DropTail
$ns duplex-link $r(9) $pc(32) 1Mb 50ms DropTail
$ns duplex-link $r(9) $pc(33) 1Mb 50ms DropTail
$ns duplex-link $r(10) $r(11) 2Mb 50ms DropTail
$ns duplex-link $r(10) $pc(34) 1Mb 50ms DropTail
$ns duplex-link $r(10) $pc(35) 1Mb 50ms DropTail
$ns duplex-link $r(10) $pc(36) 1Mb 50ms DropTail
$ns duplex-link $r(11) $r(12) 2Mb 50ms DropTail
$ns duplex-link $r(11) $pc(37) 1Mb 50ms DropTail
$ns duplex-link $r(11) $pc(38) 1Mb 50ms DropTail
$ns duplex-link $r(11) $pc(39) 1Mb 50ms DropTail
$ns duplex-link $r(12) $pc(40) 1Mb 50ms DropTail
$ns duplex-link $r(12) $pc(41) 1Mb 50ms DropTail
$ns duplex-link $r(12) $pc(42) 1Mb 50ms DropTail



# Orient the nodes
$ns duplex-link-op $r(0) $pc(13) orient 165deg
$ns duplex-link-op $r(0) $pc(14) orient 180deg
$ns duplex-link-op $r(0) $pc(15) orient 195deg
$ns duplex-link-op $r(0) $r(1) orient 0deg
$ns duplex-link-op $r(0) $r(5) orient 270deg
$ns duplex-link-op $r(1) $pc(16) orient 105deg
$ns duplex-link-op $r(1) $pc(17) orient 90deg
$ns duplex-link-op $r(1) $pc(18) orient 75deg
$ns duplex-link-op $r(1) $r(2) orient 0deg
$ns duplex-link-op $r(1) $r(6) orient 270deg
$ns duplex-link-op $r(2) $pc(19) orient 105deg
$ns duplex-link-op $r(2) $pc(20) orient 90deg
$ns duplex-link-op $r(2) $pc(21) orient 75deg
$ns duplex-link-op $r(2) $r(3) orient 0deg
$ns duplex-link-op $r(2) $r(7) orient 270deg
$ns duplex-link-op $r(3) $pc(22) orient 105deg
$ns duplex-link-op $r(3) $pc(23) orient 90deg
$ns duplex-link-op

in reference to: [ns] black hole simulation (view on Google Sidewiki)

No comments: