Опции совместного моделирования 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

Другие вопросы по тегам