Таблицы свойств текучей среды предоставляют основные входные данные для блока двухфазных свойств текучей среды (2P). Если установлено программное обеспечение REFPROP Национального института стандартов и технологий, можно автоматически создать эти таблицы с помощью twoPhaseFluidTables функция. При получении свойств жидкости из другого источника, например, из программного обеспечения CoolProp, таблицы по-прежнему можно создавать с помощью сценария MATLAB ®. В этом учебном пособии показано, как создать сценарий для создания таблиц температур жидкости.
В таблицах должны быть приведены свойства жидкости при дискретных давлениях и нормированных внутренних энергиях. Давления должны соответствовать столбцам таблицы, а нормированные внутренние энергии - строкам таблицы. Установка давления и нормализованной внутренней энергии в качестве независимых переменных позволяет задавать таблицы свойств жидкой и паровой фаз на отдельных прямоугольных сетках с помощью матриц MATLAB.
На рисунке показаны две сетки свойств текучей среды во внутреннем энергетическом пространстве (слева) и во внутреннем энергетическом пространстве (справа), нормализованном давлением. При получении таблиц свойств жидкости во внутренней энергетической сетке, зависящей от давления, необходимо преобразовать эту сетку в ее внутренний энергетический эквивалент, нормированный по давлению. В этом учебном пособии это преобразование обрабатывается созданным сценарием MATLAB.

Сценарий MATLAB, созданный в этом учебном пособии, выполняет следующие задачи:
Определите критерии таблицы свойств, включая размеры и внутреннюю энергетическую область, зависящую от давления.
Создание прямоугольных сеток в нормированном давлением внутреннем энергетическом пространстве.
Отображение сеток на внутреннее энергетическое пространство, зависящее от давления.
Получение свойств жидкости на внутренних энергетических сетках, зависящих от давления.
Необходимо получить данные о свойствах жидкости во внутреннем энергетическом пространстве, зависящем от давления, например, путем прямого расчета, из собственной базы данных или из стороннего источника. В этом учебном пособии вы создадите четыре функции MATLAB для предоставления примерных данных о свойствах. В реальном приложении необходимо заменить эти функции эквивалентными функциями, записанными для доступа к данным недвижимости.
Создайте следующие функции MATLAB. Эти функции предоставляют примерные данные свойств, используемые в данном учебном пособии. Убедитесь, что файлы функций находятся по пути MATLAB. Используйте следующие имена функций и код:
Имя liquidTemperature
function T = liquidTemperature(u, p) % Returns artificial temperature data as a function % of specific internal energy and pressure. T = 300 + 0.2*u - 0.08*p;
Имя vaporTemperature
function T = vaporTemperature(u, p) % Returns artificial temperature data as a function % of specific internal energy and pressure. T = -1000 + 0.6*u + 5*p;
Имя saturatedLiquidInternalEnergy
function u = saturatedLiquidInternalEnergy(p) % Returns artificial data for saturated liquid specific % internal energy as a function of pressure. u = sqrt(p)*400 + 150;
Имя saturatedVaporInternalEnergy
function u = saturatedVaporInternalEnergy(p) % Returns artificial data for saturated vapor specific % internal energy as a function of pressure. u = -3*p.^2 + 40*p + 2500;
Запустите новый сценарий MATLAB. Сохраните сценарий в той же папке, что и функции MATLAB, созданные для создания примера данных свойств жидкости. В сценарии определите критерии для таблиц свойств. Для этого введите следующий код для размеров таблицы и допустимых диапазонов внутренней энергии, зависящей от давления:
% Number of rows in the liquid property tables mLiquid = 25; % Number of rows in the vapor property tables mVapor = 25; % Number of columns in the liquid and vapor property tables n = 60; % Minimum specific internal energy, kJ/kg uMin = 30; % Maximum specific internal energy, kJ/kg uMax = 4000; % Minimum pressure, MPa pMin = 0.01; % Maximum pressure, MPa pMax = 15; % Store minimum and maximum values in structure fluidTables fluidTables.uMin = uMin; fluidTables.uMax = uMax; fluidTables.pMin = pMin; fluidTables.pMax = pMax;
Определите векторы давления и нормализованной внутренней энергии для сетки. Эти векторы обеспечивают дискретное давление и нормированные значения внутренней энергии, связанные с каждой точкой сетки. Вектор давления является логарифмически разнесенным благодаря широкому диапазону давления, рассматриваемому в этом примере. Однако можно использовать любой тип интервала, соответствующий данным. В сценарии MATLAB добавьте следующий код:
% Pressure vector, logarithmically spaced fluidTables.p = logspace(log10(pMin), log10(pMax), n); % Normalized internal energy vectors, linearly spaced fluidTables.liquid.unorm = linspace(-1, 0, mLiquid)'; fluidTables.vapor.unorm = linspace(1, 2, mVapor)';
Получить насыщенную жидкость и пар удельных внутренних энергий в качестве функций давления. Внутренние энергии насыщения позволяют отображать нормализованные внутренние векторы энергии в эквивалентные векторы в определенном внутреннем энергетическом пространстве. В сценарии MATLAB добавьте следующий код:
% Initialize the saturation internal energies of the liquid and vapor phases
fluidTables.liquid.u_sat = zeros(1, n);
fluidTables.vapor.u_sat = zeros(1, n);
% Obtain the saturation internal energies at the pressure vector values
for j = 1 : n
fluidTables.liquid.u_sat(j) = saturatedLiquidInternalEnergy(fluidTables.p(j));
fluidTables.vapor.u_sat(j) = saturatedVaporInternalEnergy(fluidTables.p(j));
endsaturatedLiquidInternalEnergy
saturatedVaporInternalEnergy
Отображение нормализованных внутренних векторов энергии на эквивалентные специфические внутренние векторы энергии. В сценарии MATLAB добавьте следующий код:
% Map pressure-specific internal energy grid onto % pressure-normalized internal energy space fluidTables.liquid.u = (fluidTables.liquid.unorm + 1)*... (fluidTables.liquid.u_sat - uMin) + uMin; fluidTables.vapor.u = (fluidTables.vapor.unorm - 2)*... (uMax - fluidTables.vapor.u_sat) + uMax;
Теперь можно получить свойства флюида в каждой точке сетки. Следующий код показывает, как создавать таблицы температур для жидкой и паровой фаз. Аналогичный подход используется для создания оставшихся таблиц свойств жидкости. В сценарии MATLAB добавьте следующий код:
% Obtain temperature tables for the liquid and vapor phases
for j = 1 : n
for i = 1 : mLiquid
fluidTables.liquid.T(i,j) = ...
liquidTemperature(fluidTables.liquid.u(i,j), fluidTables.p(j));
end
for i = 1 : mVapor
fluidTables.vapor.T(i,j) = ...
vaporTemperature(fluidTables.vapor.u(i,j), fluidTables.p(j));
end
endЭтот код вызывает две функции, записанные для создания примерных данных. Перед использованием этого кода в реальном приложении необходимо заменить функции эквивалентными выражениями, способными получать доступ к реальным данным. Необходимо заменить следующие функции:
liquidTemperature
vaporTemperature
Чтобы просмотреть сгенерированные таблицы температур, сначала запустите сценарий. Затем в командной строке MATLAB введите fluidTables. MATLAB перечисляет содержимое fluidTables структурный массив.
fluidTables =
uMin: 30
uMax: 4000
pMin: 0.0100
pMax: 15
p: [1x20 double]
liquid: [1x1 struct]
vapor: [1x1 struct]Список таблиц свойств, хранящихся в liquidподструктура, в командной строке MATLAB введите fluidTables.liquid.
305.9992 305.9988 305.9983 305.9975 ... 309.5548 309.7430 309.9711 310.2475 ... 313.1103 313.4872 313.9440 314.4976 ... 316.6659 317.2314 317.9169 318.747 ... ...
Чтобы визуализировать исходную сетку в нормированном давлением внутреннем энергетическом пространстве, в командной строке MATLAB введите следующий код:
% Define p and unorm matrices with the grid
% point coordinates
pLiquid = repmat(fluidTables.p, mLiquid, 1);
pVapor = repmat(fluidTables.p, mVapor, 1);
unormLiquid = repmat(fluidTables.liquid.unorm, 1, n);
unormVapor = repmat(fluidTables.vapor.unorm, 1, n);
% Plot grid
figure;
hold on;
plot(unormLiquid, pLiquid, 'b.');
plot(unormVapor, pVapor, 'b.');
plot(zeros(1, n), fluidTables.p, 'k-');
plot(ones(1, n), fluidTables.p, 'k-');
hold off;
set(gca, 'yscale', 'log');
xlabel('Normalized Internal Energy');
ylabel('Pressure');
title('Grid in Normalized Internal Energy');Открывается фигура с нормированной давлением внутренней энергосистемой.

Для визуализации преобразованной сетки во внутреннем энергетическом пространстве, зависящем от давления, в командной строке MATLAB введите следующий код:
% Define horizontal and vertical axes
% Plot grid
figure;
hold on;
plot(fluidTables.liquid.u, pLiquid, 'b.');
plot(fluidTables.vapor.u, pVapor, 'b.');
plot(fluidtables.liquid.u_sat, fluidTables.p, 'k-');
plot(fluidtables.vapor.u_sat, fluidTables.p, 'k-');
hold off;
set(gca, 'yscale', 'log');
xlabel('Specific Internal Energy');
ylabel('Pressure');
title('Grid in Specific Internal Energy'); Откроется рисунок с внутренней энергосистемой, зависящей от давления.
