ВЫЧИСЛЕНИЕ СПЕЦИАЛЬНЫХ ФУНКЦИЙ ВОЛНОВЫХ КАТАСТРОФ В СРЕДЕ ЧИСЛЕННОГО МОДЕЛИРОВАНИЯ
"WAVE CAT"
Крюковский Андрей Сергеевич,
д.ф.-м.н., профессор, декан факультета информационных систем и компьютерных технологий, Российский Новый Университет (РосНОУ), Россия, Москва, [email protected]
Ключевые слова: теория катастроф, СВК, Рогачев Сергей Викторович, волновая оптика, дифракция, параллелизм,
аспирант, Российский Новый Университет, Россия, Москва информационные системы.
Работа выполнена при поддержке РФФИ (гранты № 12-02-00413-а, № 13-07-00937, ОФИ_М № 13-02-12121).
Описан подход к моделированию специальных функций волновых катастроф с применением метода обыкновенных дифференциальных уравнений и численных алгоритмов интегрирования ОДУ. Предложен способ повышения производительности вычисления СВК на многопроцессорных ЭВМ с общей памятью, а также в вычислительной сети (кластере).
Изложены подходы к проектированию и реализации специализированной системы облачных вычислений, предназначенной для изучения специальных функций волновых катастроф, рассмотрены архитектурные особенности разрабатываемого программного комплекса. Построены и изучены контурные графики специальных функций ряда основных и краевых катастроф. Рассмотрен алгоритм построения графиков линий равного уровня (изолиний) и закрашенных сечений, использовавшийся при моделировании СВК. Полученные результаты планируется применить для развития открытой информационной системы "Волновые катастрофы в радиофизике, акустике и квантовой механике".
Для цитирования:
Крюковский А.С., Рогачев С.В. Вычисление специальных функций волновых катастроф в среде численного моделирования "WAVE CAT" // T-Comm: Телекоммуникации и транспорт. - 2015. - Том 9. - №4. - С. 54-59.
For citation:
Kryukovsky A.S., Rogachev S.V. Calculating special functions of wave catastrophes with numerical modeling system "wave cat". T-Comm. 2015. Vol 9. No.4, рр. 54-59. (in Russian).
Введение
Расчет специальных функций волновых катастроф (далее СВК) - прикладная область теории волновых катастроф [1-5], располагающая рядом хорошо зарекомендовавших себя методов. Среди методов расчета особым образом стоит выделить метод обыкновенных дифференциальных уравнений (далее ОДУ), предложенный A.C. Крюковским [6]. Данный метод, в отличие от большинства асимптотических подходов, хорошо масштабируется даже для случаев многопараметрических катастроф, и позволяет значительно сократить объемы ручного труда для ряда особенностей. Также, было замечено, что при решении систем ОДУ, описывающих СВК катастроф, решение на современных ЭВМ можно ускорить за счет применения параллелизма (многопроцессорные системы с общей памятью; отдельные вычислительные машины, соединенные в локальную сеть).
Метод обыкновенных дифференциальных
уравнений для расчета СВК
Кратко рассмотрим метод ОДУ, поскольку именно он положен в основу системы расчета СВК.
СВК может быть представлена в виде канонической системы уравнений в частных производных; причем, существуют методы расчета, применяемые именно к канонической системе [1]. Метод, рассматриваемый в настоящей работе, в свою очередь, имеет дело с системой обыкновенных дифференциальных уравнений, поскольку показано [6], что из системы уравнений в частных производных можно получить систему обыкновенных дифференциальных уравнений.
Введем понятие фундаментального вектора.
Определение 1:
Фундаментальным вектором называется вектор, компонентами которого являются сама специальная функция волновой катастрофы и часть её первых производных.
(1)
Свойства фундаментального вектора:
1. Все остальные производные функции V выражаются через компоненты вектора УУ с помощью линейных алгебраических рекуррентных соотношений, которые следуют из системы канонических уравнений в частных производных;
2. Размерность вектора сИт1¥^у - минимальная из
всех возможных.
Чтобы определить вектор И/ в некоторой точке 5 = , зная значение вектора в точке 5 = 5", требуется проинтегрировать систему уравнений (2) по (от О до 1, t- параметр, 5, = (5' -5°)/+ 5°.
dW_-ydW dSj _ dt ft öS, dt fr J J <1SI
(2)
Для получения системы ОДУ достаточно знать производные, определяющие правую часть системы.
Будучи выведенной вручную или при помощи систем компьютерной алгебры, система ОДУ может быть разрешена численно с использованием известных методов. В данной работе используются различные производные метода Рунге-Кутты: классический метод Рунге-Кутты, метод Кутты-Мерсона.
Алгоритм интегрирования системы ОДУ
Рассмотрим вектор параметров S ■ '■ в случае, когда
количество параметров больше двух, интегрирование производится при дискретном изменении двух выбранных параметров, а другие параметры фиксируются. Изменение может происходить с постоянными или переменным шагом. Например, в статье [7] разбирается подход, основанный на изменении шага при интегрировании. Для каждого набора SH (некоторая текущая
совокупность значений параметров) производится численное интегрирование системы ОДУ по f от 0 до 1.
За счет комплексной природы значений СВК в качестве результата вычислений рассматриваются значения модуля и фазы функции, соответствующие различным совокупностям значений параметров. Это позволяет построить трехмерный график модуля и фазы особенности, в котором по осям абсцисс и ординат откладываются значения изменяемых параметров, а по оси аппликат - значения функции. Также возможно построение контурных графиков, которые более точно отражают поведение функции.
Поскольку вычисления в каждой точке контекстно независимы, то есть не зависят прямо или косвенно от вычислений в других точках, то для каждой точки или их набора вычисления можно производить в отдельных процессах или потоках, а результаты вычислений объединять. За счет полной независимости вычислений нет необходимости в какой-либо системе синхронизации: единственная точка синхронизации - место, где родительский процесс/поток выполняет ожидание завершения дочерних.
Наиболее быстрыми, как и следовало ожидать, являются параллельные вычисления в многопроцессорных средах с общей памятью. Данному классу систем принадлежат и современные ЭВМ с многоядерными процессорами в случае использования потоков (threads). При такой организации вычислительного процесса рост производительности линейно зависит от числа ядер в процессоре или процессоров в системе. В общем случае эту зависимость можно выразить следующим образом: Т
Т = С1 + 5е<?
par trm дг
(3)
где Т . - время, требуемое для расчета в параллель-
ной системе, Т
время, затрачиваемое однопоточ-
ной системой, N- число процессоров или ядер, а С,
T-Comm Vol.9. #4-201 5
- суммарная задержка, вызванная передачей данных и зависящая от N.
Если вместо потоков, подразумевающих общую память, используются процессы, передающие результат вычислений через средства IPC, коэффициент с,гал
растет, а время вычислений замедляется (хотя в данном случае и незначительно).
В случае распределенной вычислительной сети, кластера, С1гвп уже значительно влияет на общее время вычислений. Возможны случаи, когда время передачи результата по сети сопоставимо с общим временем вычисления.
Алгоритм построения контурных графиков
Для визуализации решений а систему расчета СВК встроен модуль построения контурных графиков. Для построения контуров используется известный алгоритм «марширующие квадраты». При построении закрашенных сечений используется алгоритм, также основанный на идее алгоритма «марширующих квадратов», но расширенный на случаи сечений, ограниченных контурами.
Изложим второй алгоритм, поскольку алгоритм построения контурных графиков распространен и довольно подробно описан (хорошее описание, например, можно найти в статье [8]).
Рассмотрим одну из точек графика, образуемую парой значений параметров р0 = (Su,Sm). Соседние с
ней по горизонтали, вертикали и диагонали точки
P^ = {SnH,Sm).p, = (S^J^^VO образуют «ячейку».
Первый шаг алгоритма - классификация ячейки. Возможно 16 классов, к которым следует отнести ту или иную ячейку. Часть этих классов в дальнейшем можно будет объединить, сократив программную реализацию алгоритма вдвое.
Класс, представляемый обычно натуральным числом, может быть вычислен при помощи побитовой логической операции ИЛИ, примененной к оценкам каждой точки:
dass — |р0
«
3)vk^<<
2 JvU2 «1 )v ръ
> V 1mark ' *mark
,(4)
где оценки представляют собой логическую функцию, зависящую от положения точки относительно секущей плоскости. Если точка выше секущей плоскости, то соответствующее значение р принимается равным 1
тагк
(истина), во всех остальных случаях оценка точки равна нулю (ложь).
После классификации ячейки, происходит построение закрашенного выпуклого многоугольника, класс определяет тип многоугольника и координаты его вершин.
Например, в случае класса 15 закрашивается вся ячейка, в случаях 12 и 3 закрашиваются верхние и нижние половины ячейки, классы 1, 2, 13, 14, 11, 4, 7, 8
отражаются как закрашенные углы или ячеики с отсеченными углами, классы 5 и 10 изображаются в виде диагональных полос (таким образом не закрашиваются пары противоположных углов).
Точки на пересечении с ребрами ячеек выбираются или как середины ребер (случай простого графика без интерполяции) или по простой интерполяционной формуле:
Р,„ ~ Рп
(5)
где /? - отношение частей ребра, разделенных точкой пересечения, Г- аппликата плоскости сечения, рк и рт -
аппликаты соответствующих точек графика. При близости значений в обеих точках отношение устанавливается равным 1, как и в случае близости первой точки к значению Т. В случае близости значения второй точки к Т, ^устанавливается равным 0.
Данные построения должны производиться для каждой точки графика. Результат работы данного алгоритма - набор сечений, построенных на плоскости. За счет использования интерполяции удается достичь гладких контуров сечений даже в случае малого числа шагов интегрирования.
Примеры построений
Рассмотрим основную катастрофу Е6. СВК данной особенности имеет вид:
Уц = | + кУ + V + + +А,о-)}- С6)
-ей -со
Фундаментальный вектор состоит из шести компонент:
1Г = (У.У',У-\У',У', = 6 (7)
Системы ОДУ данной катастрофы, а также катастрофы не приводятся из соображения экономии знакомест статьи. Эти системы можно найти, например, в [6].
Построим ряд амплитудных сечений данной катастрофы.
_ 0.01 _ 0.51 _ 1.01
_ 1.51
_ 2.01 2.51 3.01 3.51
-8.0 -4.0 0.0 4.0 8.0
Рис. 1,
Et: \ = [-8,8](s/epj = 80),Д, = [-!0.6](step.s = 80), Д. =Х, = 0,л, = 4.0 (сечения, контуры)
T-Comm "Гом 9. #4-2015
У
У
катастроф (СВК) // Дифракция и распространение электромагнитных волн: Межведомственный сборник научных трудов -М.: Московский физико-технический институт, 1992. - С, 29-48,
7. Дорохина Т.В., Крюковский A.C., Малышенко А.Б, Разработка численных алгоритмов расчета и визуализации волновых катастроф // Вестник РосНОУ. Управление вычислительная техника и информатика. - М.: Российский новый университет, 2008. - Вып. 3. - С. 25-47.
8. Чернышенко А.Ю. Построение сеток типа восьмеричное дерево со сколотыми ячейками в неоднородных областях // Вычислительные методы и программирование / НИВЦ МГУ, 2013. - Вып. 14. - С. 229-245.
9. Крюковский A.C., Лукин Д.С. Теория расчета эталонных фокальных и дифракционных электромагнитных полей на основе специальных функций волновых катастроф // Радиотехника и электроника. - 2003. - Т.48. №8. - С. 912-921,
10. Крюковский A.C., Рогачев С.В. Система расчета и визуализации специальных функций волновых катастроф //Электромагнитные волны и электронные системы. - 2013. -Т. 18. - № 8. - С. 10-17.
И. Рогачев С.В. Проектирование предметно-ориентированного языка для расчета специальных функций волновых катастроф // Вестник Российского нового университета. Серия «Управление, вычислительная техника и информатика». - М.: РосНОУ, 2013. Выпуск 4. - С. 47-52,
12. Дорохина Т.В., Крюковский A.C., Лукин Д.С. Информационная система «Волновые катастрофы в радиофизике, акустике и квантовой механике» // Электромагнитные волны и электронные системы. - 2007. - Т.12. - № 8. - С.71-75.
13. Дорохина Т.В., Крюковский A.C., Лукин Д.С, Волкова Е.В., Костьо А.О., Павлова М.В. Создание информационной системы волновой теории катастроф и её применение при математическом моделировании // Вестник Российского нового университета. - 2007. Выпуск 2.-М.: РосНОУ, 2007. - С, 91-107.
14. Дорохина Т.В., Ипатов Е.Б., Крюковский A.C., Лукин Д.С., Палкин Е.А., Растягаев Д.В. Математическое компьютерное моделирование волновых полей типа катастроф // Распространение радиоволн: сборник докладов XXI Всероссийской научной конференции. Йошкар-Ола, 25-27 мая 2005 г. Йошкар-Ола: МарГТУ, 2005. -Т.2. - С. 336-339.
CALCULATING SPECIAL FUNCTIONS OF WAVE CATASTROPHES WITH NUMERICAL MODELING SYSTEM "WAVE CAT"
Andrew S. Kryukovsky, doctor of physical and mathematical sciences, professor, dean of faculty of information systems and computer technology, Russian New University (RosNOU), [email protected] Sergey V. Rogachev, postgraduate student, Russian New University (RosNOU)
Abstract
The present article is an attempt to describe an approach to modeling special functions of wave catastrophes using the method of ordinary differential equations (ODE) and algorithms of numerical integration of ODEs. The approach to improve performance of computing using multiprocessor systems with shared memory and distributed systems is shown in the article. The process of computing cloud platform development is covered, some architectural characteristics are disclosed. A number of major and edge catastrophes are studied and plotted. Algorithm of contour plot construction used in the system is shown in the work.
Keywords: catastrophes theory, wave optics, diffraction, parallel computing, information systems. References
1. Lukin D.S., Palkin E.A. Numerical canonical method in problems of diffraction and propagation of electromagnetic waves in inhomoge-neous media. Moscow. MIPT, 1982. 159 p. (in Russian).
2. Kryukovsky A.S. Lukin D.S., Palkin E.A. Application of the theory of boundary disasters to build uniform asymptotic of rapidly oscillating integrals. Diffraction and distribution of waves. Moscow. 1985, pp. 4-21. (in Russian).
3. Kryukovsky A.S., Lukin D.S., Palkin E.A. Uniform asymptotics for evaluating oscillatory edge integrals by methods of catastrophe theory. Soviet journal of Numerical Analysis and Mathematical Modelling. 1987. Vol. 2. No.4, pp. 219-312.
4. Kryukovsky A.S. Uniform asymptotic theory of boundary and angular wave catastrophes. Moscow. RosNOU, 201 3. 368 p. (in Russian).
5. Kryukovsky A.S., Lukin D.S., Rastyagaev D.V. Classification and description of the uniform asymptotic space-time three-dimensional wave fields of beam boundary. Technology and Electronics, 2005. Vol.50. No.10, pp. 1221-1230. (in Russian).
6. Kryukovsky A.S. The method of ordinary differential equations for the calculation of the special functions of wave catastrophes (SVK). Diffraction and propagation of electromagnetic waves: Interdepartmental collection of scientific papers. Moscow Institute of Physics and Technology, 1992, pp. 29-48. (in Russian).
7. Dorokhin T.V., Kryukovsky A.S., Malyshenko A.B. Development of numerical algorithms for the calculation and visualization of wave catastrophes. Herald RosNOU. Management Computer Science and Informatics. Moscow. Russian New University, 2008. Vol. 3, pp. 25-47.
8. Chernyshenko A.Y. meshing type octal tree with cleaved cells in inhomogeneous areas. Computational Methods and Programming / RCS, 2013. Vol. 14, pp. 229-245. (in Russian).
9. Kryukovsky A.S., Lukin D.S. The theory calculation of the reference focal and diffraction of electromagnetic fields on the basis of the special functions of wave catastrophes. Technology and Electronics, 2003. Vol.48. No.8, pp 912-921. (in Russian).
10. Kryukovsky A.S., Rogachev S.V. The system of calculation and visualization of the special functions of wave catastrophes. Electromagnetic waves and electronic systems, 2013. Vol. 18. No. 8, pp. 10-17. (in Russian).
11. Rogachev S.V. Designing object-oriented language for the calculation of the special functions of wave catastrophes. Bulletin of the Russian New University. A series of "Management, Computing and Informatics". Moscow. RosNOU, 2013. Issue 4, pp. 47-52. (in Russian).
12. Dorokhin T.V., Kryukovsky A.S., Lukin D.S. Information system "wave disaster in radio physics, acoustics and quantum mechanics." Electromagnetic waves and electronic systems, 2007. Vol.12. No. 8, pp.71 -75. (in Russian).
13. Dorokhin T.V., Kryukovsky A.S., Lukin D.S., Volkov E.V., Costa S.A., Pavlov M.V. Create an information system of the wave theory of disasters and its application in mathematical modeling. Bulletin of the Russian New University, 2007. Issue 2. Moscow. RosNOU, 2007, pp 91-107.
14. Dorokhin T.V., Ipatov E.B., Kryukovsky A.S., Lukin D.S., Palkin E.A., Rastyagaev D.V. The mathematical computer modeling of wave fields such as disasters. // Propagation: a collection of the reports of the Scientific Conference XXI. Yoshkar-Ola, 25-27 May 2005: Mari State Technical University, 2005. Vol.2, pp 336-339. (in Russian).
T-Comm Vol.9. #4-201 5