OMENT++如何設定節點在網路中的位置
來自專欄 OMNET++通信模擬軟體有興趣的請關注公眾號:薇薇驛站
該節內容前期視頻中已講解,但是有人問起,所以另起一篇。
主要分為以下幾步:
NED 文件中定義簡單模塊時,定義顯示變數:
@display("p=$xpos,$ypos");
此處xpos和ypos分別代表節點的橫坐標縱坐標的位置
在omnetpp.ini文件中定義該參數
假設節點名稱為node,網路名稱為network,network中有兩個節點,則定義具體節點位置如下;
Network.Node[0].xpos = 1733
Network.Node[0].ypos = 900
Network.Node[1].xpos = 1716
Network.Node[1].ypos = 1062.5
這樣既可完成定義節點位置,下面為一個例子,請參考:
例:網路中有一個sink節點,多個node節點,node節點以sink節點為中心,部署為圓形拓撲結構。
定義節點位置:
定義了sink節點,定義了node節點,並定義節點位置變數,在node中定義了一個sink節點,和node節點數組。其中sink節點位置由常量定義好。
計算圓形拓撲後,每個node節點的位置,並在omnetpp.ini中定義具體位置:
#location of nodes
Network.Node[0].xpos = 1733
Network.Node[0].ypos = 900
Network.Node[1].xpos = 1716
Network.Node[1].ypos = 1062.5
Network.Node[2].xpos = 1669
Network.Node[2].ypos = 1218.775
Network.Node[3].xpos = 1592
Network.Node[3].ypos = 1362.79
Network.Node[4].xpos = 1489
Network.Node[4].ypos = 1489
Network.Node[5].xpos = 1367.8
Network.Node[5].ypos = 1592
Network.Node[6].xpos = 1218.8
Network.Node[6].ypos = 1669.6
Network.Node[7].xpos = 1062.5
Network.Node[7].ypos = 1717
Network.Node[8].xpos = 900
Network.Node[8].ypos = 1733
Network.Node[9].xpos = 737.5
Network.Node[9].ypos = 1716.9
Network.Node[10].xpos = 581.2
Network.Node[10].ypos = 1670
.............
運行模擬,獲得下圖:
推薦閱讀:
※OMNET視頻講解:Sample篇之Aloha(上)
※【知乎Live】金融市場模擬:Agent-based model入門
※千篇一律的模塊化編程遊戲——《while True: learn()》
※windows下hspice模擬環境安裝