**Algorithm 1:** Algorithm for the proposed energy model.

```
E_ {ON−Total } = 0
E_ {MC−Total } = 0
E_ {OFF−Total } = 0
E_ { Switching−Total } = 0
E_ {CSMA/CA−Total } = 0
E_ {TX−Total } = 0
E_ {RX−Total } = 0
FOR{ Every node i }
Node i tu rn s on with a coverage radius ;
E_ {ON−T o t al } = E_ {ON−T o t al } + E_ { ON_i }
E_ {MC−T o t al } = E_ {MC−T o t al } + E_ {MC_i }
Node i l i s t e n s to the channel ;
E_ {CSMA/CA−T o t al } = E_ {CSMA/CA−T o t al } + E_ {CSMA/CA_i }
E_ {MC−T o t al } = E_ {MC−T o t al } + E_ {MC_i }
IF { channel is free }
Send neighbor acknowledgment packet ;
E_ {TX−T o t al } = E_ {TX−To tal } + E_ { TX_i }
E_ {RX−T o t al } = E_ {RX−To tal } + E_ { RX_i }
E_ {MC−T o t al } = E_ {MC−T o t al } + E_ {MC_i }
ELSE
Inc re ase delay and re−check channel ;
E_ {MC−T o t al } = E_ {MC−T o t al } + E_ {MC_i }
END IF
Node i popul a tes i t s neighbo rs table ;
IF {Node i r e q ui r e s sending in f o rm a ti on }
Find a route in neighbors table ;
IF { channel is free }
Send neighbor acknowledgment packet ;
E_ {TX−T o t al } = E_ {TX−To tal } + E_ { TX_i }
E_ {RX−T o t al } = E_ {RX−To tal } + E_ { RX_i }
E_ {MC−T o t al } = E_ {MC−T o t al } + E_ {MC_i }
ELSE
Inc re ase delay and re−check channel ;
E_ {MC−T o t al } = E_ {MC−T o t al } + E_ {MC_i }
END IF
END IF
IF { Simul a tion Time == end }
E_ {OFF−T o t al } = E_ {OFF−To tal } + E_ { OFF_i }
E_ {MC−T o t al } = E_ {MC−T o t al } + E_ {MC_i }
END IF
END FOR
```