F.A.Q. (Часто Задаваемые Вопросы)

Q: Чем WaterSteamPro отличается от других программ?

Q: Что означает зарегистрировать программу?

Q: Какова продолжительность персональной регистрации?

Q: Что такое переохлажденный пар?

Q: Как в рабочих документах Mathcad программы WaterSteamPro используются градуса Цельсия?

Q: Как в Mathcad 11 подключить описания функций пакета WaterSteamPro при отсутствии их описания в диалоге "Вставка функции"?

Q: Почему в WaterSteamPro 6.0 нет функций для перебора компонентов смеси газов

Ответы

вверх

Q: Чем WaterSteamPro отличается от других программ?

A: В качестве исходных уравнений в WaterSteamPro взяты уравнения Формуляции-97 Международной Ассоциации по Свойствам Воды и водяного Пара (http://www.iapws.org). Данная система уравнений была разработана с целью замены более старой Формуляции от 1967 г., на которой основано большинство на текущий момент программ. При разработке новой Формуляции ставилась цель увеличить скорость и точность расчетов (при использовании вычислительной техники), поэтому новая Формуляция более точно передает значения в промежуточных точках скелетной таблицы свойств воды и водяного пара и к тому же расчет производится быстрее. В WaterSteamPro введена дополнительная надстройка над исходными уравнениями Формуляции-97, которая позволяет рассчитывать свойства независимо от области состояния воды.

Следующая особенность пакета WaterSteamPro в том, что Вы можете обращаться к его функциям из различных программ (например Mathcad, C/C++, Delphi, Basic, JavaScript/VBScript, HTML-страницы). При этом названия функций, их аргументы и возвращаемые результаты будут совпадать. .


вверх

Q: Что означает зарегистрировать программу?

A: При регистрации программы Вы получаете свой уникальный регистрационный ключ, который по лицензии только Вы имеете право использовать. Дополнительная информация о регистрации приведена здесь.


вверх

Q: Какова продолжительность персональной регистрации?

A: Регистрация распространяется на текущую версию WaterSteamPro или до смены регистрационного ключа. Зарегистрированные пользователи смогут получать регистрацию на новую версию со скидкой.


вверх

Q: Что такое переохлажденный пар?

A: Это состояние существует при определенных условиях: дело в том, что обычно процесс конденсации начинается на различных мелких частицах (например пыли), т.н. центрах конденсации, которые при интенсивном отводе тепла довольно быстро "обрастают" каплями влаги. Однако существуют случаи, когда таких центров конденсации очень-очень мало, а процесс конденсации протекает относительно медленно. В этом случае происходит переохлаждение пара - температура пара меньше, чем температура насыщения при давлении пара. При резком изменении условий (например взбалтывании сосуда с переохлажденным паром) происходит резкая конденсация пара по всему объему.

Обратный эффект - перегретая жидкость (температура жидкости больше, чем температура насыщения при давлении жидкости) - используется, например, в камере Вильсона, в которой регистрируются пузырьки пара, образовавшиеся при прохождении субмолекулярных частиц через перегретую жидкость. При этом, о размере и импульсе частицы можно судить по паровому следу, который виден на делаемой фотографии.


вверх

Q: Как в рабочих документах Mathcad программы WaterSteamPro используются градуса Цельсия?

A: Это довольно хитрая штука. Дело в том, что шкала Цельсия - не абсолютная шкала и поэтому просто определить в Mathcad градус Цельсия как другие размерности (см. файл wspunits.mcd) нельзя. Для работы с градусом Цельсия в пакете WaterSteamPro используется следующий подход:

1. ВСЕ значения переменных хранятся в градусах Кельвина (т.е. абсолютной шкале). Градусы Цельсия используются только при вводе или выводе.

2. Для ввода градуса Цельсия (с автоматическим пересчетом в градусы Кельвина) используется функция (определенная в файле wspunits.mcd) с именем "°C" (градус вводится как: Alt+0176: при нажатой клавише Alt набирается на цифровой группе клавиш (на клавиатуре слева) число 0176; а "C" - английская). Эта функция достаточно проста, ее формула выглядит как: °C(x) = (x + 273.15) * K. Если непосредственно использовать в Mathcad такую функцию, то ее вызов будет выглядеть как: t = °C(20), что, согласитесь, не очень "хорошо" выглядит. Поэтому для ввода используется т.н. постфиксный оператор (он находится на закладке "Evaluation" в Mathcad 2001 и выглядит как "x f"). При этом вышеприведенный оператор ввода выглядит так: t = 20 °C, что выглядит как в общепринятой нотации.

3. Для вывода температуры в градусах Цельсия (т.е. осуществлении пересчета с градусов Кельвина на Цельсия) используется тот факт, что в английском алфавите для обозначения единицы измерения заряда (у нас кулон) используется буква "C". Поэтому в файле "wspunits.mcd" введена функция с именем " " (пробел), которая использует следующую формулу: (x) = (x/K - 273.15) * C При выводе температуры используется префиксный оператор (в пункте 2 - постфиксный), который позволяет выводить в нашем случае такое изображение: t = 20 С, где С - это кулон.

Для ввода имени функции " " используется специальный режим в Mathcad вставки спецсимволов. Для этого необходимо в режиме ввода формулы нажать сочетание клавиш Ctrl-Shift-K, при этом цвет формулы станет красным. Далее небходимо ввести имя, состоящее только из одного пробела, а после этого введенное имя можно копировать, вставлять и т.д., в том числе и в префиксный оператор.


вверх

Q: Как в Mathcad 11 подключить описания функций пакета WaterSteamPro при отсутствии их описания в диалоге "Вставка функции"?

A: Для решения этой проблемы необходимо проделать следующие:

1. В каталоге установки пакета Mathcad (обычно это папка с именем "C:\Program Files\MathSoft\Mathcad 11") есть каталог с именем "DOC". Далее в нем, в свою очередь, есть подкаталог с именем "Funcdoc". В последнем есть файл с именем "wspmcad.xml", который необходимо переименовать в файл "wspmcad_EN.xml".


вверх

Q: Почему в WaterSteamPro 6.0 нет функций для перебора компонентов смеси газов?

A: Дать этому объяснение не очень легко, но будет проще, если привести сначала пример.

Пусть будут определены функции для определения компонентов смеси: функция количества газов в смеси и функция, возвращающая, допустим, спецификацию компонента в смеси в зависимости от передаваемого индекса. Назовем эти функции wspgGETGASCOMPONENTSCOUNT(gas_spec) и wspgGETGSINDEX(gas_spec, index) соответственно. Примечание: будем рассматривать работу со спецификациями газов, чтобы было более наглядно, хотя аналогичные функции легко сделать и для идентификаторов газов.

Очень важно, что предназначением таких функций, скорее всего, будет использование их результатов для определения состава (объемного или массового) смеси газов с помощью встроенных в WaterSteamPro 6.0 функций wspgVFGSGS(gs_1, gs_2) и wspgMFGSGS(gs_1, gs_2).

Так, можно рассмотреть следующий сценарий (на некоем языке программирования), который производит заполнение массива x_gs[] объемными долями входящих в смесь газов (задаваемую спецификацией gs) компонентов:

gs = "..." // Здесь задается спецификация газа (смеси)
for i = 0 to wspgGETGASCOMPONENTSCOUNT(gs) - 1
	x_gs[i] = wspgVFGSGS(gs, wspgGETGSINDEX(gs, i))
end for

Такой код позволяет получить состав смеси газов. Он достаточно простой и не требует особых пояснений.

Представим себе, что мы имеем следующую спецификацию газа: "{H2O:1;CO2:1}:1;H2O:1". Для такой спецификации функция wspgGETGASCOMPONENTSCOUNT() вернет значение 2 (смесь состоит из двух газов: "H2O" и другой смеси).

При переборе компонентов первым будет, допустим (но это не обязательно), "H2O:1;CO2:1". Для этого компонента функция wspgVFGSGS() вернет значение 0.5, как и ожидалось.

Однако, для второго компонента - "H2O" результат, возвращаемый функцией wspgVFGSGS() будет отличным от ожидаемого: функция вернет значение 0.75. При суммировании 0.5 и 0.75 получится, что суммарное количество компонентов составляет 1.25, что неправильно, т.к. сумма долей компонентов должна быть равна 1.0.

Результат, возвращаемый функцией wspgVFGSGS(), равный 0.75 для "H2O" в данном случае, связан с алгоритмом работы функций для определения состава смесей газов.

Рассмотрим их работу более подробно на примере той же функции wspgVFGSGS(gs_1, gs_2), которая возвращает объемную долю газа, задаваемого спецификацией gs_2 в газе (смеси), задаваемого спецификацией gs_1.

Пусть у нас будет смесь gs_1 = "H2O:1;CO2:1", что означает смешение равных объемов "H2O" и "CO2". Тогда результат вызова функции wspgVFGSGS(gs_1, "H2O") будет равен 0.5, т.е. газ "H2O" по объему составляет половину от газа, задаваемого спецификацией gs_1. В этом случае результат, возвращаемый функцией ясен и не требует разъяснения.

Пусть у нас будет более сложная смесь gs_2 = "{H2O:1;CO2:1}:1;N2:1", т.е. смешение равных объемов "N2" и смеси, состоящей из равных объемов "H2O" и "CO2". В этом случае результат вызова функции wspgVFGSGS(gs_2, "H2O") будет равен 0.25: содержание "H2O" в "H2O:1;CO2:1" равно 0.5, а содержание "H2O:1;CO2:1" в gs_2 равно 0.5, что дает в итоге содержание "H2O" в gs_2 равное 0.25. Последнее означает, что функции определения доли компонентов "просматривают" вложенные смеси, определяя в итоге абсолютную долю газа в смеси.

Таким образом, при таком алгоритме работы функций для определения долей компонентов в смеси, создавать функции для перебора компонентов в смеси бессмысленно - использование их результатов будет приводить к ошибкам.

Гораздо более правильным, при текущем алгоритме работы функций для определения долей компонентов в смеси, является перебор всех базовых газов и определение доли каждого из них в смеси. Это можно сделать используя доступные в WaterSteamPro 6.0 функции. Следует однако помнить, что газы "AirMix" и "N2AirMix", в отличие от других встроенных газов, представляют собой смеси газов принятого состава.

Хотелось бы также отметить, что функции для перебора компонентов смеси были бы более нужны, если бы можно было создавать только одну смесь или смесь только из базовых газов (и нельзя было бы создавать смеси смесей). Однако в WaterSteamPro 6.0 можно создавать как несколько смесей газов одновременно, так и вложенные смеси.