Как назначить переменные конфигурации как комбинацию других параметров, определенных в o mnet .ini в OMNeT ++ - PullRequest
0 голосов
/ 19 января 2020

Я хочу установить warmup-period как сумму некоторых параметров, которые мне нужны в моих симуляциях. Я написал это, но я всегда получаю синтаксическую ошибку или ошибку синтаксического анализа

**.airspace.interArrivalTime = ${iat = 15..30 step 3}
**.airspace.landingTime = ${lt = 15..30 step 3}
**.parkingarea.takeoffTime = ${tot = 15..30 step 3}
**.parkingarea.parkingTime = ${pt = 15..30 step 3}
warmup-period = ${$lt + $tot + $pt}

Я не знаю, как правильно определить период прогрева таким образом (если это возможно). Я также прочитал раздел 10.4 руководства OMNeT ++ 5 (https://doc.omnetpp.org/omnetpp/manual/), но не нашел никаких решений

1 Ответ

1 голос
/ 19 января 2020

warmup-period - опция симуляции, это не обычный параметр. Это не может быть выражено с помощью других параметров в omnetpp.ini.
Однако, можно установить значение этого параметра на основе других параметров в коде C ++:

  1. Добавить в свой Дополнительный параметр файла NED, например:

    double warmupPer; // in seconds
    
  2. Добавить к omnetpp.ini:

    **.warmupPer = ${$lt + $tot + $pt}
    
  3. Где-то в initialize() из ваш модуль добавить эти строки:

    double warmup = par("warmupPer");
    getSimulation()->setWarmupPeriod(warmup);
    
...