УДК 518.1
А. В. Антонов, М. Ю. Медведик, Ю. Г. Смирнов
РАЗРАБОТКА WEB-ОРИЕНТИРОВАННОГО ВЫЧИСЛИТЕЛЬНОГО КОМПЛЕКСА ДЛЯ РЕШЕНИЯ ТРЕХМЕРНЫХ ВЕКТОРНЫХ ЗАДАЧ ДИФРАКЦИИ ЭЛЕКТРОМАГНИТНЫХ ВОЛН НА ОСНОВЕ СУБИЕРАРХИЧЕСКИХ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ И ГРИД ТЕХНОЛОГИЙ*
Рассматривается задача дифракции электромагнитного поля в плоском идеально проводящем ограниченном экране, которая сводится к интегродиф-ференциальному уравнению, и разрабатывается численный метод для ее решения. Решение задачи реализуется с помощью Web-интерфейса при использовании субиерархического подхода.
Рассмотрим задачу дифракции электромагнитного поля на идеально проводящем тонком, плоском ограниченном экране. В общей постановке задача состоит в нахождении решений уравнений Максвелла, удовлетворяющих определенным краевым условиям и условиям излучения на бесконечности. Данная задача принадлежит к числу классических в электродинамике. Наиболее естественный подход к решению этой задачи - сведение ее к векторному интегродифференциальному уравнению на экране. Впервые интег-родифференциальное уравнение на экране было получено А. Мауэ в 1949 г. В наших обозначениях это уравнение имеет вид
где Біу - операция поверхностной дивергенции; А - интегральный оператор
где и - касательное к поверхности экрана й векторное поле (плотность поверхностного тока). Индекс т показывает взятие касательных компонент к й соответствующего векторного поля. Центральной проблемой при исследовании разрешимости представленных выше уравнений является выбор пространств для решений и для правых частей таким образом, чтобы обеспечить фредгольмовость (и, если удастся, однозначную разрешимость) этого уравнения в выбранных пространствах. Кроме того, пространство решений должно быть достаточно широким и содержать все возможно допустимые поля. Для решения данной задачи стали активно применяться численные методы (метод моментов, метод Галеркина), но без достаточного математического обоснования. Тем не менее, в численных решениях задач дифракции был накоплен значительный опыт. Имеется ряд монографий по решению за-
* Работа выполнена в рамках Программы Союзного государства СКИФ-ГРИД, проект
Введение
Ьи := вгаётА(Біу и) + к2\и = /, хе й,
(1)
(2)
№ 2007-СГ-01.
дач дифракции на экранах различной формы. Наиболее распространенным стал метод, предложенный в 1982 г. в статье [1]. Следует подчеркнуть, что проблема эффективного численного решения задач дифракции на тонких экранах в настоящее время, по-видимому, пока не решена даже с использованием самых мощных современных ЭВМ.
В данной работе предлагается другой подход, названный нами субие-рархическим, в котором из результатов решения задачи, полученных на прямоугольном экране, «вырезается» другой экран произвольной формы, целиком помещается в прямоугольном экране, и, не производя повторных вычислений в матрице СЛАУ, определяем значение поверхностных токов на новом экране. Таким образом, можно решить серию задач дифракции на экранах различной формы. Субиерархический метод используется совместно с параллельными вычислительными алгоритмами в связи с большой вычислительной сложностью формирования матрицы СЛАУ. Наиболее удобно рассчитывать подобные задачи на кластере [2, 3].
Используя разработанный алгоритм, был создан и запущен в действие Web-ориентированный вычислительный комплекс для решения трехмерных задач дифракции на плоскости. Данный комплекс позволяет вычислить значения поверхностных токов на экранах произвольной формы на плоскости. Степень произвольности экрана зависит от размера выбранной сетки. По результатам вычислений можно построить графики распределения модулей токов на поверхностных сечениях. Матрицы для решения данной задачи рассчитывались на кластерах НИВЦ МГУ. Данная работа может найти применение у специалистов инженерных направлений, занимающихся разработкой и проектированием антенн и печатных плат.
гладкой границей Г, состоящей из конечного числа простых дуг класса С°, сходящихся под углами, отличными от нулевого. Задача дифракции сторон-
тонком идеально проводящем экране й, расположенном в свободном про-
Будем предполагать, что все источники падающего поля находятся вне экрана й так, что
Обычно падающее поле - это либо плоская волна, либо электрический или магнитный диполь, расположенный вне й.
Определим пространство W как замыкание С° (й) в норме:
Постановка задачи
Пусть й с R2 ={з =0} с R3 - ограниченная область с кусочно-
него монохроматического электромагнитного поля E0, H0 на бесконечно
2 2 —1
странстве с волновым числом k , k =ю ц(е + гаю ), 1тk > 0 (k Ф 0), сводится к решению уравнения (1), где / = 4л№° I й.
еТ’ійЄ С“ (й).
|2
|2
1-1/2 .
№
Известия высших учебных заведений. Поволжский регион Можно показать, что [4]
W = { и є Н _1/2(Й):Біу и є Н _1/2(Й)} ,
где пространство Соболева Нх (й) определяем обычным образом.
Через W' обозначено антидвойственное пространство для W относительно полуторалинейной формы (/, V) = |/ • уйх,
й
W' = { и й: и є Н_1/2(М),^ и є Н_1/2(М)} ,
где М - замкнутая поверхность, такая, что Йє М .
Метод Галеркина
Рассмотрим п-мерное пространство Уп с W. Будем проводить аппроксимации и элементами. Методом Галеркина находим ип из системы уравнений [5]
(Ып, V) = (/, V) Vv єУп. (3)
Эти уравнения определяются конечномерным операторомЬп :Уп ^ Уп,
где Уп есть антидуальное пространство кУп .
Основная трудность для уравнений электрического поля (1) состоит в том, что оператор Ь не является сильно эллиптическим, и традиционные теоремы о сходимости метода Галеркина не применимы. Результаты о сходимости метода Галеркина удается обобщить на уравнения с операторами, эллиптическими на подпространствах.
Рассмотрим в прямоугольнике П = [0, а]х[0,Ь] базисные функции
ф у (х, у) по методу (рис. 1)
ф j (x у ) =
- - (, у - ур) в T+,
2SJ
jx,у2‘)-у) в T-, (4)
2 2 hs-j j
0, в остальных случаях.
Пусть в прямоугольнике П выбрана равномерная прямоугольная сетка с шагом hi по переменной x и шагом по переменной у. Рассмотрим конечномерное подпространствоXN = span{ф^,..., фn} , являющееся линейной оболочкой базисных функций ф j , 1,..., N , где N - количество внутренних ребер сетки. Нетрудно проверить, что ф j G W (П), Xn с W .
'I
Рис. 1 Базисные функции сетки и субиерархический алгоритм
Описание численного метода
Разработанный метод позволяет рассчитывать поверхностные токи на плоском ограниченном, бесконечно тонком и идеально проводящем экране. Форма экрана может быть произвольной.
Построение сетки
Рассмотрим экран прямоугольной формы. На экране выберем равномерную прямоугольную сетку. Всем узлам в прямоугольной области будет присвоен свой индивидуальный номер (рис. 1). Пусть прямоугольная область содержит п узлов по оси Ох и т узлов по оси Оу . Таким образом, общее количество узлов равно пт. Количество диагональных ребер будет определяться по формуле (т - 1)(п -1), количество вертикальных ребер - по (т - 1)(п - 2), количество горизонтальных ребер - по (т - 2)(п -1). Таким образом, общее число ребер равно N = (т - 1)(п -1) +(т - 1)(п - 2) + (т - 2)(п -1).
Опишем алгоритм нумерации ребер в сетке. Первыми нумеруются диагональные ребра, затем вертикальные, и последними нумеруются горизонтальные ребра (рис. 1). Нетрудно сформулировать критерий принадлежности ребра области. Ребро принадлежит области, если оно принадлежит ей вместе с двумя содержащими его треугольниками. Треугольники, содержащие ребро, будем называть носителями. Носители условно разделим на два вида: Т+ и Т-. Носитель Т + будем называть положительным носителем, а носитель
Т- - отрицательным носителем. Для горизонтального ребра положительным является верхний носитель, а отрицательным - нижний носитель. Для вертикального ребра положительным является правый носитель, а отрицательным -левый носитель. Для диагонального ребра положительным является верхний носитель, а отрицательным нижний носитель.
Расчет интегралов
Рассмотрим схему метода Галеркина. Следуя алгоритму, предложенному в схеме, мы должны сформировать матрицу на базе построенной сетки. Поскольку ключевыми элементами в сетке являются ребра, то в матрице номер ребра соответствует номеру строки или номеру столбца. Размер создаваемой матрицы равен N х N , где N - количество ребер в сетке. Матрица заполняется элементами из матричного уравнения (3). Каждый элемент матрицы получается путем вычисления четырехкратного интеграла:
1у = (Іфі, Фу) = - |в(х, у)<ііуф; (х)<ііуфу (у^ + к2 |в(х, у)ф; (х) фу (у^, й й
имеющего слабую особенность в области интегрирования. Здесь х = (х^, Х2),
ехр(ік|х - у|)
у = (у1, у2), а С(х, у) =-:—1—|—*-. В качестве базисных функций ф(х) и
Iх - у|
тестовых и (у) выберем функции К^в, предложенные в статье [1]. Базисные функции имеют вид (4).
Рассмотрим алгоритм вычисления произвольного элемента матрицы. Для этого выберем произвольный элемент 1у , построенный по ребрам і и у .
Первым рассмотрим случай, когда і Ф у . Каждое ребро имеет свои носители. Для ребра і - это носители Т;+ и Т;~ , для ребра у - это носители Т+ и Т- .
Проведем интегрирование подынтегральной функции по четырем областям, определяемым носителями каждого из ребер. Для этого каждую сторону носителей разобьем на п равных частей. Проведем линии, соединяющие соответствующие узлы разбиения. Таким образом, мы получаем четыре треугольника, разбитые на одинаковые по площади маленькие треугольники. Внутри каждого маленького треугольника выбираем точку пересечения медиан. Далее производим интегрирование методом прямоугольников, суммируя значения функции во всех таких точках, умноженные на площадь треугольника. Количество узлов в квадратурной формуле при этом рассчитывается по формуле (п -1) . Рассмотрим второй случай, когда матричный элемент построен на базе совпадающих ребер і = у . В этом случае в связи с особенностью в функции 0(х, у), при интегрировании по квадратурной формуле, предложенной выше, возможно возникновение ситуации, приводящей к делению на ноль. Чтобы избежать этого, мы предлагаем разнести внутренние узлы в квадратурной формуле. Например, для носителей ребра і в качестве узлов в маленьких треугольниках можно брать точку пересечения медиан, а для ребра у внутреннюю точку можно рассчитывать как середину средней линии, параллельной диагональному ребру треугольника. Таким образом,
деления на нуль не возникает. Однако есть еще случай, когда ребра i и j являются соседними. Тогда возможно пересечение только одного из носителей. В этом случае мы можем также воспользоваться методом, описанным выше. Итак, описан алгоритм для построения элемента матрицы. Правая часть матричного уравнения рассчитывается путем численного интегрирования базисных функций, умноженных на правую часть уравнения
fj = I f •ф jds, j = 1,..., N . Интегрирование производится по носителям, соот-а
ветствующим ребру с номером, равным номеру строки в матрице. Для нахождения токов осталось решить систему линейных уравнений.
Интерфейс пользователя
Интерфейс пользователя вычислительного комплекса организован по принципу «тонкого клиента» с возможностью доступа через сеть Интернет [б]. Для использования его возможностей необходимо иметь выход в сеть Интернет и Web-браузер с поддержкой JavaScript (рекомендуется использовать MS Internet Explorer версии не ниже б или Mozilla Firefox версии не ниже 1.8). Тестовая версия вычислительного комплекса размещена на сайте Регионального центра суперкомпьютерных вычислений (РЦСВ) при Пензенском государственном университете по адресу http://alpha.pnzgu.ru в разделе «Научная работа».
Исходными данными для вычислений являются следующие параметры (рис. 2):
- p - выбор поляризации: "1" - ^-поляризация, "-1" - H-поляризация падающей волны;
- e - относительная диэлектрическая проницаемость (e > 1); x - Х-коор-дината вектора падения плоской волны;
- y - Y-координата вектора падения плоской волны;
- z - Z-координата вектора падения плоской волны;
2n
;
- матрица, задающая форму фигуры, на которой также задаются вертикальная и горизонтальная срезки.
Числовые характеристики вводятся в соответствующие поля формы, а матрица рисуется при помощи указателя манипулятора.
После ввода параметров нужно нажать кнопку «Сохранить», при этом все исходные данные сохранятся на сервере в файле специального формата.
Далее пользователь должен перейти в раздел «Результаты работы» (рис. З). В нем отображается в виде рисунка заданная ранее фигура и графики сечения поверхностных токов, полученные во время предыдущего запуска расчетов. Для запуска вычислений по вновь введенным данным необходимо нажать кнопку «Запуск вычислений». После этого задача ставится в очередь на выполнение, сообщение об этом выводится вместо кнопки запуска. Обновляя окно браузера, можно увидеть сообщение о запуске программы с указанием времени ее запуска. После окончания расчета графики будут выводиться на основе вновь полученных данных. Для более подробного изучения каждый график можно открыть в отдельном окне. Также на странице результатов имеются ссылки на файл с исходными данными и файл с числовыми результатами вычислений.
Рис. 2 Ввод исходных данных
Рис. 3 Результаты работы
Организация параллельных вычислений
В вычислительном комплексе периодически проверяется наличие новых данных для выполнения вычислений (данные считаются подготовлен-
ными после нажатии кнопки «Запуск вычислений»). При наличии таковых файл с информацией для расчета копируется на вычислительную систему, на которой установлена программа расчета, реализующая алгоритм решения задачи дифракции. Данная программа может быть написана на любом языке программирования и работать на любой вычислительной системе, единственным условием является возможность передавать ей входные данные через файл и возможность ее удаленного запуска.
После выполнения программы файл с результатами копируется обратно и предоставляется пользователю. Передача данных осуществляется с использованием протокола FTP, выполнение команд на запуск вычислений осуществляется с использованием протокола SSH.
В настоящее время вычислительная программа написана на языке Си с использованием библиотеки MPICH. Вычислительный комплекс размещен на серверах РЦСВ. Тестирование комплекса производится с использованием вычислительных ресурсов НИВЦ МГУ.
Заключение
Удобство подобной реализации состоит, с одной стороны, в том, что пользователю вычислительного комплекса не надо иметь специализированных средств и программ, а также специальных знаний в области параллельных вычислений для получения доступа к высокопроизводительной вычислительной системе. С другой стороны, имея один и тот же пользовательский интерфейс, вычислительная программа может запускаться на различных параллельных кластерных системах, причем даже независимо от их загруженности и доступности в конкретный момент времени, что позволит работать в режиме «on-line», сокращая время, затрачиваемое пользователем для решения сложной математической задачи.
Список литературы
1. Rao, S. M. Electromagnetic Scattering by Surface of Arbitrary Share / S. M. Rao, D. R. Wilton, A. W. Glisson // IEEE Transactions on antennas and propagation. -1982. - V. Ap^0. - May. - P. 409-417.
2. Медведик, М. Ю. Субиерархический параллельный вычислительный алгоритм и сходимость метода Галеркина в задачах дифракции электромагнитного поля на плоском экране / М. Ю. Медведик, Ю. Г. Смирнов // Известия высших учебных заведений. Поволжский регион. Естественные науки. - 2004. - № 5. - С. З-19.
3. Медведик, М. Ю. Субиерархический параллельный вычислительный метод для электромагнитной задачи дифракции в экранированных слоях, связанных через отверстие / М. Ю. Медведик, И. А. Родионова // Надежность и качество : труды Международного симпозиума. - 200б. - 1 т. - С. 272-274.
4. Ильинский, А. С. Дифракция электромагнитных волн на проводящих тонких экранах / А. С. Ильинский, Ю. Г. Смирнов. - М. : Радиотехника, 199б.
5. Колтон, Д. Методы интегральных уравнений в теории рассеяния / Д. Колтон, Р. Кресс. - М. : Мир, 1987.
6. Антонов, А. В. Принципы организации параллельной вычислительной системы с доступом через Интернет / А. В. Антонов, А. Н. Токарев // Синтез и сложность управляющих систем : материалы XIII Международной школы-семинара (Пенза, 14-20 октября 2002 г.). - Пенза, 2002.