На правах рукописи Куксенко Сергей Петрович Модели, алгоритмы и программное обеспечение для решения системы линейных алгебраических уравнений в задачах электромагнитной совместимости Специальность 05.13.18 Математическое моделирование, численные методы и комплексы программ Автореферат диссертации на соискание учёной степени кандидата технических наук Томск – 2007 2 Диссертация выполнена в Томском государственном университете систем управления и радиоэлектроники Научный руководитель канд. техн. наук старший научный сотрудник Газизов Тальгат Рашитович. Официальные оппоненты д-р физ.-мат. наук д-р техн. наук Дмитренко Анатолий Григорьевич Малютин Николай Дмитриевич Ведущая организация ОАО «Научно-производственный центр «Полюс», г. Томск. Защита состоится 29 мая 2007 года в 16.30 на заседании диссертационного совета Д 212.268.02 при Томском государственном университете систем управления и радиоэлектроники по адресу: 634034, г. Томск, ул. Белинского, 53. С диссертацией можно ознакомиться в библиотеке Томского государственного университета систем управления и радиоэлектроники. Автореферат разослан « 27 » апреля 2007 года. Ученый секретарь диссертационного совета д-р. техн. наук Клименко А.Я. 3 ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность работы. Решение системы линейных алгебраических уравнений (СЛАУ) имеет большое значение, поскольку к нему сводится приближенное решение широкого круга сложных практических задач. В линейной алгебре эту задачу называют первой основной задачей. Так, около 75% всех расчетных математических задач приходится на решение СЛАУ. Необходимость решения СЛАУ возникает: при решении многомерных анизотропных краевых задач; в задачах вычислительной гидродинамики; теории электрических цепей; уравнения балансов и сохранения в механике; гидравлике; в задачах управления и контроля; в задачах оценки и предсказания критических ситуаций и др. Особая необходимость в решении СЛАУ возникает при использовании широкого класса моделей и подходов, используемых при автоматизированном проектировании аппаратуры с учетом требований электромагнитной совместимости (ЭМС). Подобного рода учет становится все более актуальным ввиду ряда причин: усложняющаяся электромагнитная обстановка, постоянно увеличивающееся количество используемых радиоэлектронных средств и радиоэлектронной аппаратуры, рост плотности их размещения, недостаточная изученность электромагнитных процессов, происходящих как внутри реальных корпусов функциональной аппаратуры, так и в жилых помещениях. Так, например, решение задач излучения или рассеяния электромагнитной волны сложными объектами может быть получено с помощью интегральных уравнений, сводящихся методом моментов к СЛАУ с плотными матрицами. Вычислительные трудности их решения во многом обусловлены заполненностью матриц, приводящей к огромному объему вычислений (особенно в трехмерных задачах). Между тем, остаётся неиспользованным ряд возможностей совершенствования решения СЛАУ с плотными матрицами, используя итерационные методы. Так, недостаточно разработаны способы выбора структуры разреженности с помощью предфильтрации матрицы СЛАУ, позволяющие ускорить решение за счет более эффективного использования предобусловливания. Программное обеспечение, позволяющее эффективно решать СЛАУ с плотными матрицами без дополнительной модификации, практически отсутствует. Специализированное программное обеспечение для электромагнитного моделирования, как правило, использует только прямые методы решения СЛАУ. Так, один из лучших зарубежных программных продуктов FEKO использует метод исключения Гаусса. Недостаточно исследована работа итерационных методов с различными видами предобусловливания и способами предфильтрации при различных параметрах. Цель работы – совершенствование решения СЛАУ в задачах электромагнитной совместимости. Для достижения поставленной цели необходимо решить следующие задачи: 1. Разработать новые, усовершенствовать известные способы предфильтрации и осуществить их программную реализацию. 4 2. Выполнить разработку алгоритмов и создать программный продукт, позволяющий решать СЛАУ с плотными матрицами. 3. Исследовать работу итерационных методов на различных примерах. Достоверность результатов подтверждается проверкой корректности программной реализации на примере нахождения заведомо известного решения, получением решения несколькими методами, применением численных методов векторно-матричного анализа. Научная новизна 1. Разработаны новые способы алгебраической предфильтрации. 2. Предложены усовершенствования известных способов алгебраической предфильтрации. 3. Показано, что при использовании предложенных способов предфильтрации существует оптимальное значение допуска обнуления по критерию минимизации времени решения СЛАУ. 4. Выявлена стабильность (при изменении частоты) и установлена контролируемая зависимость (от изменения дискретизации) оптимального значения допуска обнуления (по критерию минимизации времени решения СЛАУ) при использовании предложенного способа предфильтрации на примере определения токов в проводной антенне. Практическая значимость 1. Программно реализован модуль матричных операций единой системы компьютерного моделирования электромагнитной совместимости, позволяющий использовать широкий ряд прямых и итерационных методов решения СЛАУ как в виде функций, так и в виде DHTML диалогов. 2. Выполнено сравнение способов алгебраической предфильтрации при решении СЛАУ итерационными методами, позволяющее оценить изменение оптимального значения порога/допуска обнуления для каждого из способов, на примере определения токов в проводной антенне, как при изменении частоты, так и при изменении дискретизации. 3. Приведены рекомендации по использованию итерационных методов. 4. Разработано учебно-методическое пособие для группового проектного обучения студентов и подготовлена лабораторная работа по использованию итерационных методов. Использование результатов 1. Реализованный модуль матричных операций системы компьютерного моделирования электромагнитной совместимости использовался для оценки паразитных электромагнитных эффектов в печатных платах и в кабелях аппаратуры, разрабатываемой в НПЦ «Полюс». 2. Разработанные алгоритмы и программы методов решения СЛАУ, способов предобусловливания и предфильтрации использованы при разработке системы компьютерного моделирования электромагнитной совместимости, выполненной в рамках мероприятия 3.1.3,а «Разработка и внедрение информационных систем поддержки и мониторинга учебного процесса, 5 научной и организационно-экономической деятельности» (1 этап) по выполнению инновационной программы ТУСУРа. 3. Результаты использованы при разработке учебно-методического пособия, подготовке одной лабораторной работы и проведении двух авторских лекций. 4. Реализованные итерационные методы использованы при выполнении проекта 06-08-01242 «Исследование новых модальных явлений в структурах многопроводных линий передачи с неоднородным диэлектрическим заполнением», поддержанного РФФИ. Апробация результатов. Результаты диссертационной работы представлялись и докладывались в материалах следующих симпозиумов и конференций: Всероссийская научно-техническая конференция студентов и молодых ученых "Научная сессия ТУСУР", г. Томск, 2004; XII Туполевские чтения: Международная молодежная научная конференция, г. Казань, 2004; Всероссийская научно-практическая конференция "Проблемы информационной безопасности общества и личности", г. Томск, 2004, 2005; Международная научно-практическая конференция "Электронные средства и системы управления", г. Томск, 2005; Международный симпозиум по ЭМС и электромагнитной экологии, г. Санкт-Петербург, 2005; Всероссийская научнотехническая конференция студентов, аспирантов и молодых ученых "Научная сессия ТУСУР", посвященная 45-летию ТУСУРа, г. Томск, 2007. Публикации. По результатам исследований опубликовано 15 научных работ: 5 статей в журналах из перечня ВАК; 9 докладов и 1 тезисы в материалах симпозиумов и конференций. Структура и объём диссертации. В состав диссертации входят введение, 4 главы, заключение, список литературы из 85 наим., 3 приложения. Объём диссертации составляет 92 стр., в том числе 16 рис. и 20 табл. Личный вклад. Все результаты работы получены автором лично или при непосредственном его участии. Положения, выносимые на защиту 1. Для решения СЛАУ итерационными методами с предобусловливанием предложен новый способ предфильтрации, показавший стабильность оптимального значения допуска обнуления при изменении частоты и его контролируемую зависимость от изменения дискретизации при решении задачи определения токов в проводной антенне. 2. За счет выбора способа предфильтрации и оптимального значения порога/допуска обнуления можно сократить время решения СЛАУ итерационными методами с предобусловливанием до 32%. 3. При решении СЛАУ итерационными методами с предобусловливанием в сочетании с предфильтрацией, поиск максимального элемента не по всей матрице, а только на главной диагонали, позволяет уменьшить время решения до 13%. 4. Выбором оптимального значения допуска обнуления предфильтрации, при решении СЛАУ итерационными методами с предобусловливанием, можно ускорить решение по сравнению с методом Гаусса до 20 раз. 6 5. При решении СЛАУ итерационными методами уменьшением точности решения от 10 до 4 знаков можно ускорить решение в полтора раза. 6. Разработанный программный модуль MATRIX позволяет существенно усовершенствовать решение СЛАУ в системе компьютерного моделирования электромагнитной совместимости TALGAT. ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ 1. РЕШЕНИЕ СЛАУ: ОБЗОР Задача численного решения СЛАУ вида (1.1) Ax=b, где b – вектор свободных членов, x – вектор неизвестных (вектор-решение) и A – матрица (NN) коэффициентов данной системы, имеет незапамятную историю. Все методы решения СЛАУ можно разбить на два класса: прямые и итерационные. Прямыми называются методы, которые приводят к решению за конечное число арифметических операций. Если операции реализуются точно, то и решение будет точным. Итерационными являются методы, в которых точное решение может быть получено лишь в результате бесконечного повторения единообразных действий. Последние десятилетия ознаменованы развитием численных методов, нашедших отражение в книгах Г.И. Марчука, А.А. Самарского, С.К. Годунова, Дж. Голуба, О. Аксельсона, Ю. Саада, Х. Ворста и др. Несмотря на имеющиеся в этой области теоретические достижения, а также на бурный рост мировых вычислительных мощностей, проблема разработки и исследования новых быстрых алгоритмов решения СЛАУ не теряет своей актуальности, и поток публикаций по этой тематике только увеличивается. Для решения задач электромагнитного поля существуют различные подходы, которые сводятся к аналитическому или численному решению соответствующих интегральных или дифференциальных уравнений в частотной или временной области, из которых особо выделяется метод моментов. Поэтому, метод моментов разрабатывался очень интенсивно, и в первую очередь применительно к задаче анализа проводных антенн. В практических приложениях метода моментов обусловленность матрицы СЛАУ ухудшается с приближением частоты воздействия к частотам собственных колебаний исследуемой структуры. Особенно сильно это проявляется в случае идеальных структур без потерь. Матрица таких структур на частотах собственных колебаний становится вырожденной. Поскольку частота воздействия выбирается дискретно, то существует вероятность такого совпадения. Решение на этой частоте может быть вовсе не получено, а на близких частотах может быть неточным или вовсе некорректным, например, показывать наличие мнимых, не существующих в реальности, резонансов. К решению этой проблемы существует несколько подходов различной степени кардинальности. Их анализ показывает, что применение итерационных методов для решения СЛАУ является первым и весьма плодотворным шагом для эффективного решения СЛАУ с плохо обусловленной матрицей. И во многих случаях одного этого шага уже может быть достаточно. Важно и то, что 7 он универсален, поскольку годится для СЛАУ, полученных из любых интегральных уравнений, а также не только методом моментов, но и другими методами, которые при необходимости могут осваиваться в дальнейшем. Наиболее эффективными и устойчивыми среди итерационных методов являются, так называемые, проекционные методы, и особенно тот их класс, который связан с проектированием на подпространства Крылова. Эти методы обладают рядом достоинств: они устойчивы, допускают эффективное распараллеливание и работу с предобусловливателями разных типов. В работе рассматривались задачи, сводящиеся методом моментов к СЛАУ с плотной комплексной и несимметричной матрицей. Таким образом, проводилось рассмотрение задач электромагнитной совместимости, приводящих к наиболее общим (сложным) СЛАУ. Проведенные вычисления показали, что применение итерационных методов в классической постановке (без дополнительной модификации) не вполне обоснованно, поскольку в большинстве случаев итерационные методы показали неудовлетворительную сходимость. Поэтому в данной работе итерационные методы использовались с предобусловливанием, поскольку оно улучшает сходимость к требуемому решению. Пусть М – некоторая невырожденная (NN) матрица. Домножив (1.1) на матрицу M–1, получим систему (1.2) M–1Ax=M–1b, которая в силу невырожденности M имеет то же точное решение x*. Процесс перехода от (1.1) к (1.2) с целью улучшения характеристик матрицы для ускорения сходимости к решению называется предобусловливанием, а матрица M–1 – матрицей предобусловливателя. Способы предобусловливания можно разбить на два вида: явные и неявные. Как известно, предобусловливание может быть введено в схему метода без необходимости явного вычисления матричного произведения. Так, явное предобусловливание требует нахождения матрицы М–1 и умножения матрицы предобусловливания на вектор в каждой итерации. Для неявного необходимо решать СЛАУ с матрицей М в каждой итерации. Большинство способов предобусловливания обоих видов основано на известном представлении матрицы в виде произведения двух матриц L и U, т.е. M = LU. Так как вычислительные затраты, возникающие при компьютерном моделировании, состоят из затрат на формирование матрицы и собственно решение СЛАУ, снижение каждой из составляющих является важной практической задачей. Общее время решения СЛАУ с плотной матрицей итерационным методом с предобусловливанием состоит из трех составляющих: затрат на выбор структуры разреженности с помощью предфильтрации (получение из исходной матрицы A матрицы As), затрат на формирование из матрицы As матрицы предобусловливания M и, собственно затрат на Nit итераций, необходимых для получения решения с требуемой точностью. Отметим, что первая составляющая этих затрат во многом определяет другие 8 затраты. Так, выбор структуры разреженности определяет количество арифметических операций, требуемых для формирования матрицы предобусловливания, что, в свою очередь, повлияет на затраты каждой итерации, поскольку в каждой итерации необходимо один или два раза решать СЛАУ с матрицей М (при использовании неявного предобусловливания). Наконец, выбор структуры разреженности повлияет и на количество итераций, поскольку он меняет обусловленность результирующей матрицы M–1A. В заключении гл. 1 сформулированы цель и задачи работы (см. с. 3). 2. СОВЕРШЕНСТВОВАНИЕ ПРЕДФИЛЬТРАЦИИ Поскольку предобусловливание является способом уменьшения количества итераций за счет улучшения сходимости при итерационном решении СЛАУ, то выбор структуры (портрета) разреженности матрицы предобусловливания является важной практической задачей. Одной из простейших стратегий является выбор заранее известной структуры, например, ленточной или блочнодиагональной, т.е. элементы матрицы As совпадают с ленточной (блочнодиагональной) частью матрицы А и равны нулю вне данной структуры. Такая предфильтрация характеризуется шириной ленты (размером блока) и, таким образом, основана на позиции элемента в матрице (структурная предфильтрация), а не на его значении. В работе приведено несколько способов, специально приспособленных для построения матрицы M–1. Одним из них является выбор k максимальных элементов в каждом столбце, так что в результате в матрице будет kN элементов не равных нулю. Данный способ связан с многократным поиском, поэтому он характеризуется значительными временными затратами на предфильтрацию. Более часто используемой стратегией является динамическое (основанное на значении элемента, а не на его позиции) определение структуры разреженности с помощью некоторого порога (алгебраическая предфильтрация). Она заключается в задании (нахождении) определенного порога, с помощью которого происходит обнуление малозначащих элементов путем сравнения модуля каждого элемента с данным (полученным) значением. Упомянутый порог обнуления, в свою очередь, может быть получен многими способами. Самым простым из них является проверка на малость модулей элементов матрицы с заданным порогом обнуления (): s (2.1) aij 0, если aij ε . Он является простейшим, с точки зрения вычислений, и требует наименьшего времени на формирование разреженной матрицы As, поскольку порог обнуления задается непосредственно, без необходимости его вычисления. Другой способ предфильтрации, предложенный Л.Ю. Колотилиной: s max (2.2) aij 0, если aij a ε , где amax – максимальный элемент матрицы. Способ был предложен для применения явного предобусловливания при решении СЛАУ с плотной матрицей и основан на нормировке всей матрицы с помощью максимального элемента. Понятно, что при этом достаточно много времени требуется на поиск 9 наибольшего элемента в матрице. Однако данный способ широко применяется при построении явного предобусловливания для решения плотных СЛАУ. Используется также обнуление, основанное на бесконечной норме матрицы, s (2.3) aij 0, если aij ε= A τ N , где A max i j 1 aij , а – допуск обнуления. После того, как исходную N систему с плотной матрицей преобразуют с помощью вейвлетов, матрица СЛАУ остается достаточно плотной, но большая часть ее элементов имеет небольшие абсолютные значения. Далее, применяя предфильтрацию, из полученной матрицы получают требуемую матрицу As. Данный способ основан на бесконечной норме матрицы или, другими словами, на наибольшей сумме элементов строк матрицы. Очевидно, что значительные временные затраты связаны с поиском наибольшей суммы строки. Отметим, что предыдущий и данный способы являются, пожалуй, самыми распространенными способами приведения матрицы к разреженному виду. Известен способ выбора структуры разреженности, основанный на нахождении наибольшего элемента в строке, s max (2.4) aij 0, если aij ai ε , где aimax – максимальный элемент в i-й строке. Поскольку способ основан на нахождении максимального элемента в каждой строке, порог обнуления является разным для каждой из строк. После того, как максимальный элемент найден, происходит процесс, подобный описанному при использовании подхода (2.2), но вместо всей матрицы сканируется строка матрицы. Очевидно, что при использовании как данного, так и подхода (2.2), значительные затраты времени связаны с поиском максимального элемента. Как видно из приведенных (в хронологическом порядке) способов, с течением времени исследователи пытались найти предфильтрацию, адаптивную к различным задачам, возникающим перед ними. Существует и другая предфильтрация. Отметим, что алгебраическая предфильтрация может сочетаться практически со всеми другими видами, как со структурной, так и с другими способами динамической. Также понятно, что приведенные способы алгебраической предфильтрации могут быть использованы как постфильтрация при формировании матрицы предобусловливания. Таким образом, данный вид предфильтрации является, пожалуй, самым универсальным. Упомянутые способы алгебраической предфильтрации можно разделить на две группы. Способы глобальной предфильтрации (2.1)–(2.3) задают общий порог обнуления для всех элементов матрицы. К способам локальной предфильтрации относится способ (2.4), определяющий для каждой строки свой порог обнуления. Априорно трудно сказать, какой подход предпочтительнее, как с точки зрения минимизации времени решения СЛАУ, так и стабильности допуска/порога обнуления. В данной работе предложены два способа (локальной и глобальной) алгебраической предфильтрации и усовершенствование известных способов предфильтрации. 10 Предложенный способ локальной предфильтрации основан на идее постфильтрации при формировании матрицы предобусловливания с помощью ILUT-разложения. Способ состоит в том, что матрица As формируется из матрицы A путем обнуления некоторых элементов согласно следующему правилу. Перед предфильтрацией i-й строки вычисляется ее евклидова норма, умножением которой на задаваемый допуск обнуления получают i-й порог обнуления i. После того, как все элементы строки будут проверены на малость, необходимо повторить те же действия со следующей (i+1)-й строкой. Процесс закончится после того, как все строки матрицы A будут обработаны подобным образом. Данный процесс можно представить в виде формулы s (2.5) aij 0, если aij εi = ai 2τ , где ai 2 N j 1 a ij 2 – норма i-й строки. Таким образом, порог обнуления является своим для каждой из строк, т.е. данный способ относится к группе способов локальной предфильтрации. Предложенный способ глобальной предфильтрации, заключается в следующем. Структура разреженности матрицы As определяется с помощью порога обнуления, получаемого из произведения нормы Фробениуса матрицы A и задаваемого допуска обнуления . После того, как значение порога обнуления определено, происходит фильтрация исходной матрицы A. Данный процесс описывается формулой s (2.6) aij 0, если aij ε= A Fτ , где A F= i1 j1 aij . N N 2 Если максимальный элемент матрицы находится на главной диагонали, то использование этого ускоряет процесс предфильтрации уже известных способов. Так, время предфильтрации (2.2) при использовании этого подхода сократится за счет поиска только на главной диагонали, а не по всей матрице. В способе (2.3) можно положить, что максимальной суммой обладает главная диагональ, т.е. N s (2.7) a ij 0, если a ij ε= i 1 a ii τ N , и не тратить время на поиски наибольшей суммы строк. Для способа (2.4) можно ограничиться условием того, что максимальные элементы в строке находятся на главной диагонали, т. е. воспользоваться правилом s (2.8) aij 0, если aij aii ε . 3. РЕАЛИЗАЦИЯ МОДЕЛЕЙ И АЛГОРИТМОВ Программно реализованы в виде функций (в системе Visual C++ 6.0) следующие методы решения СЛАУ: метод Гаусса; метод Гаусса, основанный на LU-разложении матрицы; метод бисопряженных градиентов (BiCG); стабилизированный метод бисопряженных градиентов (BiCGStab); метод обобщенных минимальных невязок (GMRES(m)). Функции, реализующие итерационные методы, позволяют использовать эти методы как с 11 предобусловливанием, так и без него. Реализовано предобусловливание, основанное как на полном LU-разложении, так и на неполном – ILU(0). Разработан модуль матричных операций, удовлетворяющий требованиям системы компьютерного моделирования электромагнитной совместимости TALGAT, реализующий: операции над матрицами (создание, чтение и изменение элементов, изменение размера, добавление и вырезание строк и столбцов, форматированный вывод); 8 прямых методов решения СЛАУ; 6 итерационных методов решения СЛАУ с возможностью задания их параметров; 3 способа предобусловливания; 10 способов предфильтрации. Для более удобного использования в системе предусмотрена возможность их применения с помощью DHTML диалогов. Стартовый диалог и пример диалога для решения СЛАУ методом BiCGStab показаны на рис. 3.1. Также в системе реализована визуализация матриц после предфильтрации и формирования предобусловливания. Элементы, абсолютные значения которых ниже заданного порога (обнуляемые), отображаются белым цветом, а выше – черным. а б Рис. 3.1 DHTML диалоги: для выбора метода (а), для метода BiCGStab (б) 4. ИССЛЕДОВАНИЕ РАБОТЫ ИТЕРАЦИОННЫХ МЕТОДОВ Работа итерационных методов исследована на задаче определения токов в проводной антенне. Первоначально для выбора предпочтительного итерационного метода система (1.1) решалась итерационными методами BiCG, BiCGStab, CGS, QMR и GMRES(m) при m=10, 20, 40. В качестве исследуемых взяты две антенны: диполь (с матрицей размерностью N=2335 и плотностью dA=100%) и широкодиапазонная антенна (см. рис. 4.1а) (N=1261 и плотностью dA=100%). В качестве способов формирования матрицы предобусловливания использовались: полное LU-разложение; ILU(0) и ILU(p), при p=1, 2, 3. В качестве предфильтрации использовался предложенный способ (2.5), основанный на нормах строк матрицы. Анализ результатов исследования показал, что наиболее предпочтительными, с точки зрения минимизации времени решения СЛАУ, оказались: BiCGStab и CGS. Поскольку они показали 12 практически одинаковые результаты, для дальнейших исследований был выбран один из них: метод BiCGStab. Также показано, что предпочтительнее использовать полное LU-разложение в качестве способа формирования матрицы предобусловливания, поскольку оно оказалось наиболее работоспособным для каждого метода. а б в Рис. 4.1 Общий вид антенн: широкодиапазонной (а), «чайка» (б), трапециевидной зубчатой (в) С целью выявления зависимости времени решения СЛАУ от допуска обнуления предложенного способа предфильтрации (2.5) решалась СЛАУ итерационным методом на примере широкодиапазонной антенны (см. рис. 4.1а) с матрицами N=243 и N=1023 при =10–1, 5·10–2,…, 10–4. При формировании матрицы предобусловливания использовалось полное LU-разложение. В табл. 4.1 приведена выборка результатов вычислений при =10–3 (T – время решения СЛАУ, Nit – число итераций, реальная и мнимая части второго и последнего элементов вектора решения, т.е. распределения тока в антенне) методом BiCGStab при разной точности вычислений Tol ( r k 2 r 0 2 108 , где rk и r0 – невязки после k-й итерации и начального приближения, соответственно), а также методом Гаусса (последняя строка, GE). Из неё видно, что методом BiCGStab решение, например с точностью до 4 знаков после запятой совпадающее с решением методом Гаусса, в 6 раз быстрее, чем методом Гаусса. При необходимости, более точные результаты легко получить, увеличивая число итераций: например решение, совпадающее с точностью до 10 знаков, получается в 4 раза быстрее. Таблица 4.1 Результаты вычислений при =10–3 для проводной антенны с матрицей N=243 Tol T, с Nit Re(i1), A Im(i1), A Re(i242), A Im(i242), A -1 10 0,16 4 -5,5433315933e-3 8,5280934358e-4 3,1026158901e-3 -2,0675906220e-4 10-2 0,22 5 -5,5429392637e-3 8,5304111642e-4 3,1019734236e-3 -2,0697442283e-4 -3 10 0,22 5 -5,5429392637e-3 8,5304111642e-4 3,1019734236e-3 -2,0697442283e-4 -4 10 0,22 5 -5,5429392637e-3 8,5304111642e-4 3,1019734236e-3 -2,0697442283e-4 10-5 0,27 6 -5,5429393543e-3 8,5304010642e-4 3,1019740107e-3 -2,0697295482e-4 -6 10 0,28 7 -5,5429393483e-3 8,5304010471e-4 3,1019740055e-3 -2,0697295161e-4 -7 10 0,28 7 -5,5429393483e-3 8,5304010471e-4 3,1019740055e-3 -2,0697295161e-4 10-8 0,33 8 -5,5429393528e-3 8,5304010530e-4 3,1019740083e-3 -2,0697295185e-4 GE 1,37 – -5,5429393528e-3 8,5304010530e-4 3,1019740083e-3 -2,0697295185e-4 Аналогичные вычисления для той же антенны с матрицей N=1023 показали, что методом BiCGStab решение, с точностью до 4 знаков после запятой совпадающее с решением методом Гаусса, получается за 10 итераций и в 14 раз быстрее, чем методом Гаусса. Более точное решение, совпадающее с точностью до 10 знаков, получается в 10 раз быстрее. Таким образом, уменьшение заданной точности решения СЛАУ от 10 до 4 знаков ускоряет решение в полтора раза. 13 Зависимости времени решения СЛАУ от для различных Tol приведены на рис. 4.2. Видно, что для всех Tol существует значение (opt), оптимальное по критерию минимизации времени решения СЛАУ. 1 T, c 35 1.E-01 1.E-02 1.E-03 1.E-04 1.E-05 1.E-06 1.E-07 1.E-08 0.9 0.8 0.7 0.6 T, с 1.E-01 1.E-02 1.E-03 1.E-04 1.E-05 1.E-06 1.E-07 1.E-08 30 25 20 0.5 15 0.4 0.3 0.2 0.1 10 а 0 1.E-01 1.E-02 1.E-03 1.E-04 5 б 0 1.E-01 1.E-02 1.E-03 1.E-04 Рис. 4.2 Зависимости времени решения СЛАУ от для разных Tol при N=243(а); 1023(б) T, c 100 180° 90 15° 80 70 TGE=74,3 c 60 50 40 30 20 10 а 0 1.E-01 1.E-02 1.E-03 1.E-04 1.E-05 1.E-06 T, c 100 T,c T1, c 90 Nit 80 NonZero, % 70 60 50 40 30 20 10 б 0 1.E-01 1.E-02 1.E-03 1.E-04 1.E-05 1.E-06 Рис. 4.3 Зависимости характеристик решения СЛАУ от при N=969 и Tol=10–8: время решения СЛАУ для угла между лучами диполя 180 и 15 (а); характеристики для угла 15 (б) На рис. 4.3 (а) показаны зависимости времени решения СЛАУ (T, c) с матрицей N=969 от для диполя с углом между лучами 180 и 15 при Tol=10–8. Выбор optускорил решение для угла 180 в 17 раз, а для угла 15 в 10 раз по сравнению с методом Гаусса. Существование opt объясняется различной зависимостью от двух основных составляющих общего времени решения СЛАУ: времени LU-разложения матрицы As, выполняемого только один раз до итераций, и времени на Nit последующих итераций (см. рис. 4.3 (б)). Первая составляющая (T1, c) пренебрежимо мала слева от opt, но с удалением вправо от него всё более доминирует в общем времени решения СЛАУ. Отметим, что в этой части графика характер зависимости T1 от полностью совпадает с 14 характером зависимости процента ненулевых элементов (NonZero) матрицы M. Вторая составляющая пропорциональна значению Nit и, как видно, полностью определяет время решения СЛАУ слева от opt и всё меньше влияет справа. В итоге у середины диапазона общее время решения СЛАУ минимально. Отличие итерационных методов от прямых состоит в том, что результаты вычислений получаются приближенными. Теоретически при устремлении числа итераций к бесконечности итерационный процесс закончится получением решения, полностью совпадающего с решением, полученным при применении прямого метода. Поскольку зачастую нет необходимости в получении точного решения, то дополнительное ускорение итерационного процесса можно достичь за счет снижения точности до достаточной для получения требуемых характеристик. Результаты такого ускорения на примере вычисления диаграммы направленности проводной антенны «чайка» (см. 4.1б) приведены в табл. 4.2. В качестве способа предфильтрации использовался предложенный автором подход (2.5). Как видно, в этом примере переход от метода Гаусса к итерационному методу ускоряет решение при высоких точностях (10–6) примерно в 10 раз, а при малых точностях (10+2) – ещё в 2 раза. Между тем, диаграммы направленности для этих случаев практически совпадают (рис. 4.4). Таким образом, выбор оптимального значения допуска обнуления ускоряет решение по сравнению с методом Гаусса до 20 раз. Tol GE 10-8 10-7 10-5 10-3 10-2 10 0 10+1 10+2 Nit – 16 14 12 10 8 6 4 2 T, с 267,54 30,65 28,17 25,71 23,23 20,77 18,35 15,82 13,34 – Таблица 4.2 Время решения СЛАУ (N=1411) методом Гаусса и итерационным методом (=5e-5), при уменьшении Nit увеличением Tol Рис. 4.4 Диаграмма направленности (|E|, шкала линейная от 0 до 6 В/м) антенны «чайка» в плоскости XY при решении СЛАУ методом Гаусса (GE) и итерационным методом с уменьшением точности Tol Далее проводилось сравнение известных способов предфильтрации (2.1) – (2.4) и предложенных – (2.5) и (2.6). Все вычисления производились на примере трапециевидной зубчатой проводной антенны (см. рис. 4.1в). (Для способов (2.1), (2.2) и (2.4) полагалось, что =.) В табл. 4.3 для разных частот приведены характеристики решаемой задачи: порядок СЛАУ (N), относительное число ненулевых элементов матрицы СЛАУ (dA), время её заполнения (Tform) и время решения методом Гаусса (TGE). Видно, что с увеличением частоты в общих затратах все больше преобладает время решения СЛАУ. Аналогичные результаты для разной дискретизации и частоты 3 ГГц приведены в табл. 4.4. На рис. 4.5а приведено время решения СЛАУ с предфильтрациями (2.1)–(2.6) (при opt) при использовании полного LU-разложения. Из графиков видно, что на любой частоте (кроме 10 ГГц) наилучшим является самый простой способ предфильтрации (2.1). Наибольшее расхождение во времени решения СЛАУ при разной предфильтрации наблюдается для частоты 10 ГГц. Так, с предфильтрацией (2.2) получен выигрыш до 32% по отношению к (2.4) и (2.5). 15 На рис. 4.5б приведено время решения СЛАУ с предфильтрациями (2.1)–(2.6) (при opt) в зависимости от дискретизации для частоты 3 ГГц. Наибольший выигрыш способа (2.1) по отношению к (2.4) при /40 достигает 30%. Выигрыш за счет использования метода BiCGStab по сравнению с методом Гаусса при росте частоты, возрастает с 3 раз (4 ГГц) до 12 раз (12 ГГц). При увеличении дискретизации выигрыш возрастает от 8 (/10) до 15 раз (/40). Таблица 4.3 Характеристики матрицы для разных частот при дискретизации /10 f, ГГц N dA, % Tform, с TGE, с 4 1003 99,9986 7 18 6 1503 99,9989 15 62 8 1981 99,9996 27 142 10 2477 99,9998 42 276 12 2975 99,9997 61 483 60 Таблица 4.4 Характеристики матрицы при разной дискретизации для частоты 3 ГГц Дискретизация N dA, % Tform, с TGE, с 765 99,9974 4 8 /10 1513 99,9991 16 63 /20 2247 99,9997 35 206 /30 2997 99,9997 62 497 /40 50 T, c (2.1)+LU (2.2)+LU (2.3)+LU (2.4)+LU (2.5)+LU (2.6)+LU 50 40 30 T, c (2.1)+LU (2.2)+LU (2.3)+LU (2.4)+LU (2.5)+LU (2.6)+LU 40 30 20 20 а 10 10 б f , ГГц 0 Дискретизация 0 4 6 8 10 12 Рис. 4.5 Зависимости минимального времени решения СЛАУ для различных способов предфильтрации от частоты (а) и от дискретизации (б) В табл. 4.5 приведены opt для разных частот. Видно, что при изменении частоты для предложенной предфильтрации (2.5) и способа (2.4) оптимальное значение допуска обнуления остается одним и тем же, чего нельзя сказать о других способах предфильтрации. Способ (2.6) показал стабильность для частот более 4 ГГц. Такая стабильность важна, поскольку она минимизирует затраты времени при многовариантном анализе в большом числе частотных точек или при оптимизации по частоте, широко применяемым на практике. В табл. 4.6 приведены opt при разной дискретизации для 3 ГГц. Видно, что ни один из способов не показал высокой стабильности opt при изменении дискретизации во всем диапазоне. Способы (2.3) и (2.4) показали стабильность при дискретизации более чем /10. Для (2.2), (2.5) и (2.6) шаг изменения дискретизации соответствует примерно шагу изменения opt. Время решения СЛАУ для /40 (3 ГГц) за счет поиска только на главной диагонали сокращено с 38 с (для способа (2.2)) до 33 с (для усовершенствованного (2.2)). Таким образом, предложенное усовершенствование сократило время решения СЛАУ на 13%. 16 Таблица 4.5 opt для предфильтрациий (2.1)–(2.6) при изменении частоты f (2.1) (2.2) (2.3) (2.4) (2.5) (2.6) 4 10+0 5.10-3 10+0 5.10-3 5.10-3 5.10-4 6 10+0 5.10-3 5.10+0 5.10-3 5.10-3 5.10-5 8 5 10-1 10-3 10+0 5.10-3 5.10-3 5.10-5 . 10 5 10-1 5.10-4 10+0 5.10-3 5.10-3 5.10-5 . 12 5 10-1 5.10-4 10+0 5.10-3 5.10-3 5.10-5 . Таблица 4.6 opt для предфильтраций (2.1)–(2.6) при изменении дискретизации (2.1) (2.2) (2.3) (2.4) (2.5) (2.6) /10 5.10+0 5.10-3 10+0 5.10-3 5.10-3 10-4 /20 5.10-1 10-3 5.10-1 5.10-4 5.10-4 5.10-5 /30 5.10-1 5.10-4 5.10-1 5.10-4 5.10-4 5.10-6 /40 10-1 10-4 5.10-1 5.10-4 10-4 5.10-6 Далее проводилось сравнение новых способов предфильтрации и их усовершенствований на примере широкоподиапазонной проводной антенны (см. 4.1а). На рис. 4.6 приведено время решения СЛАУ с предфильтрациями (2.1)–(2.8) (при opt) в зависимости от частоты при дискретизации /10 (а) и от дискретизации для частоты 125 МГц (б). 70 T, c 70 (2.1)+LU (2.2)+LU (2.3)+LU (2.4)+LU (2.5)+LU (2.6)+LU (2.7)+LU (2.8)+LU 60 50 40 30 60 50 40 30 20 10 T, c (2.1)+LU (2.2)+LU (2.3)+LU (2.4)+LU (2.5)+LU (2.6)+LU (2.7)+LU (2.8)+LU 20 а 10 б Дискретизация f , МГц 0 0 165 245 325 405 485 Рис. 4.6 Зависимости минимального времени решения СЛАУ для различных способов предфильтрации от частоты (а) и от дискретизации (б) Из графиков трудно выделить явное преимущество какого-либо способа предфильтрации. Однако расхождение во времени решения СЛАУ при разных способах предфильтрации оказывается существенным. Так, для частоты 485 МГц получен выигрыш 23%, а для дискретизации /40 – 17%, в случае использования предфильтрации (2.1) по отношению к (2.5). Таким образом, дальнейшее совершенствование предфильтрации актуально. Для 165 МГц максимальный временной выигрыш по сравнению с методом Гаусса составляет 5 раз, а для 485 МГц он возрастает до 9 раз. Выигрыш же во времени за счет дискретизации возрастает от 7 при /10 до 9 при /40. В табл. 4.7 приведены opt для разных частот. Аналогичные результаты при разной дискретизации для 125 МГц приведены в табл. 4.8. Видно, что при изменении частоты для способов предфильтрации (2.2), (2.3) и (2.5) opt остается одним и тем же, чего нельзя сказать о других способах предфильтрации. Способы (2.1) и (2.6) показали стабильность для частот более 165 МГц. При изменении дискретизации только способ (2.2) показал 17 стабильность opt. Для способа (2.5), как и ранее для трапециевидной зубчатой антенны, шаг изменения дискретизации соответствует шагу изменения opt. Таблица 4.7 opt для предфильтраций (2.1)–(2.8) при изменении частоты f 165 245 325 405 485 . -1 -1 -1 -1 (2.1) 5 10 10 10 10 10-1 (2.2) 5.10-4 5.10-4 5.10-4 5.10-4 5.10-4 (2.3) 5.10-1 5.10-1 5.10-1 5.10-1 5.10-1 (2.4) 5.10-4 10-3 5.10-4 10-3 5.10-4 (2.5) 5.10-4 5.10-4 5.10-4 5.10-4 5.10-4 (2.6) 10-4 5.10-4 5.10-4 5.10-4 5.10-4 (2.7) 10-3 10-3 5.10-4 5.10-4 5.10-4 (2.8) 10-3 10-3 10-3 10-3 5.10-4 Таблица 4.8 opt для предфильтраций (2.1)–(2.8) при изменении дискретизации (2.1) (2.2) (2.3) (2.4) (2.5) (2.6) (2.7) (2.8) /10 5.10-1 10-4 5.10-2 5.10-4 5.10-4 5.10-6 5.10-4 5.10-4 /20 10-1 10-4 5.10-2 10-4 10-4 10-6 10-4 10-4 /30 10-1 10-4 10-1 10-4 5.10-5 10-6 10-4 10-4 /40 5.10-2 10-4 5.10-2 5.10-5 10-5 5.10-7 5.10-5 5.10-5 Таким образом, предложенный способ алгебраической предфильтрации, основанный на евклидовых нормах строк матрицы, показал на рассмотренных конфигурациях антенн стабильность оптимального значения допуска обнуления по критерию минимизации времени решения СЛАУ при изменении частоты и его контролируемую зависимость от изменения дискретизации. В конце гл. 4 предложены рекомендации по использованию итерационных методов, основанные на анализе обзора публикаций и практического опыта автора. ЗАКЛЮЧЕНИЕ Основные результаты работы заключаются в следующем: Разработан модуль матричных операций, встроенный в систему компьютерного моделирования электромагнитной совместимости TALGAT. Модуль позволяет решать СЛАУ, используя 8 прямых и 6 итерационных методов, 3 способа предобусловливания и 10 способов предфильтрации (включая предложенные автором новые и усовершенствованные). Реализована возможность использования методов решения СЛАУ с помощью DHTML диалогов. Реализована визуализация матриц, как после предфильтрации, так и после формирования матрицы предобусловливания. Приведены примеры использования методов решения СЛАУ в системе компьютерного моделирования электромагнитной совместимости. Разработаны и программно реализованы два новых способа алгебраической предфильтрации. Первый, основанный на евклидовых нормах строк, показал (при решении задачи определения токов в проводной антенне) стабильность оптимального значения допуска обнуления по критерию минимизации времени решения СЛАУ при изменении частоты, что минимизирует затраты времени, например, при многовариантном анализе в большом числе частотных точек или при оптимизации по частоте, широко применяемым на практике. Установлена зависимость оптимального значения допуска (по критерию минимизации времени) обнуления от изменения дискретизации. Показано, что при использовании предложенного способа предфильтрации существует оптимальное значение допуска обнуления по критерию минимизации времени решения СЛАУ. На исследованных примерах выбор оптимального значения 18 допуска обнуления, при использовании данного способа ускоряет решение по сравнению с методом Гаусса до 20 раз, а уменьшение заданной точности решения СЛАУ от 10 до 4 знаков ускоряет решение в полтора раза. Выполненное сравнение способов алгебраической предфильтрации при решении СЛАУ итерационными методами позволяет оценить изменение оптимального значения порога/допуска обнуления для каждого из способов, на примере определения токов в проводной антенне, как при изменении частоты, так и при изменении дискретизации. Показано, что можно добиться ускорения во времени решения СЛАУ до 32% за счет выбора способа предфильтрации. Предложенное совершенствование (поиск максимального элемента не по всей матрице, а только на главной диагонали) известных способов алгебраической предфильтрации сократило время решения СЛАУ до 13%. Реализованный модуль матричных операций MATRIX использовался для оценки паразитных электромагнитных эффектов в печатных платах и в кабелях аппаратуры, разрабатываемой в НПЦ «Полюс». Результаты работы внедрены в систему компьютерного моделирования электромагнитной совместимости при выполнении инновационной программы ТУСУРа и в учебный процесс ТУСУР (две авторские лекции, лабораторная работа и учебно-методическое пособие). Также реализованные итерационные методы использованы при выполнении проекта, поддержанного Российским фондом фундаментальных исследований. Совокупность этих выводов позволяет считать, что цель работы – совершенствование решения СЛАУ в задачах ЭМС. ПУБЛИКАЦИИ ПО МАТЕРИАЛАМ ДИССЕРТАЦИИ 1. Куксенко С.П. Исследование решения системы линейных алгебраических уравнений итерационным методом BiCGstab. – Сборник научных трудов всероссийской научно-технической конференции "Научная сессия ТУСУР", г. Томск, 2004, часть 1, С. 110–113. 2. Куксенко С.П. Повышение эффективности решения системы линейных алгебраических уравнений. – Сборник научных трудов международной молодежной научной конференции, Казань, 2004, Т. 3, С. 160–161. 3. Куксенко С.П., Газизов Т.Р. Оптимизация параметров стабилизированного метода бисопряжённых градиентов при решении задач вычислительной электродинамики. Материалы Шестой Всероссийской научно-практической конференции "Проблемы информационной безопасности государства, общества и личности", г. Томск, 2–4 июня 2004 г. С. 113–115. 4. Газизов Т.Р., Куксенко С.П. Оптимизация допуска обнуления при решении СЛАУ итерационными методами с предобусловливанием в задачах вычислительной электродинамики. Электромагнитные волны и электронные системы. №8, 2004, С. 26–28. 5. Костарев И.С., Куксенко С.П. Увеличение скорости решения системы линейных алгебраических уравнений с помощью быстрого преобразования Фурье. – Сборник научных трудов всероссийской научно-технической конференции "Научная сессия ТУСУР", г. Томск, 2005, часть 1, С. 112–114. 6. Куксенко С.П., Газизов Т.Р. Ускорение решения СЛАУ в задачах вычислительной электродинамики. Материалы Седьмой Всероссийской научно-практической конференции "Проблемы информационной 19 безопасности государства, общества и личности", г. Томск, 16–18 февраля 2005 г. С. 54–57. 7. Газизов Т.Р., Мелкозеров А.О., Газизов Т.Т., Куксенко С.П., Заболоцкий А.М. Комплексная оптимизация генетическими алгоритмами для обеспечения ЭМС. Сб. науч. докл. VI Межд. Симп. по электромагнитной совместимости и электромагнитной экологии, г. Санкт-Петербург, 21–24 июня 2005 г. С. 160–164. 8. Куксенко С.П., Газизов Т.Р. Методы решения СЛАУ в задачах вычислительной электродинамики. Вестник Томского государственного педагогического университета. Серия: Естественные и точные науки. Спецвыпуск, №7, 2005. С. 144–149. 9. Костарев И.С., Куксенко С.П., Газизов Т.Р. Повышение эффективности решения системы линейных алгебраических уравнений итерационными методами. Вестник Томского государственного педагогического университета. Серия: Естественные и точные науки. Спецвыпуск, №7, 2005. С. 150–155. 10. Газизов Т.Р., Мелкозеров А.О., Газизов Т.Т., Куксенко С.П., Заболоцкий А.М. Компьютерное моделирование сложных структур проводников при проектировании телевизионно-вычислительных систем. Известия вузов. Приборостроение. №11, 2005. Т. 48. С. 64–67. 11. Куксенко С.П. Использование метода BiCGStab для решения нескольких СЛАУ с одинаковой плотной несимметричной матрицей в задачах вычислительной электродинамики. – Сборник научных трудов третьей международной научно-практической конференции «Электронные средства и системы управления» посвященной 60-летию Победы в Великой Отечественной Войне и 110-летию изобретения радио, г. Томск, 2005, Ч.2 С. 128–132. 12. Костарев И.С., Куксенко С.П. Увеличение скорости решения системы линейных алгебраических уравнений итерационными методами. – Сборник научных трудов третьей международной научно-практической конференции «Электронные средства и системы управления» посвященной 60-летию Победы в Великой Отечественной Войне и 110-летию изобретения радио, г. Томск, 2005, Ч.1 С. 110–113. 13. С.П. Куксенко, Т. Р. Газизов. Сравнение способов предфильтрации при решении СЛАУ с плотной матрицей итерационными методами с предобусловливанием. Инфокоммуникационные технологии, No. 2, 2007, Т. 5, С. 61–65. 14. С.П. Куксенко. Новый способ предфильтрации при решении СЛАУ с плотными матрицами итерационными методами с предобусловливанием. Всероссийская научно-техническая конференция студентов, аспирантов и молодых ученых "Научная сессия ТУСУР", посвященная 45-летию ТУСУРа, г. Томск, 3–7 мая 2007, Ч.1 С. 341–344. 15. С.П. Куксенко, С.Т. Сивцев. Зависимость оптимального допуска обнуления от дискретизации антенны. Всероссийская научно-техническая конференция студентов, аспирантов и молодых ученых "Научная сессия ТУСУР", посвященная 45-летию ТУСУРа, г. Томск, 3–7 мая 2007, Ч.1 С. 345–347.