© 2014 Firstsoft Technologies (P) Limited. login
Hi 'Guest'
Home SiteMap Contact Us Disclaimer
enggedu
HomeSource Code Network Simulator ► Wired ▼
Tcl script to construct complex wired network.

Description:

     This network consists of 26 nodes . The duplex link construction is very complex.Set the labels for every node. Setting orientation between nodes in very different way.

Code:

# Create a simulator object

set ns [new Simulator -multicast on]

# Open the nam trace file, associated with nf, log everything as nam output in nf

set nf [open out.nam w]

$ns namtrace-all $nf

set node_(n0) [$ns node]

set node_(n1) [$ns node]

set node_(n2) [$ns node]

set node_(n3) [$ns node]

set node_(n4) [$ns node]

set node_(n5) [$ns node]

set node_(n6) [$ns node]

set node_(n7) [$ns node]

set node_(n8) [$ns node]

set node_(n9) [$ns node]

set node_(n10) [$ns node]

set node_(n11) [$ns node]

set node_(n12) [$ns node]

set node_(n13) [$ns node]

set node_(n14) [$ns node]

set node_(n15) [$ns node]

set node_(n16) [$ns node]

set node_(n17) [$ns node]

set node_(n18) [$ns node]

set node_(n19) [$ns node]

set node_(n20) [$ns node]

set node_(n21) [$ns node]

set node_(n22) [$ns node]

set node_(n23) [$ns node]

set node_(n24) [$ns node]

set node_(n25) [$ns node]

#Create a duplex link between the nodes

$ns duplex-link $node_(n0) $node_(n2) 3.0Mb 10ms DropTail

$ns duplex-link $node_(n0) $node_(n1) 3.0Mb 10ms DropTail

$ns duplex-link $node_(n1) $node_(n3) 2.0Mb 10ms DropTail

$ns duplex-link $node_(n3) $node_(n4) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n3) $node_(n7) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n2) $node_(n5) 1.0Mb 10ms DropTail

$ns duplex-link $node_(n2) $node_(n6) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n0) $node_(n3) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n8) $node_(n9) 2.0Mb 10ms DropTail

$ns duplex-link $node_(n8) $node_(n10) 3.0Mb 10ms DropTail

$ns duplex-link $node_(n9) $node_(n11) 2.0Mb 10ms DropTail

$ns duplex-link $node_(n11) $node_(n12) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n11) $node_(n15) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n10) $node_(n13) 1.0Mb 10ms DropTail

$ns duplex-link $node_(n10) $node_(n14) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n8) $node_(n11) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n16) $node_(n18) 3.0Mb 10ms DropTail

$ns duplex-link $node_(n16) $node_(n17) 3.0Mb 10ms DropTail

$ns duplex-link $node_(n17) $node_(n19) 2.0Mb 10ms DropTail

$ns duplex-link $node_(n19) $node_(n20) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n19) $node_(n23) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n18) $node_(n21) 1.0Mb 10ms DropTail

$ns duplex-link $node_(n18) $node_(n22) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n16) $node_(n19) 1.5Mb 10ms DropTail

$ns duplex-link $node_(n24) $node_(n0) 3.0Mb 10ms DropTail

$ns duplex-link $node_(n24) $node_(n8) 3.0Mb 10ms DropTail

$ns duplex-link $node_(n25) $node_(n8) 3.0Mb 10ms DropTail

$ns duplex-link $node_(n16) $node_(n25) 3.0Mb 10ms DropTail

#setting orientation of links

$ns duplex-link-op $node_(n0) $node_(n3) orient down

$ns duplex-link-op $node_(n0) $node_(n1) orient left-down

$ns duplex-link-op $node_(n0) $node_(n2) orient right-down

$ns duplex-link-op $node_(n1) $node_(n3) orient right-down

$ns duplex-link-op $node_(n3) $node_(n4) orient left-down

$ns duplex-link-op $node_(n3) $node_(n7) orient right-down

$ns duplex-link-op $node_(n2) $node_(n5) orient right-down

$ns duplex-link-op $node_(n2) $node_(n6) orient right

$ns duplex-link-op $node_(n8) $node_(n11) orient down

$ns duplex-link-op $node_(n8) $node_(n9) orient left-down

$ns duplex-link-op $node_(n8) $node_(n10) orient right-down

$ns duplex-link-op $node_(n9) $node_(n11) orient right-down

$ns duplex-link-op $node_(n11) $node_(n12) orient left-down

$ns duplex-link-op $node_(n11) $node_(n15) orient right-down

$ns duplex-link-op $node_(n10) $node_(n13) orient right-down

$ns duplex-link-op $node_(n10) $node_(n14) orient right

$ns duplex-link-op $node_(n16) $node_(n19) orient down

$ns duplex-link-op $node_(n16) $node_(n17) orient left-down

$ns duplex-link-op $node_(n16) $node_(n18) orient right-down

$ns duplex-link-op $node_(n17) $node_(n19) orient right-down

$ns duplex-link-op $node_(n19) $node_(n20) orient left-down

$ns duplex-link-op $node_(n19) $node_(n23) orient right-down

$ns duplex-link-op $node_(n18) $node_(n21) orient right-down

$ns duplex-link-op $node_(n18) $node_(n22) orient right

$ns duplex-link-op $node_(n24) $node_(n0) orient left-down

$ns duplex-link-op $node_(n24) $node_(n8) orient right-down

$ns duplex-link-op $node_(n25) $node_(n8) orient left-down

$ns duplex-link-op $node_(n25) $node_(n16) orient right-down

$node_(n0) set X_ -57.6704

$node_(n0) set Y_ 74.9762

$node_(n0) set Z_ 0.0

$node_(n1) set X_ -74.9762

$node_(n1) set Y_ 50.9936

$node_(n1) set Z_ 0.0

$node_(n2) set X_ -36.0815

$node_(n2) set Y_ 48.2768

$node_(n2) set Z_ 0.0

$node_(n3) set X_ -56.8873

$node_(n3) set Y_ 38.8308

$node_(n3) set Z_ 0.0

$node_(n4) set X_ -76.5445

$node_(n4) set Y_ 10.1674

$node_(n4) set Z_ 0.0

$node_(n5) set X_ -38.0313

$node_(n5) set Y_ 7.9817

$node_(n5) set Z_ 0.0

$node_(n6) set X_ -19.8069

$node_(n6) set Y_ 7.9817

$node_(n6) set Z_ 0.0

$node_(n7) set X_ -57.8945

$node_(n7) set Y_ 10.2669

$node_(n7) set Z_ 0.0

$node_(n8) set X_ 39.0212

$node_(n8) set Y_ 74.9762

$node_(n8) set Z_ 0.0

$node_(n9) set X_ 8.07317

$node_(n9) set Y_ 50.9936

$node_(n9) set Z_ 0.0

$node_(n10) set X_ 88.6017

$node_(n10) set Y_ 50.9936

$node_(n10) set Z_ 0.0

$node_(n11) set X_ 37.3668

$node_(n11) set Y_ 50.9936

$node_(n11) set Z_ 0.0

$node_(n12) set X_ 16.88

$node_(n12) set Y_ 10.1674

$node_(n12) set Z_ 0.0

$node_(n13) set X_ 64.635

$node_(n13) set Y_ 27.4717

$node_(n13) set Z_ 0.0

$node_(n14) set X_ 86.0753

$node_(n14) set Y_ 7.9817

$node_(n14) set Z_ 0.0

$node_(n15) set X_ 45.6967

$node_(n15) set Y_ 29.2669

$node_(n15) set Z_ 0.0

$node_(n16) set X_ 148.967

$node_(n16) set Y_ 72.6919

$node_(n16) set Z_ 0.0

$node_(n17) set X_ 125.115

$node_(n17) set Y_ 49.8054

$node_(n17) set Z_ 0.0

$node_(n18) set X_ 183.037

$node_(n18) set Y_ 49.8054

$node_(n18) set Z_ 0.0

$node_(n19) set X_ 152.962

$node_(n19) set Y_ 50.868

$node_(n19) set Z_ 0.0

$node_(n20) set X_ 133.147

$node_(n20) set Y_ 10.096

$node_(n20) set Z_ 0.0

$node_(n21) set X_ 208.519

$node_(n21) set Y_ 11.5933

$node_(n21) set Z_ 0.0

$node_(n22) set X_ 183.386

$node_(n22) set Y_ 10.0766

$node_(n22) set Z_ 0.0

$node_(n23) set X_ 161.768

$node_(n23) set Y_ 10.4865

$node_(n23) set Z_ 0.0

$node_(n24) set X_ -10.6704

$node_(n24) set Y_ 100.9762

$node_(n24) set Z_ 0.0

$node_(n25) set X_ 100.00

$node_(n25) set Y_ 100.9762

$node_(n25) set Z_ 0.0

$ns at 0.0 "$node_(n0) label S"

$ns at 0.0 "$node_(n1) label N1"

$ns at 0.0 "$node_(n2) label N3"

$ns at 0.0 "$node_(n3) label N2"

$ns at 0.0 "$node_(n4) label R1"

$ns at 0.0 "$node_(n7) label R2"

$ns at 0.0 "$node_(n5) label R3"

$ns at 0.0 "$node_(n6) label R4"

$ns at 0.0 "$node_(n8) label S"

$ns at 0.0 "$node_(n9) label N1"

$ns at 0.0 "$node_(n10) label N3"

$ns at 0.0 "$node_(n11) label N2"

$ns at 0.0 "$node_(n12) label R1"

$ns at 0.0 "$node_(n13) label R2"

$ns at 0.0 "$node_(n14) label R3"

$ns at 0.0 "$node_(n15) label R4"

$ns at 0.0 "$node_(n16) label S"

$ns at 0.0 "$node_(n17) label N1"

$ns at 0.0 "$node_(n18) label N3"

$ns at 0.0 "$node_(n19) label N2"

$ns at 0.0 "$node_(n20) label R1"

$ns at 0.0 "$node_(n21) label R2"

$ns at 0.0 "$node_(n22) label R3"

$ns at 0.0 "$node_(n23) label R4"

$ns at 0.0 "$node_(n24) label Overlay"

$ns at 0.0 "$node_(n25) label Overlay"

$ns color 1 blue

# Define a 'finish' procedure

proc finish {} {

global ns nf

$ns flush-trace

#Close the trace file

close $nf

#Execute nam on the trace file

exec nam out.nam &

exit 0

}

#Call the finish procedure after 5 seconds of simulation time

$ns at 5.0 "finish"

# Run the simulation

$ns run

Screen shows the critical node connection:

 

 

SLogix Student Projects

⇓Student Projects⇓
⇑Student Projects⇑
bottom