Проверка конфигурации
В вашем случае вы можете выполнить проверку конфигурации. OMNeT++ предлагает различные варианты для этого. Они объясняются в разделе Изучение параметров руководства по OMNeT++.
Таким образом, вы можете попробовать один из следующих вариантов для проверки ваших конфигураций и, следовательно, файла конфигурации:
./run –a
- покажет все конфигурации в omnet.ini
./run -x <config_name>
- даст больше информации о конкретной конфигурации
./run -x <config_name> -g
- посмотреть все комбинации конфигов
Сначала вам нужно будет перейти в папку примера и выполнить там одну из вышеупомянутых команд.
Я выполнил: ./run -x Dcn2 -g
и получил следующие результаты
OMNeT++ Discrete Event Simulation (C) 1992-2014 Andras Varga, OpenSim Ltd.
Version: 4.6, build: 141202-f785492, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Setting up Tkenv...
Config: Dcn2
Number of runs: 3
Run 0: $0=exponential(.0001), $repetition=0
Run 1: $0=exponential(0.0002), $repetition=0
Run 2: $0=exponential(0.0003), $repetition=0
End.
Это действительно подтверждает, что у вас есть 3 разных прогона для параметра моделирования, который вы пытаетесь изменить. Однако имя переменной, которое вы используете для параметра interArrivalTime
, по умолчанию назначается $0
, поскольку вы его не указали.
Если вы измените следующую строку в конфигурации:
**.interArrivalTime = ${exponential(.0001),exponential(0.0002),exponential(0.0003)}
to
**.interArrivalTime = ${interArrivalTime = exponential(0.0001),exponential(0.0002),exponential(0.0003)}
вы получите более описательный вывод для ./run -x Dcn2 -g
Запуск различных запусков конфигурации:
Следующим шагом для вас будет запуск различных прогонов для вашей конфигурации. Вы можете сделать это, перейдя в каталог вашего примера и выполнив:
./run -c <config-name> -r <run-number> -u Cmdenv
Обратите внимание, что <config-name>
будет для вас Dcn2
, а -r
указывает, какой из приведенных выше запусков вы хотели бы выполнить.
Другими словами, вы можете открыть три окна терминала, перейти в каталог примеров и выполнить:
./run -c Dcn2 -r 0 -u Cmdenv
- для interArrivalTime = экспоненциальный (0,0001)
./run -c Dcn2 -r 1 -u Cmdenv
- для interArrivalTime = экспоненциальный (0,0002)
./run -c Dcn2 -r 2 -u Cmdenv
- для interArrivalTime = экспоненциальное (0,0003)
Различение разных результатов запуска
Чтобы иметь возможность различать выходные файлы результатов различных запусков для данной конфигурации, вы можете изменить имя выходного файла по умолчанию.
Инструкции приведены в разделе 12.2.3 Имена файлов результатов руководства OMNeT++.
output-vector-file = "${resultdir}/${configname}-${runnumber}.vec"
output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca"
Как видите, по умолчанию ваши выходные файлы будут различаться по переменной ${runnumber}
. Вы можете улучшить его, добавив interArrivalTime
к имени выходного файла.
Пример:
output-scalar-file = "${resultdir}/${configname}-${runnumber}-IAtime=${interArrivalTime}.sca/vec"
Я не тестировал окончательный подход. Таким образом, вы можете получить некоторую ошибку на пути.
person
user4786271
schedule
01.06.2015
.fileName
или.exampleName
- это еще один вариант запуска симуляций... если вы считаете мой ответ полезным, примите его, чтобы он помог в будущем обращаться к другим членам SO - person user4786271   schedule 03.06.2015