Ви є тут

Вдосконалення методів аналізу вторинних течій в структурі потоків, що несуть зависі, в каналах і трубах енергоустановок

Автор: 
Сурков Сергій Володимирович
Тип роботи: 
Дис. канд. наук
Рік: 
2004
Артикул:
0404U004170
129 грн
Додати в кошик

Вміст

ГЛАВА 2
КОМПЬЮТЕРНАЯ ВИЗУАЛИЗАЦИЯ ПЛОСКИХ ТЕЧЕНИЙ
НЕСЖИМАЕМОЙ ЖИДКОСТИ
Прежде, чем приступить к исследованию вторичных течений и вихревых структур, возникающих во взвесенесущих потоках жидкости и газа, необходимо разработать инструмент, позволяющий сделать эти течения наглядными.
Соответствующий алгоритм и компьютерная программа разработаны нами и описаны в статье [57].
2.1. Постановка задачи для компьютерной визуализации
В ряде задач гидромеханики возникает задача построения линий тока. По определению, линия тока - это линия, в каждой точке которой в данный момент времени вектор скорости направлен по касательной.
Известно (см., например, [28, 41]), что для описания двумерных течений несжимаемой жидкости (как вихревых так и потенциальных) можно использовать функцию тока , и при этом уравнение линии тока записывается очень просто:
, (2.1)
где C - постоянное число.
Однако функция зачастую бывает достаточно сложной, и получить аналитические выражения не всегда возможно. Задача осложняется тем, что заранее неизвестно, какие значения будет принимать в исследуемой области.
Плоские потенциальные течения несжимаемой жидкости описываются комплексным потенциалом
,
где - комплексный потенциал;
- потенциал скорости;
- функция тока;
- мнимая единица;
- комплексная переменная.
При исследовании таких течений дополнительно возникает задача построения эквипотенциальных линий
. (2.2)
Линии тока и эквипотенциальные линии (которые можно объединить под названием "линии уровня") всегда пересекаются под прямыми углами. Совместно они образуют гидродинамическую сетку, их нужно изобразить на одном и том же рисунке.
При моделировании движения частиц взвеси необходимо совместить линии тока течения с траекториями частиц, рассчитываемыми путем численного интегрирования дифференциальных уравнений, на одном рисунке.
Эти особенности не позволяют использовать стандартные алгоритмы построения растровых изображений [53] и популярные графические пакеты (Mathcad, Mathlab, Statistica и т.д.). Возникает необходимость разработки собственного алгоритма компьютерной визуализации плоских течений.
2.2. Алгоритм компьютерной визуализации
Предлагаемый алгоритм компьютерной визуализации предназначен для построения растровых изображений линий тока и эквипотенциальных линий. Алгоритм основан на том, что значение функции тока рассчитывается в точках, соответствующих каждой пиксели экрана. Затем пиксели, ближайшие к соответствующей линии уровня, закрашиваются.
Разобьем задачу построения линий уровня на несколько этапов.
2.2.1. Поиск корней функции одной переменной, заданной в дискретных точках
Первый этап - нахождение корня функции одной переменной, т.е. точки, в которой функция проходит через нулевое значение (При этом координата y считается постоянной). На этом этапе можно предложить по крайней мере два алгоритма.
2.2.1.1. Алгоритм с анализом трех последовательных точек
Этот алгоритм целесообразно применять, если значения функции вычисляются только в узлах равномерной сетки, соответствующих пикселям растрового изображения. Согласно этому алгоритму выполняется сканирование функции вдоль оси x с анализом значений в трех последовательных точках , и .
Если точка является ближайшей к корню функции , то в ней должны одновременно выполняться три условия:
, (2.3)
, (2.4)
. (2.5)
Проанализируем эти условия графически. На рис. 2.1 показаны три функции. Функция удовлетворяет условиям (2.3) и (2.4), но не удовлетворяет (2.5).
Функция имеет разрыв. Она удовлетворяет условию (2.5), но не удовлетворяет (2.3) и (2.4).
И наконец, функция удовлетворяет всем условиям (2.3)-(2.5), и для этой функции точка будет закрашена на рисунке.
Таким образом, сканирование функции по трем последовательным точкам с проверкой условий (2.3) - (2.5) позволяет найти корни функции и отсеять точки разрыва.
2.2.1.2. Алгоритм с анализом "двух с половиной" точек
Погрешность нахождения корня согласно предыдущему методу составляет одну пиксель. Возвращаясь к рис. 2.1, можно отметить, что функция имеет корень в точке или в . Но какую из этих двух пикселей нужно закрасить? В разделе 2.2.1.1 ответ дается следующим образом: поскольку
, (2.6)
закрашивается пиксель . Но это справедливо только в том случае, когда функция является линейной.
На рис. 2.2 показан пример функции . Здесь выполняется условие (2.6), но корень находится ближе к точке .
Если допускается вычисление значения функции в промежуточной точке, точность метода можно повысить. Можно предложить следующий алгоритм. На первом этапе анализируются значения функции в двух соседних точках. Если одновременно выполняются условия
(2.7)
, (2.8)
это значит, что в одной из точек, или , находится корень. Для уточнения его положения вычисляется значение функции в точке , расположенной посередине между точками и . Если выполняется условие
, (2.9)
то закрашивается пиксель , в противном случае - пиксель .
Сравнение изображений, полученных с помощью двух рассмотренных методов сканирования, не показало существенных преимуществ ни одного из методов: оба метода позволяют получить достаточно качественное изображение.
2.2.2. Нахождение точек, в которых функция принимает произвольные целые значения
Второй этап - нахождение точек, в которых функция принимает произвольное целое значение. Рассмотрим вспомогательную функцию
, (2.10)
где функция представляет собой округление до ближайшего целого.
На рис. 2.3 представлен пример функций и . Видно, что (2.6) преобразует непрерывную функцию с произвольной областью изменения в разрывную функцию , изменяющуюся в диапазоне от -0,5 до 0,5, а нахождение точек пересечения с линиями уровня сводится к нахождению корней функции . Но нахождение таких корней проанализировано на предыдущем этапе.
Если значения C в (2.1) должны изменяться с ш