Сохранение только соответствующих переменных в выходных файлах JModelica
Я заметил, что выходной файл из JModelica сохраняет все, что означает, что сложные модели создают огромные файлы, особенно для длительного моделирования.
Можно ли сохранить только соответствующие переменные в выходном файле? Я прочитал руководство пользователя, но не вижу, где можно указать такой аргумент.
Например, моя модель создает переменные [a,b,c,d,e,f,g, время], но я хочу сохранить только [a, b, время].
1 ответ
Действительно, в разделе о симуляции есть аргумент для объекта опции симуляции, который управляет этим, он называется filter
и имеет описание:
Фильтр для выбора переменных для фактического хранения результата. Синтаксис можно найти здесь. Например, filter = "*der", хранить все переменные, заканчивающиеся на 'der', и filter = ["der", "summary *"], сохранять все переменные с именем "der" в имени и все переменные, начинающиеся с "summary",
Вот полный ответ, где я симулирую PIDController
и только вернуть переменные, которые заканчиваются на phi
,
from pymodelica import compile_fmu
from pyfmi import load_fmu
n = compile_fmu("Modelica.Blocks.Examples.PID_Controller")
m = load_fmu(n)
opts = m.simulate_options()
opts['filter'] = '*.phi'
m.simulate(options=opts)