Замечания к составу функций ("нефизические" функции)

В пакете WSP существует определенный набор функций, которые вычисляют значения свойств воды и водяного пара, не имеющие под собой никакого физического смысла. Пример – функция wspCPSTX(t, x), вычисляющая удельную изобарную теплоемкость в двухфазной области по температуре насыщения t и степени сухости x. В действительности, изобарная теплоемкость в двухфазной области равна бесконечности, т.к. фазовый переход происходит при постоянных давлении и температуре (Dt = 0, Dp = 0), а изменение энтальпии не равно нулю (Dh ≠ 0). Поэтому, cp = (Dh / Dt)p = ∞. Функция лишь возвращает значение, определяемое как:

cpsw(t)·(1 - x) + cpss(t)·x,

где cpsw(t) – изобарная теплоемкость воды на линии насыщения; cpss(t) – изобарная теплоемкость пара на линии насыщения.

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

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

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

Для отмены проверки на диапазон в WSP определена функция wspSETCHECKRANGEMODE(mode). При вызове этой функции с аргументом равным нулю прекращается проверка на допустимый диапазон аргументов, который определяется по областям допустимых параметров исходных уравнений. Это позволяет проводить вычисления за пределами исходных областей, но со значениями свойств не соответствующих действительности.

Внимание!

Начиная с версии 6.5, все "нефизические" функции при включенной по умолчанию проверке аргументов на допустимый диапазон генерируют ошибку с кодом 2 (WSP_OUT_OF_RANGE).

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

Например, функция wspCPSTX(t, x) генерирует ошибку при любых наборах аргументов (в случае включенного режима проверки на диапазон - см. далее), а функция wspCPPH(p, h), которая "внутри себя" обращается к функции wspCPSTX(t, x) - только при сочетаниях давления p и удельной энтальпии h, которые соответствуют двухфазной области.

Таким образом, по умолчанию "нефизические" функции работать не будут (будут только возвращать значение "-1.0").

Для "включения" "нефизических" функций необходимо отменить режим проверки аргументов на допустимый диапазон. Это можно выполнить путем предварительного вызова функции wspSETCHECKRANGEMODE(mode) с параметром mode = 0.