Опции совместного моделирования FMU 'ncp'
Если я установлю значение переменной 'ncp' на большое число, например 400000 для Simulation_options, и смоделирую его. Я получаю ошибку, как показано в приложении. результат моделирования с final_time = 4.0. Если я даю ncp=100000, это работает. Мне нужно использовать 400000 для моего сценария. Я не могу знать причину ошибки. заранее спасибо за помощь
1 ответ
Полученная ошибка - проблема с памятью, т. Е. Python не может выделить достаточно памяти для результатов моделирования.
Во время моделирования результат непрерывно записывается в файл, и в вашем случае с ncp=400000 записывается 400000 точек результата. Если ваша модель велика (с точки зрения переменных), это составляет огромное количество записываемых данных. Обратите внимание, что имитация завершается успешно, и только когда результаты загружаются обратно в память, чтобы вернуть их пользователю, они терпят неудачу. Ваши результаты моделирования сохраняются в файле в вашем текущем каталоге.
Если интерес представляют не все переменные в вашей модели, я бы порекомендовал использовать параметр "фильтр", чтобы для интересующих переменных сохранялись только результаты.
opts["filter"] = "*x" #Store all variables that ends with x
opts["filter"] = ["Myvar1", "Myvar2*"] #Store "Myvar1" and all variables that starts with "Myvar2".
Для получения дополнительной информации о параметрах см. http://www.jmodelica.org/assimulo_home/pyfmi_1.0/pyfmi.html