Можно ли указать c энтропию в качестве переменной в BaseProperties в библиотеке Modelica Media? - PullRequest
2 голосов
/ 03 августа 2020

Я пытаюсь смоделировать проблему isentropi c (т.е. энтропия спецификаций c остается постоянной). Моя цель - сделать это, не делая предположений о том, что жидкость является идеальным или калорийно совершенным газом, поэтому я остаюсь с базовым c сохранением l aws. Это не проблема, но мне нужно использовать процесс (isentropi c), чтобы связать мои различные состояния. Что мне нужно сделать, так это установить s1 = s2, но похоже, что у Modelica BaseProperties есть средства для этого. Я хотел бы знать следующее:

  1. Могу ли я передать определенную c энтропию «s» (не путать с энтальпией «h») в BaseProperties или какой-либо другой функции вместе с другим свойством ( а может П) и вернуть термодинами c состояние среды? Я просмотрел большую часть работы библиотеки мультимедиа и заметил, что есть функции для возврата определенной c энтропии с учетом состояния термодинамики c, но я не думаю, что могу предоставить «s» и переменную для получить мое состояние.
  2. По теме: можно ли легко интегрировать CoolProp в Modelica? Я вижу, что есть библиотека External Fluid, но она построена по стандарту библиотеки Media, что означает, что она тоже, похоже, не принимает "s" в качестве аргумента для определения состояния термодинами c.

Спасибо за ваше время.

Ответы [ 2 ]

0 голосов
/ 11 августа 2020

Относительно вашего второго вопроса: Да, вы можете легко использовать ExternalMedia для расчета свойств с данными CoolProp. Проблема с s должна быть решена предложением Рене Джаста Нильсена выше. ExternalMedia использует то же определение носителя, поэтому вы можете легко заменить модели носителей из MSL на носители, например, из CoolProp.

0 голосов
/ 06 августа 2020

Specifi c энтропия не включена в BaseProperties. Однако вы можете получить термодинамическое c состояние среды как функцию (p,s) с помощью функций setState_ps() и setState_psX(). Например,

model Isentropy
  package Medium = Modelica.Media.Water.StandardWater;

  Medium.ThermodynamicState state1=Medium.setState_pT(1e6, 573.15);
  Medium.ThermodynamicState state2=Medium.setState_ps(5e5, s1);

  Medium.SpecificEntropy s1=Medium.specificEntropy(state1);

  // retrieve e.g. specific enthalpies from state records
  Medium.SpecificEnthalpy h1=Medium.specificEnthalpy(state1);
  Medium.SpecificEnthalpy h2=Medium.specificEnthalpy(state2);
end Isentropy;
...