LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 02-11-2012, 11:16 AM   #211
deepa_2111
Member
 
Registered: Apr 2011
Distribution: -
Posts: 185

Rep: Reputation: 268Reputation: 268Reputation: 268

Hi ayaan,

you do not execute the tcl files individually. you run the leach_test file in your command prompt.
 
1 members found this post helpful.
Old 02-20-2012, 11:33 PM   #212
ayaan
LQ Newbie
 
Registered: Dec 2011
Posts: 15

Rep: Reputation: Disabled
hi i am getting this error in leach.err

couldn't read file "tcl/lib/ns-mobilenode.tcl": no such file or directory
while executing
"source.orig tcl/lib/ns-mobilenode.tcl"
("uplevel" body line 1)
invoked from within
"uplevel source.orig[list $fileName]"
invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
(procedure "source" line 8)
invoked from within
"source tcl/lib/ns-mobilenode.tcl"
(file "tcl/ex/wireless.tcl" line 184)
plz reply soon
 
Old 02-24-2012, 12:08 AM   #213
kinjal_patel
LQ Newbie
 
Registered: Feb 2012
Posts: 9

Rep: Reputation: Disabled
hi I have installed Ns-2.27 and mit leach protocol . But when I Execute ./test it gives following error in leach.err file .I have seen that file is present at that location.


couldn't read file "mit/uAMPS/ns-leach.tcl": no such file or directory
while executing
"source.orig mit/uAMPS/ns-leach.tcl"
("uplevel" body line 1)
invoked from within
"uplevel source.orig[list $fileName]"
invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
(procedure "source" line 8)
invoked from within
"source mit/uAMPS/ns-leach.tcl"
(file "leach.tcl" line 7)

please reply quickly
 
Old 02-28-2012, 01:37 PM   #214
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,511

Rep: Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641
# 212, @ayaan

The "sh test" command must be done in ns-allinone-2.34/ns-2.34/
for the files to be found.



# 213, @kinjal_patel : Probably the same as above.
And : This thread is not about LEACH + ns-2.27.
Please start a new thread, if you have further questions.
( Or : http://www.linuxquestions.org/questi...2-27-a-785379/ )
Please read the ns-2.27 thread too.

.
 
Old 03-01-2012, 01:01 AM   #215
Bhargava Ram Buri
LQ Newbie
 
Registered: Feb 2012
Posts: 4

Rep: Reputation: Disabled
Hi all , ( I'm new to Linux and NS2)
I got LEACH installed properly (with the help of posts in this forum, thanks to knudfl).
leach.out and leach.err are okay... But how Can we get the LEACH on nam console i.e, which tcl file should I execute to see the topology on NAM console?

Please help me through this .. :-(

@knufdl thanks for all the help.

Please get back to me with solution.
 
Old 03-02-2012, 02:51 AM   #216
rajub
LQ Newbie
 
Registered: Dec 2011
Posts: 4

Rep: Reputation: Disabled
hi,

Thanks everyone. I've been able to integrate LEACH with your help. can anyone tell me if it possible anyway to view the simulation results in 'nam'.

I also want to know if anyone can help me in integrating SPIN. I've searched many threads with no success so far. Please help me out.

Thanks.
 
Old 03-02-2012, 05:58 AM   #217
Bhargava Ram Buri
LQ Newbie
 
Registered: Feb 2012
Posts: 4

Rep: Reputation: Disabled
Please help me!!! First I got the simulation successfully but later I dont find any result in leach.out

Please help me

leach.err has the following

Code:
couldn't read file "tcl/lib/ns-mobilenode.tcl": no such file or directory
    while executing
"source.orig tcl/lib/ns-mobilenode.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig[list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
    (procedure "source" line 8)
    invoked from within
"source tcl/lib/ns-mobilenode.tcl"
    (file "tcl/ex/wireless.tcl" line 184)
 
Old 03-04-2012, 12:13 AM   #218
keep-up
LQ Newbie
 
Registered: Mar 2012
Posts: 2

Rep: Reputation: Disabled
Hey everyone .I'm trying to simulate the LEACH-C but getting the following errors, Leach works perfectly!can any one help me to solve this problem.



can't read "env(uAMPS_LIBRARY)": no such variable
while executing
"source $env(uAMPS_LIBRARY)/ns-leach.tcl"
(file "tcl/mobility/leach-c.tcl" line 7)
invoked from within
"source.orig tcl/mobility/leach-c.tcl"
("uplevel" body line 1)
invoked from within
"uplevel source.orig[list $fileName]"
invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
(procedure "source" line 8)
invoked from within
"source tcl/mobility/$opt(rp).tcl"
(file "tcl/ex/wireless.tcl" line 187)
 
Old 03-05-2012, 12:06 PM   #219
shanky
Member
 
Registered: Aug 2011
Posts: 155

Rep: Reputation: Disabled
Hi,

I have been trying to run leach protocol on ns-2.34 using ubuntu 10.10 as platform for quite sometime now but am stuck with some problems please be kind enough to help me.

I have been referring to posts # 51,52,53,56,58 of this thread since i was facing similar errors but to no avail.

I have edited my uAMPs.tcl as in the mentioned posts in this way
Code:
############################################################################
#
# This code was developed as part of the MIT uAMPS project. (June, 2000)
#
############################################################################

global opt bs

#source $env(RCA_LIBRARY)/ns-ranode.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/rca/ns-ranode.tcl

#source $env(uAMPS_LIBRARY)/ns-bsapp.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/uAMPS/ns-bsapp.tcl

#source $env(uAMPS_LIBRARY)/extras.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/uAMPS/extras.tcl

#source $env(uAMPS_LIBRARY)/stats.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/uAMPS/stats.tcl


#Uncomment these lines to use gdb to debug the c code
#source mit/uAMPS/ns-bsapp.tcl
#source mit/uAMPS/extras.tcl
#source mit/uAMPS/stats.tcl

#source $env(RCA_LIBRARY)/resources/ns-resource-manager.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/rca/resources/ns-resource-manager.tcl

#source $env(RCA_LIBRARY)/resources/ns-energy-resource.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/rca/resources/ns-energy-resource.tcl

#source $env(RCA_LIBRARY)/resources/ns-neighbor-resource.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/rca/resources/ns-neighbor-resource.tcl

# ========================================================================
# Default Script Options
# ========================================================================

set opt(bsapp)        "Application/BSApp" ;# BS application type
set opt(mtype)         ""                 ;# No meta-data used 
set opt(nn_)          [expr $opt(nn) - 1] ;# Number of non-BS nodes
set opt(bsID)         $opt(nn_)           ;# BS node number
set opt(bsCode)       0                   ;# Spreading code for BS
set opt(quiet)        1                   ;# 0=print info, 1=quiet

set opt(bw)           1e6                 ;# 1 Mbps radio speed
set opt(delay)        1e-12               ;# Links delay
set opt(prop_speed)   3e8;                ;# Meters per second
set opt(ll)           RCALinkLayer        ;# Arpless link-layer
set opt(mac)          Mac/Sensor          ;# Sensor mac protocol
set opt(ifq)          Queue/DropTail      ;# DropTail Q
set opt(ifqlen)       100                 ;# Max packets in ifq
set opt(netif)        Phy/WirelessPhy     ;# Wireless channel
set opt(ant)          Antenna/OmniAntenna ;# Omnidirectional antena

# Time required to transmit numbytes bytes of data
proc TxTime {numbytes} {
  global opt
  return [expr $numbytes*8/$opt(bw)]
}

set opt(hdr_size)     25                  ;# Bytes for header
set opt(sig_size)     500                 ;# Bytes for data signal
# Packet transmission time
set opt(slot_time)    [expr [TxTime [expr $opt(sig_size)+$opt(hdr_size)]]]
# Spread-spectrum packet transmission time
set opt(ss_slot_time) [expr $opt(slot_time) * $opt(spreading)]
# Maximum TDMA frame time (if all nodes in one cluster)
set opt(frame_time)   [expr $opt(ss_slot_time) * $opt(nn_)]

set opt(ch_change)    [expr 10 * $opt(init_energy)]  ;# Time for each round
set opt(check_energy) 10                             ;# Time btwn energy traces 

set opt(freq)          914e+6             ;# Carrier frequency
set opt(L)             1.0                ;# System (non-propogation) loss
set opt(Gt)            1.0                ;# Tx antenna gain
set opt(Gr)            1.0                ;# Rx antenna gain
set opt(ht)            1.5                ;# Antenna height
set opt(CSThresh)      1e-9               ;# Receive threshold is 1 nW
set opt(RXThresh)      6e-9               ;# Success threshold is 6 nW
set PI                 3.1415926
set l                  [expr 3e8 / $opt(freq)]    ;# Wavelength of carrier

############################################################################
#
# Energy Models
#
############################################################################

# Efriss_amp = RXThresh * (4pi)^2 / (Rb Gt Gr lambda^2)
set opt(Efriss_amp)   [expr [expr 1.1 * $opt(RXThresh) * 16 * $PI * $PI] / \
                            [expr $opt(bw) * $opt(Gt) * $opt(Gr) * $l * $l]]
# Etwo_ray_amp = RXThresh / (Rb Gt Gr ht^2 hr^2)
set opt(Etwo_ray_amp) [expr 1.1 * $opt(RXThresh) / \
                      [expr $opt(bw) * $opt(Gt) * $opt(Gr) * \
                            $opt(ht) * $opt(ht) * $opt(ht) * $opt(ht)]]
set opt(EXcvr)         50e-9              ;# Energy for radio circuitry
set opt(e_bf)          5e-9               ;# Beamforming energy (J/bit)
set opt(Esense)        0                  ;# Sensing energy (J/bit)
set opt(thresh_energy) 0.00               ;# Threshold for power adaptation
set opt(Pidle)         0                  ;# Idle power (W)
set opt(Psleep)        0                  ;# Sleep power (W)


# ===== Get rid of the warnings in bind ================================
Resource/Energy set energyLevel_   $opt(init_energy)
Resource/Energy set alarmLevel_    $opt(thresh_energy)
Resource/Energy set expended_      0

Agent/RCAgent set sport_           0
Agent/RCAgent set dport_           0
Agent/RCAgent set packetMsg_       0
Agent/RCAgent set distEst_         0
Agent/RCAgent set packetSize_      0
Agent/BSAgent set packetMsg_       0
Agent/BSAgent set packetSize_      0
Agent/BSAgent set recv_code_       0

RCALinkLayer set delay_            25us
RCALinkLayer set bandwidth_        0     
RCALinkLayer set off_prune_        0    
RCALinkLayer set off_CtrMcast_     0   
RCALinkLayer set macDA_            0  
RCALinkLayer set debug_            0  
RCALinkLayer set avoidReordering_  0  

Phy/WirelessPhy set bandwidth_     $opt(bw)
Phy/WirelessPhy set CSThresh_      $opt(CSThresh)
Phy/WirelessPhy set RXThresh_      $opt(RXThresh)
Phy/WirelessPhy set Efriss_amp_    $opt(Efriss_amp)
Phy/WirelessPhy set Etwo_ray_amp_  $opt(Etwo_ray_amp)
Phy/WirelessPhy set EXcvr_         $opt(EXcvr)
Phy/WirelessPhy set freq_          $opt(freq)
Phy/WirelessPhy set L_             $opt(L)
Phy/WirelessPhy set sleep_         0
Phy/WirelessPhy set alive_         1
Phy/WirelessPhy set ss_            $opt(spreading)
Phy/WirelessPhy set dist_          0

Antenna/OmniAntenna set Gt_        $opt(Gt)
Antenna/OmniAntenna set Gr_        $opt(Gr)
Antenna/OmniAntenna set Z_         $opt(ht)

set MacTrace                       OFF
Mac set bandwidth_                 $opt(bw)
Mac/Sensor set code_               0
Mac/Sensor set node_num_           0
Mac/Sensor set ss_                 $opt(spreading) 
Mac/Sensor set CHheard_            0
Mac/Sensor set myADVnum_           0

set bs[list $opt(bs_x) $opt(bs_y)]
set BS_NODE 1

set outf [open "$opt(dirname)/conditions.txt" a]
puts $outf "Simulation will stop after $opt(stop) seconds."
puts $outf "Base station at ($opt(bs_x), $opt(bs_y))"
if {$opt(eq_energy) == 1} {
  puts $outf "Each node starting with $opt(init_energy) Joules of energy.\n"
}
puts $outf "Energy Model:"
puts $outf "\t\tRXThresh = $opt(RXThresh)"
puts $outf "\t\tCSThresh = $opt(CSThresh)"
puts $outf "\t\tRb = $opt(bw)"
puts $outf "\t\tExcvr = $opt(EXcvr)"
puts $outf "\t\tEfriss_amp = $opt(Efriss_amp)"
puts $outf "\t\tEtwo_ray_amp = $opt(Etwo_ray_amp)"
puts $outf "\t\tEbf = $opt(e_bf)"
puts $outf "\t\tPidle = $opt(Pidle)"
puts $outf "\t\tPsleep = $opt(Psleep)\n"
close $outf

set initialized 0
set rng_ [new RNG]

proc leach-create-mobile-node { id } {
    global ns_ chan prop topo tracefd opt node_ 
    global initialized BS_NODE rng_

    if {$initialized == 0} {
      sens_init
      set initialized 1
    }

    # Create nodes.
    if {$id != $opt(nn_)} {
      puts -nonewline "$id "
      set node_($id) [new MobileNode/ResourceAwareNode]
    } else {
      puts "($opt(nn_) == BS)"
      set node_($id) [new MobileNode/ResourceAwareNode $BS_NODE]
    }

    set node $node_($id)
    if {$id != $opt(nn_)} {
      # Set initial node energy.
      if {$opt(eq_energy) == 1} {
        $node set-energy $opt(init_energy) $opt(thresh_energy)
      } else {
        #set E [$rng_ uniform $opt(lower_e) $opt(upper_e)]
        #set rn [$rng_ uniform 0 1]
        #if {$rn < 0.1} {
        #  set E 200
        #} else {
        #  set E 2
        #}
        set high_e_nodes[list 97 19 12 87 8 22 83 55 34 72]
        if {[lsearch $high_e_nodes $id] == -1} {
          set E 2
        } else {
          set E 200
        }
        $node set-energy $E $opt(thresh_energy)
        set initf [open "$opt(dirname)/init.energy" a]
        puts $initf "$id\t$E"
        close $initf
      }
    } else {
      # Base station has an infinite amount of energy.
      $node set-energy 50000 $opt(thresh_energy)
    }

    # Disable random motion.
    $node random-motion 0       
    $node topography $topo

    if ![info exist inerrProc_] {
        set inerrProc_ ""
    }
    if ![info exist outerrProc_] {
        set outerrProc_ ""
    }
    if ![info exist FECProc_] {
        set FECProc_ ""
    }

    # Connect the node to the channel.
    $node add-interface $chan $prop $opt(ll) $opt(mac)  \
      $opt(ifq) $opt(ifqlen) $opt(netif) $opt(ant) \
      $topo $inerrProc_ $outerrProc_ $FECProc_

    # Set up the trace target.
    set T [new Trace/Generic]
    $T target [$ns_ set nullAgent_]
    $T attach $tracefd
    $T set src_ $id
    $node log-target $T

    $ns_ at 0.0 "$node_($id) start-app"
}

proc sens_init {} {

    global ns_ opt ns

    # The timer code has hard-coded the global variable ns to
    # be the simulator.
    set ns $ns_

    # Remove old trace files.
    catch "eval exec rm [glob -nocomplain $opt(dirname)/TDMAschedule.*.txt]"
    catch "exec rm $opt(dirname)/$opt(filename).energy"
    catch "exec rm $opt(dirname)/$opt(filename).data"
    catch "exec rm $opt(dirname)/$opt(filename).alive"
    catch "exec rm $opt(dirname)/startup.energy"
    catch "exec rm $opt(dirname)/init.energy"

    puts "Creating sensor nodes..."
  
    sens_init_stats "$opt(dirname)/$opt(filename)"

    $ns_ at $opt(stop) "sens_finish"
    # Start logging simulation statistics.
    $ns_ at $opt(check_energy) "sens_gather_stats"
}
but in leach.err i still get an error like this
Code:
couldn't read file "/opt/ns-allinone-2.34/ns-2.34/mit/rca/ns-ranode.tcl": no such file or directory
    while executing
"source.orig /opt/ns-allinone-2.34/ns-2.34/mit/rca/ns-ranode.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig[list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
    (procedure "source" line 8)
    invoked from within
"source /opt/ns-allinone-2.34/ns-2.34/mit/rca/ns-ranode.tcl"
    (file "mit/uAMPS/sims/uamps.tcl" line 10)
    invoked from within
"source.orig mit/uAMPS/sims/uamps.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig[list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
    (procedure "source" line 8)
    invoked from within
"source mit/uAMPS/sims/uamps.tcl"
    (file "tcl/mobility/leach.tcl" line 18)
    invoked from within
"source.orig tcl/mobility/leach.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig[list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
    (procedure "source" line 8)
    invoked from within
"source tcl/mobility/$opt(rp).tcl"
    (file "tcl/ex/wireless.tcl" line 187)
Also i get the leach.out file as an empty file and as usual the get the warnings on the console.
Please help me out.

Regards
 
Old 03-05-2012, 12:25 PM   #220
shanky
Member
 
Registered: Aug 2011
Posts: 155

Rep: Reputation: Disabled
Hi

I have solved this problem of mine.Lot of mistakes on my part.My bad.Just another doubt the leach.out file although tells me that the simulation is complete it includes a lot of warnings such as this

Code:
Warning dst_ is no longer being supported in NS. dst_ 0xffffffff
Use dst_addr_ and dst_port_ instead
What does this signify or can they be ignored??

Thank you so much.This thread has been really helpful
 
Old 03-05-2012, 07:15 PM   #221
keep-up
LQ Newbie
 
Registered: Mar 2012
Posts: 2

Rep: Reputation: Disabled
Quote:
Originally Posted by shanky View Post
Hi,

I have been trying to run leach protocol on ns-2.34 using ubuntu 10.10 as platform for quite sometime now but am stuck with some problems please be kind enough to help me.

I have been referring to posts # 51,52,53,56,58 of this thread since i was facing similar errors but to no avail.

I have edited my uAMPs.tcl as in the mentioned posts in this way
Code:
############################################################################
#
# This code was developed as part of the MIT uAMPS project. (June, 2000)
#
############################################################################

global opt bs

#source $env(RCA_LIBRARY)/ns-ranode.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/rca/ns-ranode.tcl

#source $env(uAMPS_LIBRARY)/ns-bsapp.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/uAMPS/ns-bsapp.tcl

#source $env(uAMPS_LIBRARY)/extras.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/uAMPS/extras.tcl

#source $env(uAMPS_LIBRARY)/stats.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/uAMPS/stats.tcl


#Uncomment these lines to use gdb to debug the c code
#source mit/uAMPS/ns-bsapp.tcl
#source mit/uAMPS/extras.tcl
#source mit/uAMPS/stats.tcl

#source $env(RCA_LIBRARY)/resources/ns-resource-manager.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/rca/resources/ns-resource-manager.tcl

#source $env(RCA_LIBRARY)/resources/ns-energy-resource.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/rca/resources/ns-energy-resource.tcl

#source $env(RCA_LIBRARY)/resources/ns-neighbor-resource.tcl
source /opt/ns-allinone-2.34/ns-2.34/mit/rca/resources/ns-neighbor-resource.tcl

# ========================================================================
# Default Script Options
# ========================================================================

set opt(bsapp)        "Application/BSApp" ;# BS application type
set opt(mtype)         ""                 ;# No meta-data used 
set opt(nn_)          [expr $opt(nn) - 1] ;# Number of non-BS nodes
set opt(bsID)         $opt(nn_)           ;# BS node number
set opt(bsCode)       0                   ;# Spreading code for BS
set opt(quiet)        1                   ;# 0=print info, 1=quiet

set opt(bw)           1e6                 ;# 1 Mbps radio speed
set opt(delay)        1e-12               ;# Links delay
set opt(prop_speed)   3e8;                ;# Meters per second
set opt(ll)           RCALinkLayer        ;# Arpless link-layer
set opt(mac)          Mac/Sensor          ;# Sensor mac protocol
set opt(ifq)          Queue/DropTail      ;# DropTail Q
set opt(ifqlen)       100                 ;# Max packets in ifq
set opt(netif)        Phy/WirelessPhy     ;# Wireless channel
set opt(ant)          Antenna/OmniAntenna ;# Omnidirectional antena

# Time required to transmit numbytes bytes of data
proc TxTime {numbytes} {
  global opt
  return [expr $numbytes*8/$opt(bw)]
}

set opt(hdr_size)     25                  ;# Bytes for header
set opt(sig_size)     500                 ;# Bytes for data signal
# Packet transmission time
set opt(slot_time)    [expr [TxTime [expr $opt(sig_size)+$opt(hdr_size)]]]
# Spread-spectrum packet transmission time
set opt(ss_slot_time) [expr $opt(slot_time) * $opt(spreading)]
# Maximum TDMA frame time (if all nodes in one cluster)
set opt(frame_time)   [expr $opt(ss_slot_time) * $opt(nn_)]

set opt(ch_change)    [expr 10 * $opt(init_energy)]  ;# Time for each round
set opt(check_energy) 10                             ;# Time btwn energy traces 

set opt(freq)          914e+6             ;# Carrier frequency
set opt(L)             1.0                ;# System (non-propogation) loss
set opt(Gt)            1.0                ;# Tx antenna gain
set opt(Gr)            1.0                ;# Rx antenna gain
set opt(ht)            1.5                ;# Antenna height
set opt(CSThresh)      1e-9               ;# Receive threshold is 1 nW
set opt(RXThresh)      6e-9               ;# Success threshold is 6 nW
set PI                 3.1415926
set l                  [expr 3e8 / $opt(freq)]    ;# Wavelength of carrier

############################################################################
#
# Energy Models
#
############################################################################

# Efriss_amp = RXThresh * (4pi)^2 / (Rb Gt Gr lambda^2)
set opt(Efriss_amp)   [expr [expr 1.1 * $opt(RXThresh) * 16 * $PI * $PI] / \
                            [expr $opt(bw) * $opt(Gt) * $opt(Gr) * $l * $l]]
# Etwo_ray_amp = RXThresh / (Rb Gt Gr ht^2 hr^2)
set opt(Etwo_ray_amp) [expr 1.1 * $opt(RXThresh) / \
                      [expr $opt(bw) * $opt(Gt) * $opt(Gr) * \
                            $opt(ht) * $opt(ht) * $opt(ht) * $opt(ht)]]
set opt(EXcvr)         50e-9              ;# Energy for radio circuitry
set opt(e_bf)          5e-9               ;# Beamforming energy (J/bit)
set opt(Esense)        0                  ;# Sensing energy (J/bit)
set opt(thresh_energy) 0.00               ;# Threshold for power adaptation
set opt(Pidle)         0                  ;# Idle power (W)
set opt(Psleep)        0                  ;# Sleep power (W)


# ===== Get rid of the warnings in bind ================================
Resource/Energy set energyLevel_   $opt(init_energy)
Resource/Energy set alarmLevel_    $opt(thresh_energy)
Resource/Energy set expended_      0

Agent/RCAgent set sport_           0
Agent/RCAgent set dport_           0
Agent/RCAgent set packetMsg_       0
Agent/RCAgent set distEst_         0
Agent/RCAgent set packetSize_      0
Agent/BSAgent set packetMsg_       0
Agent/BSAgent set packetSize_      0
Agent/BSAgent set recv_code_       0

RCALinkLayer set delay_            25us
RCALinkLayer set bandwidth_        0     
RCALinkLayer set off_prune_        0    
RCALinkLayer set off_CtrMcast_     0   
RCALinkLayer set macDA_            0  
RCALinkLayer set debug_            0  
RCALinkLayer set avoidReordering_  0  

Phy/WirelessPhy set bandwidth_     $opt(bw)
Phy/WirelessPhy set CSThresh_      $opt(CSThresh)
Phy/WirelessPhy set RXThresh_      $opt(RXThresh)
Phy/WirelessPhy set Efriss_amp_    $opt(Efriss_amp)
Phy/WirelessPhy set Etwo_ray_amp_  $opt(Etwo_ray_amp)
Phy/WirelessPhy set EXcvr_         $opt(EXcvr)
Phy/WirelessPhy set freq_          $opt(freq)
Phy/WirelessPhy set L_             $opt(L)
Phy/WirelessPhy set sleep_         0
Phy/WirelessPhy set alive_         1
Phy/WirelessPhy set ss_            $opt(spreading)
Phy/WirelessPhy set dist_          0

Antenna/OmniAntenna set Gt_        $opt(Gt)
Antenna/OmniAntenna set Gr_        $opt(Gr)
Antenna/OmniAntenna set Z_         $opt(ht)

set MacTrace                       OFF
Mac set bandwidth_                 $opt(bw)
Mac/Sensor set code_               0
Mac/Sensor set node_num_           0
Mac/Sensor set ss_                 $opt(spreading) 
Mac/Sensor set CHheard_            0
Mac/Sensor set myADVnum_           0

set bs[list $opt(bs_x) $opt(bs_y)]
set BS_NODE 1

set outf [open "$opt(dirname)/conditions.txt" a]
puts $outf "Simulation will stop after $opt(stop) seconds."
puts $outf "Base station at ($opt(bs_x), $opt(bs_y))"
if {$opt(eq_energy) == 1} {
  puts $outf "Each node starting with $opt(init_energy) Joules of energy.\n"
}
puts $outf "Energy Model:"
puts $outf "\t\tRXThresh = $opt(RXThresh)"
puts $outf "\t\tCSThresh = $opt(CSThresh)"
puts $outf "\t\tRb = $opt(bw)"
puts $outf "\t\tExcvr = $opt(EXcvr)"
puts $outf "\t\tEfriss_amp = $opt(Efriss_amp)"
puts $outf "\t\tEtwo_ray_amp = $opt(Etwo_ray_amp)"
puts $outf "\t\tEbf = $opt(e_bf)"
puts $outf "\t\tPidle = $opt(Pidle)"
puts $outf "\t\tPsleep = $opt(Psleep)\n"
close $outf

set initialized 0
set rng_ [new RNG]

proc leach-create-mobile-node { id } {
    global ns_ chan prop topo tracefd opt node_ 
    global initialized BS_NODE rng_

    if {$initialized == 0} {
      sens_init
      set initialized 1
    }

    # Create nodes.
    if {$id != $opt(nn_)} {
      puts -nonewline "$id "
      set node_($id) [new MobileNode/ResourceAwareNode]
    } else {
      puts "($opt(nn_) == BS)"
      set node_($id) [new MobileNode/ResourceAwareNode $BS_NODE]
    }

    set node $node_($id)
    if {$id != $opt(nn_)} {
      # Set initial node energy.
      if {$opt(eq_energy) == 1} {
        $node set-energy $opt(init_energy) $opt(thresh_energy)
      } else {
        #set E [$rng_ uniform $opt(lower_e) $opt(upper_e)]
        #set rn [$rng_ uniform 0 1]
        #if {$rn < 0.1} {
        #  set E 200
        #} else {
        #  set E 2
        #}
        set high_e_nodes[list 97 19 12 87 8 22 83 55 34 72]
        if {[lsearch $high_e_nodes $id] == -1} {
          set E 2
        } else {
          set E 200
        }
        $node set-energy $E $opt(thresh_energy)
        set initf [open "$opt(dirname)/init.energy" a]
        puts $initf "$id\t$E"
        close $initf
      }
    } else {
      # Base station has an infinite amount of energy.
      $node set-energy 50000 $opt(thresh_energy)
    }

    # Disable random motion.
    $node random-motion 0       
    $node topography $topo

    if ![info exist inerrProc_] {
        set inerrProc_ ""
    }
    if ![info exist outerrProc_] {
        set outerrProc_ ""
    }
    if ![info exist FECProc_] {
        set FECProc_ ""
    }

    # Connect the node to the channel.
    $node add-interface $chan $prop $opt(ll) $opt(mac)  \
      $opt(ifq) $opt(ifqlen) $opt(netif) $opt(ant) \
      $topo $inerrProc_ $outerrProc_ $FECProc_

    # Set up the trace target.
    set T [new Trace/Generic]
    $T target [$ns_ set nullAgent_]
    $T attach $tracefd
    $T set src_ $id
    $node log-target $T

    $ns_ at 0.0 "$node_($id) start-app"
}

proc sens_init {} {

    global ns_ opt ns

    # The timer code has hard-coded the global variable ns to
    # be the simulator.
    set ns $ns_

    # Remove old trace files.
    catch "eval exec rm [glob -nocomplain $opt(dirname)/TDMAschedule.*.txt]"
    catch "exec rm $opt(dirname)/$opt(filename).energy"
    catch "exec rm $opt(dirname)/$opt(filename).data"
    catch "exec rm $opt(dirname)/$opt(filename).alive"
    catch "exec rm $opt(dirname)/startup.energy"
    catch "exec rm $opt(dirname)/init.energy"

    puts "Creating sensor nodes..."
  
    sens_init_stats "$opt(dirname)/$opt(filename)"

    $ns_ at $opt(stop) "sens_finish"
    # Start logging simulation statistics.
    $ns_ at $opt(check_energy) "sens_gather_stats"
}
but in leach.err i still get an error like this
Code:
couldn't read file "/opt/ns-allinone-2.34/ns-2.34/mit/rca/ns-ranode.tcl": no such file or directory
    while executing
"source.orig /opt/ns-allinone-2.34/ns-2.34/mit/rca/ns-ranode.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig[list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
    (procedure "source" line 8)
    invoked from within
"source /opt/ns-allinone-2.34/ns-2.34/mit/rca/ns-ranode.tcl"
    (file "mit/uAMPS/sims/uamps.tcl" line 10)
    invoked from within
"source.orig mit/uAMPS/sims/uamps.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig[list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
    (procedure "source" line 8)
    invoked from within
"source mit/uAMPS/sims/uamps.tcl"
    (file "tcl/mobility/leach.tcl" line 18)
    invoked from within
"source.orig tcl/mobility/leach.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig[list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig[list $fileName]
..."
    (procedure "source" line 8)
    invoked from within
"source tcl/mobility/$opt(rp).tcl"
    (file "tcl/ex/wireless.tcl" line 187)
Also i get the leach.out file as an empty file and as usual the get the warnings on the console.
Please help me out.

Regards
You should run ‘make clean‘ and ‘make’.
 
Old 03-06-2012, 12:15 AM   #222
scoder
LQ Newbie
 
Registered: Mar 2012
Posts: 6

Rep: Reputation: Disabled
LEACH in ns2.34

hey guys,
after following all the instructions, iam at 'make' now..and getting following error::

mac/mac-802_11.cc: In constructor ‘Mac802_11::Mac802_11()’:
mac/mac-802_11.cc:190: error: no matching function for call to ‘BeaconTimer::BeaconTimer()’
mac/mac-timers.h:97: note: candidates are: BeaconTimer::BeaconTimer(Mac802_11*)
mac/mac-timers.h:95: note: BeaconTimer::BeaconTimer(const BeaconTimer&)
mac/mac-802_11.cc:190: error: no matching function for call to ‘ProbeTimer::ProbeTimer()’
mac/mac-timers.h:105: note: candidates are: ProbeTimer::ProbeTimer(Mac802_11*)
mac/mac-timers.h:103: note: ProbeTimer::ProbeTimer(const ProbeTimer&)
make: *** [mac/mac-802_11.o] Error 1


kindly help!!
 
Old 03-07-2012, 04:07 AM   #223
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,511

Rep: Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641
# 222.

Wrong OS ? Wrong compiler ? Please specify.


I.e the used Linux OS should be specified by every question ..
http://www.linuxquestions.org/linux/...Ask_a_Question
http://linuxsilo.net/docs/smart-questions_en.html

.
 
Old 03-07-2012, 05:36 AM   #224
khushbushah
LQ Newbie
 
Registered: Feb 2012
Posts: 6

Rep: Reputation: Disabled
How to analyse data in leach on ns2.34

Hi
I want to know that how to work with leach.out file and leach.tr file
I want to plot graph for avg. energy consumption ,control overhead, network lifetime,avg.delivery ratio, load balancing at each node...etc.....
I have awk file for leach which can be used for end-to-end delay and throughput

http://mohittahiliani.blogspot.in/20...s-for-ns2.html

total no.of dropped packets are 0 and end to end delays is also always 0 when I measure with my leach.tr file

can anyone please help me? Leach protocol also generate TDMA schedule but i dont knw how can we use for our analysis?
Please its urgent....
 
Old 03-07-2012, 08:25 AM   #225
deepa_2111
Member
 
Registered: Apr 2011
Distribution: -
Posts: 185

Rep: Reputation: 268Reputation: 268Reputation: 268
#222,

scoder,

I think you are using the wrong MAC layer
Did you include the mac files written for LEACH ?
 
  


Reply

Tags
leach, leach-warning50, ns2, ns2 ns234, pegasis



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
ns:"error when calling class OldSim"&tclsh:"invalid command+child process exits abn." shojaru Linux - Newbie 0 03-05-2009 04:23 AM
labview stopped at "init tmp resource files" on FC4 baosheng Linux - Software 2 09-28-2007 11:02 AM
ORiNOCO WLAN card not working - "failed to allocate resource" hauneboo Linux - Laptop and Netbook 1 11-29-2005 09:08 AM
What "kernel opts" allow PC to power down with "turning energy off"? kornerr Linux - General 1 03-10-2005 12:07 PM
nvidia insmod: "Device or resource busy" w/GeForce 4 MX KeithSpook Linux - Hardware 4 03-03-2004 12:21 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 11:30 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration