Dear User

I am attaching the code of 2 wired nodes, 8 base station nodes (4 on each side) 
and 20 mobile nodes (10 on each side).
Hopefully this will help you.

# ======================================================================
# 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)     20          ;# number of mobilenodes
set val(rp)     AODV              ;# routing protocol

set opt(x)      2052                  ;# x coordinate of topology
set opt(y)      152                 ;# y coordinate of topology
set opt(seed)   0.0                            ;# seed for random number gen.
set stopTime      100.00

set num_wired_nodes      2
set num_bs_nodes         8

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

# check for boundary parameters and random seed
if { $opt(x) == 0 || $opt(y) == 0 } {
    puts "No X-Y boundary values given for wireless topology\n"
}
if {$opt(seed) > 0} {
    puts "Seeding Random number generator with $opt(seed)\n"
    ns-random $opt(seed)
}

# Initialize Global Variables
# 
set ns_ [new Simulator]

# set up for hierarchical routing
$ns_ node-config -addressType hierarchical

AddrParams set domain_num_ 9           ;# number of domains
lappend cluster_num 2 1 1 1 1 1 1 1 1  ;# number of clusters in each domain
AddrParams set cluster_num_ $cluster_num
lappend eilastlevel 1 1 11 1 1 1 11 1 1 1       ;# number of nodes in each 
cluster 
AddrParams set nodes_num_ $eilastlevel ;# of each domain

set tracefd [open /media/Data\ 2/Highway/Highway1a.tr w]
$ns_ trace-all $tracefd
set f0 [open out1a.tr w]

set namtrace [open /media/Data\ 2/Highway/Highway1a.nam w]
$ns_ namtrace-all-wireless $namtrace $opt(x) $opt(y)



# set up topography object
set topo    [new Topography]
$topo load_flatgrid $opt(x) $opt(y)

# 
# Create God
#
#create-god $val(nn)
create-god [expr $val(nn) + $num_bs_nodes]

#create wired nodes
set temp {0.0.0 0.1.0}           ;# hierarchical addresses 
for {set i 0} {$i < $num_wired_nodes} {incr i} {
    set W($i) [$ns_ node [lindex $temp $i]] 
}


# Configure node

set chan_1_ [new $val(chan)]
$ns_ node-config -mobileIP ON \
         -adhocRouting $val(rp) \
          -llType $val(ll) \
          -macType $val(mac) \
          -ifqType $val(ifq) \
          -ifqLen $val(ifqlen) \
          -antType $val(ant) \
          -propType $val(prop) \
          -phyType $val(netif) \
          -topoInstance $topo \
         -wiredRouting ON \
          -agentTrace ON \
          -routerTrace OFF \
          -macTrace OFF \
          -movementTrace OFF \
          -channel $chan_1_

# Create HA and FA
set HA1 [$ns_ node 1.0.0]
set HA2 [$ns_ node 5.0.0]
set FA1_1 [$ns_ node 2.0.0]
set FA1_2 [$ns_ node 3.0.0]
set FA1_3 [$ns_ node 4.0.0]
set FA2_1 [$ns_ node 6.0.0]
set FA2_2 [$ns_ node 7.0.0]
set FA2_3 [$ns_ node 8.0.0]
$HA1 random-motion 0
$HA2 random-motion 0
$FA1_1 random-motion 0
$FA1_2 random-motion 0
$FA1_3 random-motion 0
$FA2_1 random-motion 0
$FA2_2 random-motion 0
$FA2_3 random-motion 0

$HA1 set X_ 270.000000000000
$HA1 set Y_ 100.000000000000
$HA1 set Z_ 0.000000000000

$FA1_1 set X_ 770.000000000000
$FA1_1 set Y_ 100.000000000000
$FA1_1 set Z_ 0.000000000000

$FA1_2 set X_ 1270.000000000000
$FA1_2 set Y_ 100.000000000000
$FA1_2 set Z_ 0.000000000000

$FA1_3 set X_ 1770.000000000000
$FA1_3 set Y_ 100.000000000000
$FA1_3 set Z_ 0.000000000000

$HA2 set X_ 1770.000000000000
$HA2 set Y_ 150.000000000000
$HA2 set Z_ 0.000000000000

$FA2_1 set X_ 1270.000000000000
$FA2_1 set Y_ 150.000000000000
$FA2_1 set Z_ 0.000000000000

$FA2_2 set X_ 770.000000000000
$FA2_2 set Y_ 150.000000000000
$FA2_2 set Z_ 0.000000000000

$FA2_3 set X_ 270.000000000000
$FA2_3 set Y_ 150.000000000000
$FA2_3 set Z_ 0.000000000000

#configure for mobilenodes
$ns_ node-config -wiredRouting OFF

set node_(0) [$ns_ node 1.0.1]
set HAaddress1 [AddrParams addr2id [$HA1 node-addr]]
[$node_(0) set regagent_] set home_agent_ $HAaddress1

set node_(2) [$ns_ node 1.0.2]
[$node_(2) set regagent_] set home_agent_ $HAaddress1

set node_(3) [$ns_ node 1.0.3]
[$node_(3) set regagent_] set home_agent_ $HAaddress1

set node_(5) [$ns_ node 1.0.4]
[$node_(5) set regagent_] set home_agent_ $HAaddress1

set node_(7) [$ns_ node 1.0.5]
[$node_(7) set regagent_] set home_agent_ $HAaddress1

set node_(10) [$ns_ node 1.0.6]
[$node_(10) set regagent_] set home_agent_ $HAaddress1

set node_(12) [$ns_ node 1.0.7]
[$node_(12) set regagent_] set home_agent_ $HAaddress1

set node_(14) [$ns_ node 1.0.8]
[$node_(14) set regagent_] set home_agent_ $HAaddress1

set node_(16) [$ns_ node 1.0.9]
[$node_(16) set regagent_] set home_agent_ $HAaddress1

set node_(18) [$ns_ node 1.0.10]
[$node_(18) set regagent_] set home_agent_ $HAaddress1

set node_(1) [$ns_ node 5.0.1]
set HAaddress2 [AddrParams addr2id [$HA2 node-addr]]
[$node_(1) set regagent_] set home_agent_ $HAaddress2

set node_(4) [$ns_ node 5.0.2]
[$node_(4) set regagent_] set home_agent_ $HAaddress2

set node_(6) [$ns_ node 5.0.3]
[$node_(6) set regagent_] set home_agent_ $HAaddress2

set node_(8) [$ns_ node 5.0.4]
[$node_(8) set regagent_] set home_agent_ $HAaddress2

set node_(9) [$ns_ node 5.0.5]
[$node_(9) set regagent_] set home_agent_ $HAaddress2

set node_(11) [$ns_ node 5.0.6]
[$node_(11) set regagent_] set home_agent_ $HAaddress2

set node_(13) [$ns_ node 5.0.7]
[$node_(13) set regagent_] set home_agent_ $HAaddress2

set node_(15) [$ns_ node 5.0.8]
[$node_(15) set regagent_] set home_agent_ $HAaddress2

set node_(17) [$ns_ node 5.0.9]
[$node_(17) set regagent_] set home_agent_ $HAaddress2

set node_(19) [$ns_ node 5.0.10]
[$node_(19) set regagent_] set home_agent_ $HAaddress2



# create links between wired and BaseStation nodes
#$ns_ duplex-link $W(0) $W(1) 5Mb 2ms DropTail
#$ns_ duplex-link $W(1) $HA1 5Mb 2ms DropTail
$ns_ duplex-link $W(0) $HA1 5Mb 2ms DropTail
$ns_ duplex-link $HA1 $FA1_1 5Mb 2ms DropTail
$ns_ duplex-link $FA1_1 $FA1_2 5Mb 2ms DropTail
$ns_ duplex-link $FA1_2 $FA1_3 5Mb 2ms DropTail
#$ns_ duplex-link $FA1_3 $HA2 5Mb 2ms DropTail
#$ns_ duplex-link $W(1) $HA2 5Mb 2ms DropTail
$ns_ duplex-link $W(0) $HA2 5Mb 2ms DropTail
$ns_ duplex-link $HA2 $FA2_1 5Mb 2ms DropTail
$ns_ duplex-link $FA2_1 $FA2_2 5Mb 2ms DropTail
$ns_ duplex-link $FA2_2 $FA2_3 5Mb 2ms DropTail

#$ns_ duplex-link-op $W(0) $W(1) orient down
#$ns_ duplex-link-op $W(1) $HA1 orient left-down
$ns_ duplex-link-op $W(0) $HA1 orient left-down
$ns_ duplex-link-op $HA1 $FA1_1 orient left
$ns_ duplex-link-op $FA1_1 $FA1_2 orient left
$ns_ duplex-link-op $FA1_2 $FA1_3 orient left
#$ns_ duplex-link-op $FA1_3 $HA2 orient down
#$ns_ duplex-link-op $W(1) $HA2 orient left-down
$ns_ duplex-link-op $W(0) $HA2 orient left-down
$ns_ duplex-link-op $HA2 $FA2_1 orient right
$ns_ duplex-link-op $FA2_1 $FA2_2 orient right
$ns_ duplex-link-op $FA2_2 $FA2_3 orient right


$ns_ initial_node_pos $HA1 20
$ns_ initial_node_pos $FA1_1 20
$ns_ initial_node_pos $FA1_2 20
$ns_ initial_node_pos $FA1_3 20
$ns_ initial_node_pos $HA2 20
$ns_ initial_node_pos $FA2_1 20
$ns_ initial_node_pos $FA2_2 20
$ns_ initial_node_pos $FA2_3 20

$ns_ at $stopTime "$HA1 reset";
$ns_ at $stopTime "$FA1_1 reset";
$ns_ at $stopTime "$FA1_2 reset";
$ns_ at $stopTime "$FA1_3 reset";
$ns_ at $stopTime "$HA2 reset";
$ns_ at $stopTime "$FA2_1 reset";
$ns_ at $stopTime "$FA2_2 reset";
$ns_ at $stopTime "$FA2_3 reset";

Best Regards

Shahid H Abbassi

> Date: Thu, 24 May 2012 10:59:59 -0700
> From: wise_...@yahoo.com
> To: ns-users@ISI.EDU
> Subject: [ns]  tutorials or codes on dynamic cluster formation
> 
> 
> 
> Hello all,
> I am working on clustering nodes and selecting cluster heads using mobile
> nodes, I would appreciate if i can be provided with any tutorials or sample
> codes on formation of clusters.
> Thank you
> -- 
> View this message in context: 
> http://old.nabble.com/tutorials-or-codes-on-dynamic-cluster-formation-tp33903550p33903550.html
> Sent from the ns-users mailing list archive at Nabble.com.
> 
                                          

Reply via email to