ISSN 2304-9081
Учредители:
Уральское отделение РАН Оренбургский научный центр УрО РАН
Бюллетень Оренбургского научного центра УрО РАН
(электронный журнал)
2014 * № 2
On-line версия журнала на сайте http://www.elmag.uran.ru
© В.В. Влацкий, М.Ю. Тихова, 2014
УДК 004.942-556
В.В. Влацкий, М.Ю. Тихова
МОДЕЛИРОВАНИЕ РЕЧНОГО СТОКА РЕК С ИСПОЛЬЗОВАНИЕМ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ
Оренбургский научный центр УрО РАН, Отдел геоэкологии, Оренбург, Россия
Цель. Создание алгоритма параллельного программирования расчета стока на речном водосборе.
Материалы и методы. Основы теории неустановившегося движения жидкости заложены Ньютоном, Лапласом, Пуассоном, Навье, Стоксом, Буссинеском и другими. Сен-Венаном было получено дифференциальное уравнение медленно изменяющегося неуста-новившегося движения воды в непризматическом открытом русле, получившее название динамического уравнения неустановившегося движения, или уравнения Венана. Вместе с уравнением неразрывности оно составляет систему уравнений Сен-Венана.
Результаты. Была построена модель руслового стока, в которой каждый водоток разбивался на ^участков. Каждый из этих участков по своим гидрологическим характеристикам неизменен на всем протяжении. Выходные данные участка п являются входными расчетными данными для участка щ+ь Задача предусматривает полную трансформацию паводочной волны вначале на первом, затем на втором и последующих участках. Это наиболее эффективный в смысле скорости выполнения алгоритм.
Ключевые слова: речной сток, паводок, гидрологические характеристики, параллельное программирование, моделирование стока
V.V. Vlatsky, M.J. Tikhova
MODELLING RIVER RUNOFF OF RIVERS WITH PARALLEL PROGRAMMING
Orenburg Scientific Centre UrB RAS, Department of Geoecology, Orenburg, Russia
Aim. Creating a parallel programming algorithm for calculating the flow of river basins. Materials and methods. The basis of the theory of unsteady fluid motion laid by Newton , Laplace, Poisson, Navier Stokes, Boussinesq and others. Saint-Venant was the differential equation slowly varying unsteady flow in an open channel not prismatic, called dynamic equation of unsteady flow, or Venant equations. Together with the continuity equation , it is a system of Saint-Venant equations.
Results. Constructed a model of streamflow in which each watercourse was divided into n- sites. Each of these sections on their hydrological character-istics unchanged throughout. Imprint area ni calculated data are input for the site ni+1. The task involves the complete transformation of the flood wave on the ground first, then the second and subsequent sections. This is the most efficient in terms of execution speed of the algorithm.
Key words: river discharge, flood, hydrological characteristics, parallel programming, modeling runoff
Введение.
Компьютерное моделирование речного стока получило развитие, как в нашей стране, так и за рубежом с середины 60-х гг. прошлого столетия. Работы велись преимущественно в двух направлениях: имитация движения воды в речном русле и на склонах речного водосбора. Основу моделей первого направления (речные модели) составляли уравнения неустановившегося движения Навье-Стокса, Сен-Венана; в моделях второго направления (бассейновые модели), кроме указанных уравнений, широко применялись различные модификации уравнений математической физики (прежде всего уравнение диффузии) и различные эмпирические зависимости.
Материалы и методы.
Основы теории движения жидкости заложены Ньютоном, Лапласом, Пуассоном, Навье, Стоксом, Буссинеском и другими. В наиболее полном виде концепция математической модели неустановившегося движения водных масс сформировалась после работ Сен-Венана, который сформулировал практически приемлемую теорию, описывающую распространение паводоч-ной волны в речном русле. В 1871 г. Сен-Венаном было получено дифференциальное уравнение медленно изменяющегося неустановившегося движения воды в непризматическом открытом русле, получившее название динамического уравнения неустановившегося движения, или уравнения Венана. Вместе с уравнением неразрывности оно составляет систему уравнений Сен-Венана. Невозможность аналитического решения системы уравнений Сен-Венана в полном виде привела к появлению упрощенных методов анализа движения паводочных волн. Применение численных методов решения полной системы уравнений Сен-Венана стало возможным с появлением быстродействующих вычислительных машин. В специальной литературе имеются различные варианты решения уравнений Сен-Венана. Модель медленно изменяющегося неустановившегося неравномерного движения водных масс включает уравнение неразрывности и количества движения. Консервативная форма одномерного уравнения неразрывности для речных русел, имеющих боковые притоки, имеет вид:
3(2 до) _ дх дt ^ ’
или в развернутом виде:
Ы^х+У~дх+~&~4, ^
-5
где Р - расход воды (м /с);
ю - площадь живого сечения (м2);
V - средняя скорость течения (м/с);
Л
q - боковой приток на единицу длины (м /с);
х - пространственная координата (м);
1 - временная координата (с).
Развернутая форма одномерного уравнения движения для речных русел, имеющих боковые притоки, имеет вид:
К+г^+1.!Ш> + У*=а-1т)' (3)
от дх о) дх со
Л
где § - ускорение силы тяжести (м/с );
I - уклон дна реки (м/м);
1Т - гидравлический градиент или уклон трения (м/м);
Н - расстояние от водной поверхности до центра тяжести водного сечения.
Уравнение (3) справедливо при следующих допущениях:
1. Поток прямолинеен и скорости одинаковы по всему живому сечению.
2. Давление по живому сечению потока подчиняется гидростатическому закону.
3. Уклон дна реки относительно мал.
4. Скорость течения воды в русле определяется формулой Шези-Манинга, т.е. существует однозначная зависимость расхода воды от уровня.
5. Боковой приток поступает в русло нормально к направлению последнего.
6. Величина бокового притока q отражает пространственный и временной ход бокового притока, для участков без притоков составляющая q=0.
Для расчета по уравнениям (2) и (3), описывающих неустановившееся неравномерное движение водных масс, необходимо задать начальные и граничные условия на участке реки. Термин "начальные условия" означает состояние потока, его скорость или расход во всех точках русла в момент времени 1=0. Граничные условия определяют высоту слоя воды, ее скорость или расход в верхнем и нижнем створах участка реки в любой момент времени 1>0.
В качестве начального условия заданы параметры равномерного установившегося потока. Для равномерного движения расход воды в открытом русле определен по формуле Шези-Манинга:
к -
(2 = о)-ЯЧ05, (4)
п
где п - параметр шероховатости по Манингу;
Я - гидравлический радиус;
I - уклон дна русла;
к - коэффициент пропорциональности.
Для реальных речных русел в условиях неравномерного движения площадь поперечного сечения меняется вдоль реки (координаты х). Неуста-новившееся движение влечет ее изменение и со временем, то есть ю=ю(х, 1). Однако далеко не всегда имеются репрезентативные данные по детальной морфометрии речных русел, поэтому в работе применен другой подход, использованный в свое время Г.П. Калининым. Можно применять уравнения (2), (3) для участков с неизменными по длине гидравлическими характеристиками. Такие участки Г.П. Калинин называл "характерными". Для каждого характерного участка решается система уравнений Сен-Венана. При этом для первого участка входной гидрограф рассчитывается или читается из файла как исходные данные, затем рассчитывается трансформация стока на этом участке и выходной гидрограф, который, в свою очередь, служит входным гидрографом для второго участка, и т.д. Подобный подход позволяет избежать многих математических и вычислительных проблем, существенно упростить алгоритм и, следовательно, повысить скорость счета задачи.
Результаты.
В итоге была сформулирована следующая задача, подлежащая решению и распараллеливанию. Пусть имеется участок реки без притоков ^=0), который разбит на N характерных участков. По каждому из участков известны значения их глубин в начальный момент времени, их длин по оси х, а также скорость течения на каждом из них. Все эти данные должны считываться из файла либо задаваться в окне программы, как и некоторые другие параметры (угол склона дна реки, уклон силы трения). Также из файла считываются данные о времени (полное время Т и величина дискретного участка времени dt) и ширине реки, начальные условия для всех участков, а также граничные условия для первого участка на момент начала каждого момента
Бюллетень Оренбургского научного центра УрО РАН (электронный журнал), 2014, № 2 времени 1 Программа должна дать ответ на вопрос, какова скорость течения на каждом участке реки в каждый момент времени. Либо какова скорость в определенный момент времени на определенном участке реки. Ниже в материале на равных правах будут соседствовать понятия скорости течения V и расхода воды Q. Фактически, зная один из них, мы легко получаем другой из простой формулы:
0 = У-ф, (5)
где ю - площадь сечения реки на данном участке.
В настоящей постановке задача заключалась в расчете движения водных масс вдоль по руслу. Как отмечалось выше, русло разбивалось на N характерных участков, в пределах которых гидравлические характеристики неизменны, следовательно, алгоритм трансформации следует повторять одновременно (параллельно) для всех участков. Это главный принцип параллельности решаемой задачи. Следует отметить, что в реальных речных руслах одновременное перемещение объемов воды происходит не только на участках, но и во всех точках между верхним и нижним створами. Приближение к соблюдению одновременности развития процесса в пространстве применяется в моделях со сложными граничными условиями. В этом случае за каждый расчетный временной интервал алгоритм выполняет расчет по уравнениям сохранения массы и количества движения во всех точках русла. В нашем случае в этом нет необходимости ввиду простоты граничных условий. Задача предусматривает полную трансформацию паводочной волны вначале на первом, затем на втором и последующих участках. Это наиболее эффективный в смысле скорости выполнения алгоритм. В параллельной задаче расчет трансформации волны ведется одновременно для N участков, число которых равно числу процессоров. Нулевой процесс, инициированный на 1-м процессоре, связан с трансформацией за интервал & на нулевом участке входного расхода Ршо в выходной расход Qouт0, который затем с помощью неблокирующей передачи пересылается 1 процессу, инициированному соответственно на 2-м процессоре, и присваивается переменной QIN1 к& входной расход для первого участка. Процесс 1 трансформирует QIN1 в 0оит1 - и так далее до QOUTN. Расчет ведется для всех & из временного интервала Т, необходимого для полной трансформации входного расхода в реке.
Каждый поток, как только он рассчитал выходное значение расхода
Бюллетень Оренбургского научного центра УрО РАН (электронный журнал), 2014, № 2 или скорости воды (равносильность этих величин пояснялась выше), готов принять новое входное значение расхода от предыдущего потока, которое будет соответствовать следующему моменту времени. При таком распределении расчетных работ между потоками каждый из них работает как конвейер. Очередной поток выводит информацию о выходном значении, которое он рассчитал. Поток, которому достался последний характерный участок реки, рассчитанное значение никому не передает.
Необходимо решить уравнение (3) относительно функции V. Представим всю совокупность характеристических участков реки в виде пространственно-временной сетки. Поскольку известны начальные и левые граничные значения, данная задача полностью подходит для ее аппроксимации левым уголком. Точкой аппроксимации становится VП, а все уравнение принимает вид
уп _тли-1 уп _уп И -И Уп -а
т т _|_ т т-1 _|_ ^ т_т-1 _|_ т 1 _ ^{1 _I ) (6)
сії сіх сіх со
После получается квадратное уравнение относительно неизвестной V"
2
А-У" + В-Г"+С = О, (7)
т т ’ \ /
где
А = Л (8)
в = Лх-КгЛ + ч^_ (9)
т—1 77 V /
ъ-К
с = §((К - К-1 )Ж -(!- 1()ЛхЖ) - У^сіх (10)
где Ь - ширина речного русла.
В нашем случае для упрощения мы считаем ширину одинаковой на всем протяжении реки. Решая его, получим два теоретически возможных решения, из которых, естественно, берем лишь одно, где дискриминант положителен, поскольку неотрицательность этого решения более вероятна. Именно этот результат мы запоминаем, выводим и передаем на вход следующему потоку.
Для создания параллельного варианта алгоритма для данной задачи было решено использовать среду Бог1апё Бе1рЫ 7.0. Окно разработанной программы представлено на рисунке.
|7 * Моделирование речного стока -|П|Х|
Исходные данные Результаты
Считать данные | Сброс Выполнить расчет Сохранить в файл
Число участков N
Скорость течения на участках (м/с)
I4 4 4 4 4
Длины участков (м)
| :о 20 20 20
Уклоны дна реки 1 (рад)
|0 1 0,1 0,1 0.1
Уклоны трения К (рад)
^ и 01 0,01 0,01 0.01
Боковые притоки (м*м*м/с)
№ 1 1 1
Общее время Т (с) Интервал сИ (с)
|120 І2
Уск. своб, пад. д (м/с*с) 9,81 Ширина русла (м) |17
И1 1 1 1 1 Ж
1,0697
1,1391
1,2079
1,2758
1,3420
1,4067
1,4694
1,5299
1,5877
1,6427
1,6946
1.7431
1,7880 ■ІІ
Рис. 1. Окно разработанного приложения.
В этой среде есть специальный тип объекта - поток, при активации которого система сама создает новый параллельный поток в пределах одного приложения. Для реализации неблокирующего обмена данными между главным потоком приложения и расчетными потоками, вычисляющими значения гидравлических показателей задачи на участках, в среде Эе1рЫ существуют несколько способов. Основные из них: метод логических переменных, метод критических секций, метод семафоров. По своей сути, принцип работы этих методов мало отличается. Все они одинаково обеспечивают такой доступ от потока к потоку, при котором гарантируется, что другие процессы этому обмену не помешают, а также в них не возникнет ошибки при попытке подключения к участникам этого обмена.
Как видно, все окно явно поделено на две части. Слева находится панель управления исходными данными задачи, а справа - результатами. При запуске программа сразу заполняет все ячейки исходных параметров (среди которых также и часть сетки результатов, в которой находятся начальные и граничные условия) значениями по умолчанию. Также есть возможность считать данные из файла («Считать данные») или просто заполнить их вручную. В любой момент можно вернуть к значениям по умолчанию с помощью
Бюллетень Оренбургского научного центра УрО РАН (электронный журнал), 2014, № 2 кнопки «Сброс». При нажатии на кнопку «Выполнить расчет» активизируется вся расчетная часть программы. В это время все потоки работают над вычислением скоростей течения на участках реки и выводят их в расчетную сетку. По окончании процесса имеется возможность в удобном виде сохранить все результаты в файл, который, в свою очередь, может интегрироваться в географическую информационную систему (ГИС).
Заключение.
Таким образом, использование вышеописанных методов значительно упрощает процесс создания математических моделей, на основе больших объемов данных. Технологии параллельного программирования в значительной степени сокращают время, затрачиваемое на вычисление характеристик модели.
ЛИТЕРАТУРА.
1. Линслей Р. К. Модели "осадки - сток". В сб.: Системный подход к управлению водными ресурсами / Под ред. А. Бисваса. М.: Наука, 1985: 25-59.
2. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям: философия, психология, информатика. М.: Эдиториал УРСС, 2002.
3. Ющенко С.П. Многоагентные информационные системы: Учеб. Пособие. Курск: Курск ГТУ, 2004.
4. Тихова М.Ю., Влацкий В.В. Геоинформационная система гидрологического назначе-
ния в Оренбургской области. Бюллетень Оренбургского научного центра УрО РАН. 2012. 1: 1-10. (Режим доступа: http://elmag.uran.ru:9673/magazine/Numbers/2012-
1/Articles/Tihova-Vlackii(2012-1).pdf).
5. Влацкий В.В. Моделирование речного стока с использованием ГИС технологий. Вестник Оренбургского государственного университета. 2010. 9 (115): 104-109.
Поступила 5.06.2014 г.
(Контактная информация: Влацкий Валерий Викторович - с.н.с. Отдела геоэкологии Оренбургского научного центра УрО РАН; 460014, г. Оренбург, ул. Набережная, 29, тел./факс 8 (3532) 770660; e-mail: geoecol-onc@mail. ru)