Перераспределение двух средних пакетов в одном системном компоненте - PullRequest
0 голосов
/ 23 мая 2019

Я новичок в modelica, и у меня нет такого большого опыта в этом, но я, конечно, получил основы. Я пытаюсь смоделировать микрожидкостную сеть. Сеть состоит из двух источников воды и масла, управляемых двумя клапанами. Поток двух сред взаимодействует в точке соединения, а затем в резервуар или камеру. Меня не волнуют текучие свойства смеси, потому что это не моя цель. Мой вопрос заключается в том, как переопределить два пакета со средой (вода и масло) в одном компоненте системы, таком как Tjunction или бак, чтобы смоделировать систему. В моей реальной модели эти две среды не встречаются, потому что каждая среда проходит через каналы в разное время.

Я прикрепил модель к этому сообщению. Вот ссылка. https://www.dropbox.com/s/yq6lg9la8z211uc/twomediumsv2.zip?dl=0

Спасибо за помощь.

1 Ответ

3 голосов
/ 24 мая 2019

Я не думаю, что вы можете переопределить среду во время симуляции.В вашем случае (где вам не нужно смешивать две жидкости) вы можете создать новую среду, например, под названием OilWaterMixture, расширяющуюся от Modelica.Media.Interfaces.PartialMedium.

Если вы посмотрите на кодPartialMedium вы увидите, что он содержит множество partial («пустых») функций, которые вы должны заполнить в своей новой модели носителя.Например, в OilWaterMixture вы должны расширить функцию specificEnthalpy_pTX, чтобы она возвращала удельную энтальпию вашей смеси вода / масло для определенной смеси вода / масло (задается вектором массовой доли X).Это можно сделать, добавив следующую модель в пакет OilWaterMixture:

redeclare function extends specificEnthalpy_pTX "Return specific enthalpy"
  Oil = Modelica.Media.Incompressible.Examples.Essotherm650;
  Water = Modelica.Media.Water.StandardWater;
algorithm 
  h_oil := Oil.h_pT(p,T);
  h_water := Water.specificEnthalpy_pT(p,T);
  h := X[0]*h_oil + X[1]*h_water;
end specificEnthalpy_pTX;

Вектор массовой доли X определен в PartialMedium, а в OilWaterMixture необходимо определить, что он имеет дваэлементы.

Опять же, поскольку вы фактически не собираетесь использовать свойства смешивания, а только векторы массовой доли {0,1} или {1,0}, простое линейное уравнение смешивания должно быть адекватным.

Когда выиспользуйте OilWaterMixture в различных компонентах, в журнале ошибок будет указано, какие функции среды им нужны.Поэтому вам, вероятно, не нужно расширять все частичные функции в PartialMedium.

...