Hello,

I am working with ad hoc protocols in point-to-multipoint and
multipoint-to-point scenario with 1, 2, 5, 10, 20 and 50 nodes. The
simulation take 1020 seconds.

With few nodes, there is no problem.  But with 20 and 50 nodes, the
segmentation fault occurs with 400, 600, 800 seconds.  Anybody has any
idea?

I am appending a shell script file and the TCL file.

Thanks in advance.

Etienne Oliveira

# ==================================================================
# Define options
# ===================================================================
set opt(chan)           Channel/WirelessChannel
set opt(prop)           Propagation/TwoRayGround
set opt(netif)          Phy/WirelessPhy
set opt(mac)            Mac/802_11
set opt(ll)             LL
set opt(ant)            Antenna/OmniAntenna
set opt(ifqlen)         50      ;# max packet in ifq

set opt(filters)         DSR
set opt(adhocRouting)    DSR
set opt(ifq)             CMUPriQueue
set opt(x)              1898
set opt(y)              770
set opt(nn)             51
set opt(stop)           1020
set opt(tr)             "wireless.tr"
set opt(sndr)           50
set opt(rcvr)           1


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

$opt(mac) set dataRate_ 11Mb
$opt(mac) set basicRate_ 11Mb

LL set mindelay_                50us
LL set delay_                   25us
LL set bandwidth_               0       ;# not used

#Queue/DropTail/PriQueue set Prefer_Routing_Protocols    1

# unity gain, omni-directional antennas
# set up the antennas to be centered in the node and 1.5 meters above it
Antenna/OmniAntenna set X_ 0
Antenna/OmniAntenna set Y_ 0
Antenna/OmniAntenna set Z_ 1.5
Antenna/OmniAntenna set Gt_ 1.0
Antenna/OmniAntenna set Gr_ 1.0

# Initialize the SharedMedia interface with parameters to make
# it work like the 914MHz Lucent WaveLAN DSSS radio interface
Phy/WirelessPhy set CPThresh_ 10.0
Phy/WirelessPhy set CSThresh_ 1.559e-11
Phy/WirelessPhy set RXThresh_ 3.652e-10
Phy/WirelessPhy set Rb_ 2*1e6
Phy/WirelessPhy set Pt_ 0.2818
Phy/WirelessPhy set freq_ 914e+6
Phy/WirelessPhy set L_ 1.0

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

#
# Initialize Global Variables
#

set ns_         [new Simulator]
set topo        [new Topography]

set tracefd     [open $opt(tr) w]
$ns_ trace-all $tracefd

$topo load_flatgrid $opt(x) $opt(y)

# [... + 2] Problema no DSR - Resposta no google
set god_ [create-god [expr $opt(nn) + 2]]

#
# Global node setting
#

$ns_ node-config -adhocRouting $opt(adhocRouting) \
                 -llType $opt(ll) \
                 -macType $opt(mac) \
                 -ifqType $opt(ifq) \
                 -ifqLen $opt(ifqlen) \
                 -antType $opt(ant) \
                 -propType $opt(prop) \
                 -phyType $opt(netif) \
                 -channelType $opt(chan) \
                 -topoInstance $topo \
                 -agentTrace ON \
                 -routerTrace OFF \
                 -macTrace ON

#  Create the specified number of nodes [$opt(nn)] and "attach" them
#  to the channel.

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

#
# Scennario File
#

$node_(0) set X_ 949.00
$node_(0) set Y_ 385.00
$node_(0) set Z_ 0.0
$node_(1) set X_ 1635.91
$node_(1) set Y_ 662.36
$node_(1) set Z_ 0.0
$node_(2) set X_ 1459.13
$node_(2) set Y_ 139.45
$node_(2) set Z_ 0.0
$node_(3) set X_ 280.60
$node_(3) set Y_ 697.29
$node_(3) set Z_ 0.0
$node_(4) set X_ 1861.14
$node_(4) set Y_ 214.13
$node_(4) set Z_ 0.0
$node_(5) set X_ 1736.59
$node_(5) set Y_ 582.57
$node_(5) set Z_ 0.0
$node_(6) set X_ 1005.10
$node_(6) set Y_ 58.01
$node_(6) set Z_ 0.0
$node_(7) set X_ 1252.78
$node_(7) set Y_ 300.35
$node_(7) set Z_ 0.0
$node_(8) set X_ 1565.76
$node_(8) set Y_ 219.67
$node_(8) set Z_ 0.0
$node_(9) set X_ 1513.90
$node_(9) set Y_ 92.29
$node_(9) set Z_ 0.0
$node_(10) set X_ 1522.73
$node_(10) set Y_ 653.42
$node_(10) set Z_ 0.0
$node_(11) set X_ 1410.50
$node_(11) set Y_ 148.86
$node_(11) set Z_ 0.0
$node_(12) set X_ 1081.79
$node_(12) set Y_ 620.04
$node_(12) set Z_ 0.0
$node_(13) set X_ 917.08
$node_(13) set Y_ 688.20
$node_(13) set Z_ 0.0
$node_(14) set X_ 846.38
$node_(14) set Y_ 554.51
$node_(14) set Z_ 0.0
$node_(15) set X_ 152.46
$node_(15) set Y_ 48.60
$node_(15) set Z_ 0.0
$node_(16) set X_ 1561.04
$node_(16) set Y_ 559.50
$node_(16) set Z_ 0.0
$node_(17) set X_ 1316.64
$node_(17) set Y_ 585.48
$node_(17) set Z_ 0.0
$node_(18) set X_ 1529.37
$node_(18) set Y_ 407.81
$node_(18) set Z_ 0.0
$node_(19) set X_ 1824.51
$node_(19) set Y_ 38.28
$node_(19) set Z_ 0.0
$node_(20) set X_ 1601.04
$node_(20) set Y_ 305.16
$node_(20) set Z_ 0.0
$node_(21) set X_ 1027.40
$node_(21) set Y_ 240.27
$node_(21) set Z_ 0.0
$node_(22) set X_ 25.83
$node_(22) set Y_ 94.53
$node_(22) set Z_ 0.0
$node_(23) set X_ 711.84
$node_(23) set Y_ 500.07
$node_(23) set Z_ 0.0
$node_(24) set X_ 831.15
$node_(24) set Y_ 546.09
$node_(24) set Z_ 0.0
$node_(25) set X_ 1464.74
$node_(25) set Y_ 639.35
$node_(25) set Z_ 0.0
$node_(26) set X_ 945.21
$node_(26) set Y_ 311.39
$node_(26) set Z_ 0.0
$node_(27) set X_ 1448.44
$node_(27) set Y_ 182.57
$node_(27) set Z_ 0.0
$node_(28) set X_ 867.61
$node_(28) set Y_ 331.38
$node_(28) set Z_ 0.0
$node_(29) set X_ 1321.06
$node_(29) set Y_ 491.15
$node_(29) set Z_ 0.0
$node_(30) set X_ 918.63
$node_(30) set Y_ 2.40
$node_(30) set Z_ 0.0
$node_(31) set X_ 1263.59
$node_(31) set Y_ 403.58
$node_(31) set Z_ 0.0
$node_(32) set X_ 717.60
$node_(32) set Y_ 612.48
$node_(32) set Z_ 0.0
$node_(33) set X_ 1740.19
$node_(33) set Y_ 558.60
$node_(33) set Z_ 0.0
$node_(34) set X_ 1736.78
$node_(34) set Y_ 156.89
$node_(34) set Z_ 0.0
$node_(35) set X_ 1124.51
$node_(35) set Y_ 23.07
$node_(35) set Z_ 0.0
$node_(36) set X_ 521.91
$node_(36) set Y_ 222.32
$node_(36) set Z_ 0.0
$node_(37) set X_ 725.73
$node_(37) set Y_ 287.13
$node_(37) set Z_ 0.0
$node_(38) set X_ 1024.02
$node_(38) set Y_ 36.50
$node_(38) set Z_ 0.0
$node_(39) set X_ 861.60
$node_(39) set Y_ 451.47
$node_(39) set Z_ 0.0
$node_(40) set X_ 977.93
$node_(40) set Y_ 293.75
$node_(40) set Z_ 0.0
$node_(41) set X_ 254.06
$node_(41) set Y_ 600.50
$node_(41) set Z_ 0.0
$node_(42) set X_ 1650.99
$node_(42) set Y_ 209.87
$node_(42) set Z_ 0.0
$node_(43) set X_ 1521.88
$node_(43) set Y_ 545.06
$node_(43) set Z_ 0.0
$node_(44) set X_ 1289.28
$node_(44) set Y_ 714.66
$node_(44) set Z_ 0.0
$node_(45) set X_ 669.23
$node_(45) set Y_ 232.76
$node_(45) set Z_ 0.0
$node_(46) set X_ 654.39
$node_(46) set Y_ 59.28
$node_(46) set Z_ 0.0
$node_(47) set X_ 1787.70
$node_(47) set Y_ 197.97
$node_(47) set Z_ 0.0
$node_(48) set X_ 1003.81
$node_(48) set Y_ 665.72
$node_(48) set Z_ 0.0
$node_(49) set X_ 1815.70
$node_(49) set Y_ 577.67
$node_(49) set Z_ 0.0
$node_(50) set X_ 575.04
$node_(50) set Y_ 397.96
$node_(50) set Z_ 0.0

#
# Define Traffic Model and Connection Pattern - Connection Pattern File
#
puts "Loading connection pattern..."

for {set i 0} {$i < $opt(sndr)} {incr i} {
    set udp_($i) [new Agent/UDP]
    $ns_ attach-agent $node_([expr $opt(sndr)-$i]) $udp_($i)
    set cbr_($i) [new Application/Traffic/CBR]
    $cbr_($i) attach-agent $udp_($i)
    $udp_($i) set packetSize_ 200
    $udp_($i) set rate_ 150Kb
    set null_($i) [new Agent/Null]
    $ns_ attach-agent $node_(0) $null_($i)
    $ns_ connect $udp_($i) $null_($i)
    $ns_ at [expr [expr 1.1*$i] + 1] "$cbr_($i) start"
}
#
# Tell nodes when the simulation ends
#
for {set i 0} {$i <= $opt(nn) } {incr i} {
    $ns_ at $opt(stop).000000001 "$node_($i) reset";
}

$ns_ at  $opt(stop).000000001 "puts \"NS EXITING...\" ; $ns_ halt"

puts $tracefd "$opt(adhocRouting):$opt(filters)"
puts $tracefd "M 0.0 nn $opt(nn) x $opt(x) y $opt(y)"
puts $tracefd "M 0.0 prop $opt(prop) ant $opt(ant)"

puts "Starting Simulation..."
$ns_ run




Reply via email to