Многомерные таблицы в Modelica Block

Я начал использовать openmodelica несколько дней назад. Я создал множество таблиц, в которых данные - это эффективность размораживания, первая строка - это температура воздуха, которая является моим первым вводом, а первый столбец - это температура воды на выходе из конденсатора, которая является моим вторым вводом. Я создал такую ​​матрицу для пяти уровней влажности и 4 компрессоров, поэтому у меня есть матрица 20.

Я хотел бы создать блок modelica с 4 входами:

  • Температура воздуха
  • Температура воды на выходе
  • количество компрессоров
  • уровень влажности

и в качестве вывода эффективность размораживания, которая указана в таблицах. Может кто-то помочь мне, пожалуйста ?

Я не могу использовать блок CombiTable2dv, который находится в открытой модели, потому что у меня 4 входных и 20 таблиц. Я нашел статью о модели, в которой говорится о библиотеке, но я не Не знаю, как им пользоваться.


person dav    schedule 14.03.2019    source источник
comment
Библиотека SDF, упомянутая Маркусом А., является новейшей версией библиотеки HDF5Table, которую вы связали в статье. Тем временем библиотека была переименована в SDF. Существуют также реализации Python и Matlab, доступные на github.com/ScientificDataFormat.   -  person marco    schedule 18.03.2019
comment
Не могли бы вы объяснить, как использовать блок NDTable? Я создал файл SDF с помощью Dymola SDF Edtor, но мне не удается его использовать. Спасибо вам   -  person dav    schedule 19.03.2019
comment
связанные: stackoverflow.com/questions/45736504/   -  person matth    schedule 28.03.2019


Ответы (2)


В Dymola для этого есть (бесплатная) библиотека SDF. Если у вас нет Dymola, некоторую информацию можно найти здесь: SDF-Paper. Для тестирования вы можете загрузить бесплатную демонстрацию здесь (необходимо зарегистрироваться).

person Markus A.    schedule 14.03.2019
comment
Не могли бы вы объяснить, как использовать блок NDTable? Я создал файл SDF с помощью Dymola SDF Edtor, но мне не удается его использовать. Спасибо вам - person dav; 19.03.2019
comment
Вы видели пример в SDF.Examples.TabledDiode? Некоторые моменты, которые следует учитывать: (1) nin соответствует количеству шкал, которые вы прикрепили к набору данных, (2) если у вас уже есть файл, проще оставить readFromFile = true (3) вместо функции loadResource, которую вы можете использовать абсолютный путь, (4) наборы данных всегда начинаются с символа / - person Markus A.; 19.03.2019
comment
Спасибо за помощь. Мне удалось использовать 3-D базу данных. Теперь я хотел бы использовать базу данных 4-D, но я не могу создать ее с помощью Dymola SDF Editor, потому что максимальное измерение равно 3. По вашему мнению, следует ли мне использовать группы для добавления измерения или пытаться создать базу данных 4-D используя Python или что-то еще? - person dav; 20.03.2019
comment
Я бы выбрал Python. На странице github.com/ScientificDataFormat/SDF-Python есть небольшое, но полезное введение. В любом случае вручную выходить за рамки 3D не очень удобно. В качестве альтернативы вы также можете использовать MATLAB github.com/ScientificDataFormat/SDF-MATLAB. - person Markus A.; 20.03.2019
comment
Знаете ли вы, действительно ли dymola может использовать неструктурированные таблицы, у меня есть фрейм данных, в котором значения шкалы меняются с другим параметром. По этой причине я предполагаю, что не могу создать файл SDF и поэтому не могу использовать библиотеку * SDF. Вы можете мне что-нибудь посоветовать? - person dav; 27.03.2019
comment
Маркус, не могли бы вы прокомментировать бесплатно? Это бесплатно, как в пиве, или как в речи? Код на github - это BSD3, но кажется, что часть C и часть Modelica отсутствуют. Доступно ли это также по сертифицированной лицензии OSI? - person matth; 28.03.2019
comment
На самом деле мой (бесплатный) имел в виду SDF, поставляемый с Dymola без дополнительных затрат, но, поскольку Dymola поставляется с затратами, весь пакет не является бесплатным. Для части C и Modelica: идет обсуждение лицензирования. Но я думаю, это займет некоторое время ... - person Markus A.; 01.04.2019

N-мерная интерполяция таблиц действительно отсутствует в стандартной библиотеке Modelica. Разработчики осознают необходимость и обсуждали это ранее, однако не смогли прийти к некоторому формату ввода данных для многомерных массивов. Каким будет ваше требование (или даже предложение)?

person tbeu    schedule 14.03.2019