На правах рукописи Куксенко Сергей Петрович Алгоритмы и программное обеспечение для решения систем линейных алгебраических уравнений при анализе электромагнитного излучения проводных структур Специальность 05.13.18 Математическое моделирование, численные методы и комплексы программ Автореферат диссертации на соискание учёной степени кандидата технических наук Томск – 2007 2 Работа выполнена в Томском государственном университете систем управления и радиоэлектроники Научный руководитель − канд. техн. наук старший научный сотрудник Газизов Тальгат Рашитович Официальные оппоненты: д-р физ.-мат. наук профессор Дмитренко Анатолий Григорьевич (Томский государственный университет); д-р физ.-мат. наук профессор Гошин Геннадий Георгиевич (Томский государственный университет систем управления и радиоэлектроники) Ведущая организация − ОАО «Научно-производственный центр «Полюс» (г. Томск) Защита состоится 14 ноября 2007 года в 15.00 на заседании диссертационного совета Д 212.268.02 при Томском государственном университете систем управления и радиоэлектроники по адресу: 634034, г. Томск, ул. Белинского, 53 С диссертацией можно ознакомиться в библиотеке Томского государственного университета систем управления и радиоэлектроники Автореферат разослан « 10 » октября 2007 года Ученый секретарь диссертационного совета Клименко А.Я. 3 ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность работы. Решение системы линейных алгебраических уравнений (СЛАУ) имеет большое значение, поскольку к нему сводится решение широкого круга сложных практических задач. В линейной алгебре эту задачу называют первой основной задачей. Так, около 75% всех расчетных математических задач приходится на решение СЛАУ. Необходимость решения СЛАУ возникает при решении многомерных анизотропных краевых задач, в задачах вычислительной гидродинамики, в теории электрических цепей, в задачах управления и контроля, при решении уравнений балансов и сохранения в механике, гидравлике, в задачах оценки и предсказания критических ситуаций и др. Особая необходимость в решении СЛАУ возникает при использовании широкого класса моделей и подходов, применяемых при автоматизированном проектировании аппаратуры с учетом электромагнитной совместимости. Например, решение задач излучения или рассеяния электромагнитной волны сложными объектами может быть получено с помощью интегральных уравнений, сводящихся методом моментов к СЛАУ с плотной, комплексной и несимметричной матрицей большой размерности N × N. Достаточно важной задачей является анализ излучения проводных структур, поскольку он необходим при моделировании проводных антенн, аппроксимации излучающей поверхности проводной сеткой, создании различных симуляторов электромагнитного поля и др. Вычислительные трудности решения таких СЛАУ во многом обусловлены заполненностью матриц, приводящей к огромному объему вычислений (особенно в трехмерных задачах). Для решения СЛАУ с плотными матрицами традиционно используются точные методы, например, метод исключения Гаусса. Но их вычислительные затраты, пропорциональные N 3, существенно ограничивают круг решаемых задач даже на высокоскоростных компьютерах. Необходимость решения сложных задач, дающих рост N, привела к широкому применению итерационных методов. Наиболее эффективными и устойчивыми (с точки зрения сходимости к точному решению) среди итерационных методов являются, так называемые, методы крыловского типа. В связи с тем, что матрица СЛАУ, полученная применением метода моментов, является, как правило, плохо обусловленной, использование итерационного метода без предобусловливания не вполне обоснованно, поскольку метод может застопориться или даже оборваться. Использование предфильтрации (игнорирования незначительных элементов) позволяет задать структуру разреженности матрицы СЛАУ, что, в свою очередь, позволяет применить алгоритмы технологии разреженных матриц (предобусловливание) и тем самым уменьшить время решения. Между тем, ряд возможностей совершенствования решения СЛАУ с плотной матрицей итерационными методами при исследовании проводных структур остаётся неиспользованным. Так, недостаточно разработаны способы выбора структуры разреженности с помощью предфильтрации матрицы СЛАУ, позволяющие добиться ускорения решения за счет более эффективного использования предобусловливания. Следует отметить, что исследователи, решающие 4 СЛАУ с плотными матрицами, как правило, приводят результаты при фиксированных параметрах предфильтрации (в частности, допуске обнуления), без оценки их влияния на общие временные затраты. Кроме того, недостаточно представлено сравнение этих способов между собой, что затрудняет корректный выбор способа предфильтрации и его параметров на практике. Свободно распространяемое программное обеспечение, позволяющее решать СЛАУ с плотными матрицами эффективными итерационными методами без дополнительной модификации, практически отсутствует. Так, известный и постоянно развиваемый пакет LAPACK (последняя версия 3.1.1 вышла 26.02.2007) использует только прямые методы. В системе SciLab, являющейся бесплатным аналогом MatLab, содержатся встроенные средства работы с разреженными матрицами, в т.ч. возможности LU-разложения. В состав последних версий включены и итерационные методы крыловского типа для решения разреженных СЛАУ. Специализированное программное обеспечение для электромагнитного моделирования, как правило, использует только прямые методы решения СЛАУ. Так, один из лучших зарубежных программных продуктов FEKO использует метод исключения Гаусса. В других не всегда уточняется, каким методом получено решение. Таким образом, эффективность исследований с помощью таких систем часто оставляет желать лучшего, а отсутствие у пользователя возможности их модернизации делает это обеспечение весьма неэффективным. Еще один недостаток данного обеспечения – высокая стоимость. Цель работы – разработка алгоритмов и комплекса программ для решения систем линейных алгебраических уравнений, возникающих в задачах анализа электромагнитного излучения проводных структур. Для достижения поставленной цели необходимо решить следующие задачи: 1. Разработать новые алгоритмы предфильтрации. 2. Усовершенствовать известные способы предфильтрации. 3. Разработать комплекс программ, реализующий новые и известные алгоритмы предфильтрации, методы решения СЛАУ и способы предобусловливания. 4. Апробировать основные способы алгебраической предфильтрации на задаче анализа излучения проводных структур. 5. Произвести сравнение результатов, полученных при использовании разных способов предфильтрации на нескольких конфигурациях. В работе использовались: теория матриц, прямые и итерационные методы решения СЛАУ, объектно-ориентированное программирование. Достоверность результатов подтверждается проверкой корректности программной реализации на примере нахождения заведомо известного решения, совпадением результатов, полученных несколькими методами. Научная новизна 1. Разработаны два новых способа алгебраической предфильтрации. 2. Предложено усовершенствование известных способов алгебраической предфильтрации. 5 3. Показано, что при использовании предложенных способов предфильтрации существует оптимальное значение допуска обнуления по критерию минимизации времени решения СЛАУ. 4. Выявлена стабильность (при изменении частоты) и установлена контролируемая зависимость (от изменения дискретизации) оптимального значения допуска обнуления (по критерию минимизации времени решения СЛАУ) при использовании предложенного способа предфильтрации на примере определения токов в проводной антенне. Практическая значимость 1. Программно реализован модуль матричных операций единой системы компьютерного моделирования электромагнитной совместимости, позволяющий использовать широкий ряд прямых и итерационных методов решения СЛАУ как в виде функций, так и в виде DHTML диалогов. Возможности модуля позволяют его использовать для решения других задач, требующих решения СЛАУ с плотной матрицей. 2. Выполнено сравнение способов алгебраической предфильтрации при решении СЛАУ итерационными методами, позволяющее оценить изменение оптимального значения порога/допуска обнуления для каждого из способов, на примере определения токов в проводной антенне, как при изменении частоты, так и при изменении дискретизации. 3. Приведены рекомендации по использованию итерационных методов. 4. Результаты работы активно используются в учебном процессе. Апробация результатов. Результаты диссертационной работы представлялись и докладывались в материалах следующих симпозиумов и конференций: Всероссийская научно-техническая конференция студентов и молодых ученых "Научная сессия ТУСУР", г. Томск, 2004; XII Туполевские чтения: Международная молодежная научная конференция, г. Казань, 2004; Всероссийская научнопрактическая конференция "Проблемы информационной безопасности общества и личности", г. Томск, 2004, 2005; Международная научно-практическая конференция "Электронные средства и системы управления", г. Томск, 2005; Международный симпозиум по ЭМС и электромагнитной экологии, г. СанктПетербург, 2005, 2007; Всероссийская научно-техническая конференция студентов, аспирантов и молодых ученых "Научная сессия ТУСУР", посвященная 45летию ТУСУРа, г. Томск, 2007. Публикации. По результатам исследований, представленных в диссертации, опубликовано 19 научных работ: 6 статей в журналах из перечня ВАК; 10 докладов и 1 тезисы в материалах симпозиумов и конференций; 1 свидетельство об отраслевой регистрации разработки; 1 монография. Структура и объём диссертации. В состав диссертации входят введение, 3 главы, заключение, список литературы из 109 наим., 3 приложения с актами внедрения. Объём диссертации составляет 103 стр., в том числе 24 рис. и 23 табл. Личный вклад. Все результаты работы получены автором лично или при непосредственном его участии. 6 Внедрение результатов работы 1. Реализованный комплекс программ использовался для оценки паразитных электромагнитных эффектов в печатных платах и в кабелях аппаратуры, разрабатываемой в НПЦ «Полюс». 2. Разработанный комплекс программ использован для выполнения проекта «Разработка системы компьютерного моделирования электромагнитной совместимости». (Заключительный отчет ВТК-15 по мероприятию 3.1.3а инновационной программы ТУСУР, 2006 г. и свидетельство об отраслевой регистрации разработки № 8376). 3. Результаты использованы в учебном процессе ТУСУРа (одна лабораторная работа, две авторские лекции, учебно-методическое пособие, монография). 4. Реализованные итерационные методы использованы при выполнении проекта 06-08-01242 «Исследование новых модальных явлений в структурах многопроводных линий передачи с неоднородным диэлектрическим заполнением», поддержанного Российским фондом фундаментальных исследований. Положения, выносимые на защиту 1. Для решения СЛАУ итерационными методами с предобусловливанием предложен новый способ предфильтрации, показавший стабильность оптимального (по критерию минимизации времени решения СЛАУ) значения допуска обнуления при изменении частоты и его контролируемую зависимость от изменения дискретизации при решении задачи определения токов в проводной антенне. 2. За счет выбора способа предфильтрации и оптимального значения порога/допуска обнуления можно сократить время решения СЛАУ итерационными методами с предобусловливанием на 40%. 3. При решении СЛАУ итерационными методами с предобусловливанием в сочетании с предфильтрацией, поиск максимального элемента не по всей матрице, а только на главной диагонали, позволяет уменьшить время решения на 13%. 4. Выбором оптимального значения допуска обнуления предфильтрации, при решении СЛАУ итерационными методами с предобусловливанием, можно ускорить решение по сравнению с методом Гаусса до 20 раз. ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ 1. РЕШЕНИЕ СЛАУ: ОБЗОР В работе рассмотрено численное решение векторно-матричного уравнения (1.1) Ax=b, где b – вектор свободных членов, x – вектор неизвестных (вектор-решение) и A – матрица (N×N) коэффициентов данной системы. Все методы решения СЛАУ можно условно разбить на два класса: прямые и итерационные. Прямыми называются методы, которые приводят к решению за конечное число арифметических операций. Если операции реализуются точно, то и решение будет точным. Итерационными являются методы, в которых точное решение может быть получено лишь в результате бесконечного повторения единообразных действий. 7 Последние десятилетия ознаменованы развитием численных методов, нашедших отражение в книгах Г.И. Марчука, А.А. Самарского, С.К. Годунова, Дж. Голуба, О. Аксельсона, Ю. Саада, Х. Ворста и др. Несмотря на имеющиеся в этой области теоретические достижения, а также на бурный рост мировых вычислительных мощностей, проблема разработки и исследования новых быстрых алгоритмов решения СЛАУ не теряет своей актуальности, и поток публикаций по этой тематике только увеличивается. Для решения задач электромагнитного поля существуют различные подходы, которые сводятся к аналитическому или численному решению соответствующих интегральных или дифференциальных уравнений в частотной или временной области, из которых особо выделяется метод моментов. Поэтому, метод моментов разрабатывался очень интенсивно, и в первую очередь применительно к задаче анализа проводных структур. В практических приложениях метода моментов обусловленность матрицы СЛАУ ухудшается с приближением частоты воздействия к частотам собственных колебаний исследуемой структуры. Анализ показывает, что применение итерационных методов является первым и весьма плодотворным шагом для эффективного решения СЛАУ с плохо обусловленной матрицей. Наиболее эффективными и устойчивыми среди итерационных методов являются, так называемые, методы крыловского типа. Эти методы обладают рядом достоинств: они устойчивы, допускают эффективное распараллеливание и работу с предобусловливателями разных типов. Данные методы исторически разрабатывались для решения разреженных систем. Проведенный обзор, позволил в работе привести алгоритмы (готовые для программной реализации) шести итерационных методов крыловского типа. Вычисление итерационными методами зависит от обусловленности матрицы А, оцениваемой числом обусловленности condA=||A||⋅||A–1||. С ростом condA обусловленность ухудшается, и для ряда проблем сходимость может оказаться очень медленной, и поэтому итерационный процесс может застопорится или даже оборваться. Однако применение предобусловливания улучшает сходимость к требуемому решению. Пусть М – некоторая невырожденная (N×N) матрица. Домножив (1.1) на матрицу M–1, получим систему (1.2) M–1Ax=M–1b, которая в силу невырожденности M имеет то же точное решение. Процесс перехода от (1.1) к (1.2) с целью улучшения характеристик матрицы для ускорения сходимости к решению называется предобусловливанием. Очень важным является то, что матрица М должна быть по возможности близка к матрице A. Способы предобусловливания можно разбить на два вида: явные и неявные. Для представления системы Ax=b с явным предобусловливанием удобно воспользоваться записью (1.2). Неявно предобусловленную систему Ax=b удобно представить в виде уравнения MAx=Mb. Известно, что предобусловливание может быть введено в схему метода (крыловского типа) без необходимости явного вычисления матричного произведения. Так, явное 8 предобусловливание требует нахождения матрицы М–1 и умножения матрицы предобусловливания на вектор в каждой итерации. Для неявного необходимо решать СЛАУ с матрицей М в каждой итерации. Большинство способов предобусловливания обоих видов основано на известном представлении матрицы в виде произведения двух матриц L и U (LU-разложение). Известно, что если исходная матрица разреженная, то матрицы L и U являются более плотными. Основываясь на LU-разложении, матрицу предобусловливания можно формировать несколькими способами. Первый основан на нахождении матрицы М из матрицы A с помощью LU-разложения и обнуления по ходу вычислений незначительных элементов в треугольных матрицах L и U (постфильтрация). Второй, более выигрышный, основан на предфильтрации, когда игнорированием некоторых элементов исходной матрицы получают разs реженную матрицу As ( a ijs = 0 , если aij игнорируется и a ij = a ij в противном случае) и потом производят ее LU-разложение, тем самым формируя искомую матрицу M=LU. Таким образом, использование предфильтрации (игнорирования незначительных элементов) позволяет задать структуру разреженности матрицы СЛАУ, что, в свою очередь, позволяет применить алгоритмы технологии разреженных матриц (предобусловливание). После того, как матрица M сформирована, происходит решение предобусловленной СЛАУ. Как было замечено выше, второй подход приводит к тому, что матрица M оказывается более плотной (заполнение без ограничений), чем матрица As, что соответствует увеличению требуемой памяти. Альтернативой полному является неполное разложение, применяемое к матрице As. Данное разложение заключается в представлении (1.3) M=LU+R, где L и U – как и прежде, нижне- и верхнетреугольные матрицы, соответственно, а матрица R является матрицей ошибки. Тогда приближенное представление M≈LU называется неполным LU-разложением матрицы M или коротко, её ILUразложением. Самой простой версией данного разложения является ILU(0). Оно заключается в применении LU-разложения к матрице As, но если a sij =0, то сразу s полагается l sij =0 или u ij =0. Если NZ(As) – структура разреженности матрицы As, а NZ(M) – матрицы M, то очевидно, что данный способ приводит к тому, что их структуры совпадают. (Чтобы подчеркнуть тот факт, что в данной постановке задачи в структуру не вводятся новые ненулевые элементы, такую факторизацию часто называют факторизацией с нулевым заполнением.) Поскольку полное разложение приводит к заполнению структуры матрицы без каких-либо ограничений, а ILU(0)-разложение – к нулевому заполнению, очевидно, что еще одним вариантом может служить разложение с неким уровнем заполнения. Такими способами являются ILU(p)-разложение, ILUT и др. Проведенный обзор позволил привести в работе готовые для программной реализации способы предобусловливания. Так как вычислительные затраты, возникающие при компьютерном моделировании, состоят из затрат на формирование матрицы и собственно решение 9 СЛАУ, снижение каждой из составляющих является важной практической задачей. Общее время решения СЛАУ с плотной матрицей итерационным методом с предобусловливанием состоит из трех составляющих: затрат на выбор структуры разреженности с помощью предфильтрации (получение из матрицы A матрицы As), затрат на формирование из матрицы As матрицы предобусловливания M и затрат на Nit итераций, необходимых для получения решения с требуемой точностью. Отметим, что первая составляющая этих затрат во многом определяет другие затраты. Так, выбор структуры разреженности определяет количество арифметических операций, требуемых для формирования матрицы предобусловливания, что, в свою очередь, повлияет на затраты каждой итерации, поскольку в каждой итерации необходимо один или два раза решать СЛАУ с матрицей М (при использовании неявного предобусловливания). Наконец, выбор структуры разреженности повлияет и на количество итераций, поскольку он меняет обусловленность результирующей матрицы M–1A. Таким образом, выбор структуры (портрета) разреженности матрицы предобусловливания является важной практической задачей. Рассмотрим её подробнее. Одной из простейших стратегий является выбор заранее известной структуры, например, ленточной или блочно-диагональной, т.е. элементы матрицы As совпадают с ленточной (блочно-диагональной) частью матрицы А и равны нулю вне данной структуры. Такая предфильтрация характеризуется шириной ленты (размером блока) и, таким образом, основана на позиции элемента в матрице (структурная предфильтрация), а не на его значении. Более часто используемой стратегией является динамическое определение структуры разреженности, например, с помощью некоторого порога (алгебраическая предфильтрация). Она заключается в задании (нахождении) определенного порога, с помощью которого происходит игнорирование малозначащих элементов путем сравнения модуля каждого элемента с данным (полученным) значением. Упомянутый порог обнуления, в свою очередь, может быть получен многими способами. Самым простым из них является проверка на малость модулей элементов матрицы с заданным порогом обнуления (ε): s (1.4) a ij = a ij , если a ij > ε , i, j = 1, …, N. Он является простейшим, с точки зрения вычислений, и требует наименьшего времени на формирование разреженной матрицы As, поскольку порог обнуления задается непосредственно, без необходимости его вычисления. Другой способ предфильтрации, предложенный Л.Ю. Колотилиной: s max > ε , i, j = 1, …, N, (1.5) a ij = a ij , если a ij a max где a – максимальный элемент матрицы. Понятно, что при использовании данного способа достаточно много времени требуется на поиск наибольшего элемента в матрице. Способ был предложен для применения явного предобусловливания при решении СЛАУ с плотной матрицей. Первоначально происходило обнуление малозначащих элементов исходной матрицы, т.е. первоначально плотную матрицу приводили к разреженному виду, тем самым становилось 10 возможным применение технологий разреженных матриц. Далее на основе полученной структуры разреженности матрицы строилась матрица предобусловливания. Таким образом, решение СЛАУ с плотной матрицей было сведено к решению разреженной системы итерационным методом с предобусловливанием. Позже, вместо разреживания исходной матрицы исследователи стали применять данный подход для формирования матрицы предобусловливания, т.е. использовать его как предфильтрацию. Данный способ широко применялся и применяется, как правило, при построении явного предобусловливания для решения плотных СЛАУ, получаемых методом граничных элементов. В работах B. Carpentieri, I.S. Duff, M. Benzi и M. Tuma приведены результаты при двух значениях порога обнуления: 0,05 и 0,075. Стоит отметить, что автору не известны работы, в которых решалась бы СЛАУ (полученная методом моментов) с использованием этого способа предфильтрации для формирования матрицы предобусловливания. Используется также обнуление, основанное на бесконечной норме матрицы, s (1.6) a ij = a ij , если a ij > ε = A ∞ ⋅τ N , i, j = 1, …, N, где A ∞ = max i ∑ j =1 a ij , а τ – допуск обнуления. Очевидно, что значительные N временные затраты при использовании данного способа связаны с поиском наибольшей суммы строки. Способ использовался следующим образом. Первоначально система с плотной матрицей преобразовывалась с помощью вейвлетов, после чего она остается достаточно плотной, но большая часть ее элементов имеет небольшие абсолютные значения. Обнуление элементов, по описанному выше правилу, приводило к получению разреженной матрицы СЛАУ. Таким образом, плотная матрица СЛАУ приводилась к разреженному виду, позволяющему применение эффективных итерационных алгоритмов, ориентированных на разреженные системы. В последующем в работах O. Franza, R. Wagner и W.C. Chew было предложено использовать этот подход при решении задачи излучения, где была показана его эффективность. Вычисления производились на примере задачи излучения цилиндра при использовании метода моментов. Было показано, что выбор τ = 0,1–0,2 является оптимальным для минимизации времени решения СЛАУ. Поскольку такое упрощение, дающее ускорение, не всегда обоснованно и приемлемо для некоторых классов задач, то исследователи стали использовать это правило обнуления, как способ определения структуры разреженности матрицы предобусловливания, т.е. стали использовать его как предфильтрацию. Известен способ выбора структуры разреженности, предложенный V.V. Prakash и R. Mittra, основанный на нахождении наибольшего элемента в строке, s max > ε , i, j = 1, …, N, (1.7) a ij = a ij , если a ij a i где aimax – максимальный элемент в i-й строке. Поскольку способ основан на нахождении максимального элемента в каждой строке, порог обнуления является разным для каждой из строк. После того, как максимальный элемент найден, происходит процесс, подобный описанному при использовании подхода (1.5), 11 но вместо всей матрицы сканируется строка матрицы. Очевидно, что при использовании как данного, так и подхода (1.5), значительные затраты времени связаны с поиском максимальных или максимального элементов. В работе, где была предложена данная предфильтрация, в качестве исследуемой использовалась только одна конфигурация, специальная антенная решетка. Решение задачи излучения было сведено к СЛАУ методом моментов. Все вычисления проводились при фиксированном значении ε=0,01. В работе не приведены рекомендации по заданию порога обнуления при изменении рассматриваемой конфигурации. Автору не известны другие работы, в которых использовался бы данный способ предфильтрации. Как видно из приведенных (в хронологическом порядке) основных способов, с течением времени исследователи пытались найти предфильтрацию, адаптивную к различным задачам. Отметим, что алгебраическая предфильтрация может сочетаться практически со всеми другими видами, как со структурной, так и с другими способами динамической. Также понятно, что приведенные способы алгебраической предфильтрации могут быть использованы как постфильтрация при формировании матрицы предобусловливания. Таким образом, данный вид предфильтрации является, пожалуй, самым универсальным. Упомянутые способы алгебраической предфильтрации можно разделить на две группы. Способы глобальной предфильтрации (1.4)–(1.6) задают общий порог обнуления для всех элементов матрицы. К способам локальной предфильтрации относится способ (1.7), определяющий для каждой строки свой порог обнуления. Априорно трудно сказать, какой подход предпочтительнее, как с точки зрения минимизации времени решения СЛАУ, так и стабильности допуска/порога обнуления. Таким образом, благодаря проведенному обзору были собрано воедино готовые для программной реализации алгоритмы итерационных методов, способов предобусловливания и предфильтрации. В заключении гл. 1 приведен обзор программного обеспечения и сформулированы цель и задачи работы (см. с. 4). 2. РАЗРАБОТКА И РЕАЛИЗАЦИЯ АЛГОРИТМОВ Предложен способ локальной предфильтрации, основанный на идее постфильтрации при формировании матрицы предобусловливания с помощью ILUTразложения. Предлагаемый способ состоит в том, что разреженная матрица As формируется из матрицы A путем игнорирования некоторых элементов (кроме диагональных) согласно следующему правилу. Перед предфильтрацией i-й строки вычисляется ее евклидова норма, умножением которой на задаваемый допуск обнуления τ получают i-й порог обнуления εi. После того, как все элементы строки будут проверены на малость, необходимо повторить те же действия со следующей (i+1)-й строкой. Процесс закончится после того, как все строки матрицы A будут обработаны подобным образом. Данный процесс можно представить в виде s (2.1) a ij = a ij , если i = j или a ij > ε i = a i∗ 2 ⋅ τ , i, j = 1, …, N, 12 где a i∗ 2 = ∑ N j =1 a ij 2 – евклидова норма i-й строки. Таким образом, порог об- нуления является своим для каждой из строк, т.е. данный способ относится к группе способов локальной предфильтрации. Предложенный способ глобальной предфильтрации, заключается в следующем. Разреженная матрица As получается из матрицы A путем игнорирования некоторых элементов этой матрицы (кроме диагональных) согласно следующему правилу s (2.2) a ij = a ij , если i = j или a ij > ε = A F ⋅ τ , i, j = 1, …, N, где A F= ∑ ∑ N i =1 N 2 a – евклидова норма (также называемая нормой Фробеj =1 ij ниуса) матрицы A, а τ – задаваемый допуск обнуления. Таким образом, структура разреженности сформированной матрицы As может быть использована для формирования матрицы предобусловливания. Временные затраты на реализацию данного способа предфильтрации меньше затрат на предфильтрацию (2.1), поскольку здесь необходимо всего один раз осуществить операцию извлечения квадратного корня. Из теоретических основ метода моментов и опыта моделирования проводных структур известно, что максимальные элементы матрицы СЛАУ группируются у главной диагонали. Используя это, можно ускорить процесс предфильтрации уже известных способов. Так, время предфильтрации (1.5) при использовании этого подхода сократится за счет поиска только на главной диагонали, а не по всей матрице. В способе (1.6) можно положить, что максимальной суммой обладает главная диагональ, т.е. N s (2.3) a ij = a ij , если i = j или a ij > ε = ∑ i =1 a ii ⋅ τ N , i, j = 1, …, N, и не тратить время на поиски наибольшей суммы строк. Для способа (1.7) можно ограничиться условием того, что максимальные элементы в строке находятся на главной диагонали, т. е. воспользоваться правилом s (2.4) a ij = a ij , если i = j или a ij a ii > ε , i, j = 1, …, N. Программно реализованы в виде функций (в системе Visual C++ 6.0) следующие методы решения СЛАУ: метод Гаусса; метод Гаусса, основанный на LU-разложении матрицы; метод бисопряженных градиентов (BiCG); стабилизированный метод бисопряженных градиентов (BiCGStab); метод обобщенных минимальных невязок (GMRES(m)). Реализовано предобусловливание, основанное как на полном LU-разложении, так и на неполном – ILU(0). Разработан модуль матричных операций, удовлетворяющий требованиям системы компьютерного моделирования электромагнитной совместимости TALGAT, реализующий: операции над матрицами (создание, чтение и изменение элементов, изменение размера, добавление и вырезание строк и столбцов, форматированный вывод); 8 прямых методов решения СЛАУ; 6 итерационных методов решения СЛАУ с возможностью задания их параметров; 6 способов предобусловливания; 10 способов предфильтрации. Для более удобного использования в системе предусмотрена возможность их применения с помощью 13 DHTML диалогов. Стартовый диалог и пример диалога для решения СЛАУ методом BiCGStab показаны на рис. 2.1. Также реализована визуализация матриц после предфильтрации и формирования предобусловливания. Элементы, абсолютные значения которых ниже заданного порога (обнуляемые), отображаются белым цветом, а выше – черным. б а Рис. 2.1. DHTML диалоги: для выбора метода (а), для метода BiCGStab (б) 3. ИССЛЕДОВАНИЕ РАБОТЫ ИТЕРАЦИОННЫХ МЕТОДОВ Работа итерационных методов исследована на задаче определения токов в проводной антенне. Первоначально система (1.1) решалась итерационными методами BiCG, BiCGStab, CGS, QMR и GMRES(m) при m=10, 20, 40. В качестве исследуемых взяты четыре антенны: широкодиапазонная антенна (N = 1261, плотность матрицы dA = 100%); трапециевидная зубчатая антенна (N = 765, dA = 99,997%); антенна «чайка» (N = 1865, dA = 100%); диполь с углом между лучами 180° (N = 2335, dA = 100%). Общий вид этих антенн (кроме диполя) приведен на рис. 3.1. а б в Рис. 3.1. Вид антенн: широкодиапазонной (а), «чайка» (б), трапециевидной зубчатой (в) Проведенные вычисления показали, что применение итерационных методов без предобусловливания не эффективно, поскольку в большинстве случаев для получения приемлемого решения итерационному процессу было не достаточно 400 итераций или требовались значительные временные затраты (намного большие, чем при использовании метода Гаусса). 14 Далее использовались те же методы с предобусловливанием. В качестве способов формирования матрицы предобусловливания использовались: полное LUразложение; ILU(0) и ILU(p), при p=1, 2, 3. В качестве предфильтрации использовался предложенный способ (2.1), основанный на нормах строк матрицы. В качестве исследуемых были взяты две антенны: диполь и широкодиапазонная антенна (см. рис. 3.1а). Анализ результатов исследования показал, что наиболее предпочтительными, с точки зрения минимизации времени решения СЛАУ, оказались два метода: BiCGStab и CGS при использовании полного LU-разложения и предложенного способа предфильтрации (2.1). Поскольку они показали практически одинаковые результаты, в дальнейших исследованиях чаще использовался один из них: метод BiCGStab. Также показано, что в качестве способа формирования матрицы предобусловливания предпочтительнее использовать полное LU-разложение, поскольку оно оказалось наиболее работоспособным для каждого метода. С целью выявления зависимости времени решения СЛАУ от допуска обнуления предложенного способа предфильтрации (2.1) решалась СЛАУ итерационным методом на примере широкодиапазонной антенны (см. рис. 3.1а) с матрицами N=243 и N=1023 при τ=10–1, 5·10–2, …, 10–4. При формировании матрицы предобусловливания использовалось полное LU-разложение. В табл. 3.1 приведена выборка результатов вычислений при τ=10–3 (T – время решения СЛАУ, Nit – число итераций, реальная и мнимая части второго и последнего элементов вектора решения, т.е. распределения тока в антенне) методом BiCGStab при разной точности вычислений Tol (условие прекращения итераций r k 2 r 0 2 < Tol, где rk и r0 – невязки после k-й итерации и нулевого начального приближения, соответственно), а также методом Гаусса (последняя строка, GE). Из неё видно, что методом BiCGStab решение, например с точностью до 4 знаков после запятой совпадающее с решением методом Гаусса, получается в 6 раз быстрее, чем методом Гаусса. При необходимости, более точные результаты легко получить, увеличивая число итераций: например решение, совпадающее с точностью до 10 знаков, получается в 4 раза быстрее. Таблица 3.1. Результаты вычислений при τ=10–3 для проводной антенны с матрицей N=243 Tol T, с Nit Re(i1), A Im(i1), A Re(i242), A Im(i242), A –1 –3 –4 –3 10 0,16 4 –5,5433315933⋅10 8,5280934358⋅10 3,1026158901⋅10 –2,0675906220⋅10–4 10–2 0,22 5 –5,5429392637⋅10–3 8,5304111642⋅10–4 3,1019734236⋅10–3 –2,0697442283⋅10–4 10–3 0,22 5 –5,5429392637⋅10–3 8,5304111642⋅10–4 3,1019734236⋅10–3 –2,0697442283⋅10–4 10–4 0,22 5 –5,5429392637⋅10–3 8,5304111642⋅10–4 3,1019734236⋅10–3 –2,0697442283⋅10–4 10–5 0,27 6 –5,5429393543⋅10–3 8,5304010642⋅10–4 3,1019740107⋅10–3 –2,0697295482⋅10–4 10–6 0,28 7 –5,5429393483⋅10–3 8,5304010471⋅10–4 3,1019740055⋅10–3 –2,0697295161⋅10–4 10–7 0,28 7 –5,5429393483⋅10–3 8,5304010471⋅10–4 3,1019740055⋅10–3 –2,0697295161⋅10–4 10–8 0,33 8 –5,5429393528⋅10–3 8,5304010530⋅10–4 3,1019740083⋅10–3 –2,0697295185⋅10–4 GE 1,37 – –5,5429393528⋅10–3 8,5304010530⋅10–4 3,1019740083⋅10–3 –2,0697295185⋅10–4 Аналогичные вычисления для той же антенны с матрицей N=1023 показали, что методом BiCGStab решение, с точностью до 4 знаков после запятой совпадающее с решением методом Гаусса, получается за 10 итераций и в 14 раз быст- 15 рее, чем методом Гаусса. Более точное решение, совпадающее с точностью до 10 знаков, получается в 10 раз быстрее. Таким образом, уменьшение заданной точности решения СЛАУ от 10 до 4 знаков ускоряет решение в полтора раза. Зависимости времени решения СЛАУ от τ для различных Tol приведены на рис. 3.2. Видно, что для всех Tol существует значение τ, оптимальное по критерию минимизации времени решения СЛАУ (далее τopt). –1 10 1,E-01 –2 10 1,E-02 –3 10 1,E-03 –4 10 1,E-04 –5 10 1,E-05 –6 10 1,E-06 –7 10 1,E-07 –8 10 1,E-08 1 T, c 0,9 0,8 0,7 0,6 0,5 35 30 25 20 15 0,4 0,3 10 0,2 а 0,1 0 –1 10 1.E-01 10–2 1.E-02 10–3 1.E-03 10–4 1.E-04 10–5 1.E-05 10–6 1.E-06 10–7 1.E-07 10–8 1.E-08 T, с –1 10 1,E-01 τ –2 10 1,E-02 –3 10 1,E-03 –4 10 1,E-04 5 0 10–1 1.E-01 б τ –2 10 1.E-02 –3 10 1.E-03 –4 10 1.E-04 Рис. 3.2. Зависимости времени решения СЛАУ от τ для разных Tol при N=243(а); 1023(б) На рис. 3.3 (а) показаны зависимости времени решения СЛАУ (T, c) с матрицей N=969 от τ для диполя с углом между лучами 180° и 15° при Tol=10–8. Выбор τopt ускорил решение для угла 180° в 17 раз, а для угла 15° в 10 раз по сравнению с методом Гаусса. Существование τopt объясняется различной зависимостью от τ двух основных составляющих общего времени решения СЛАУ: времени LU-разложения матрицы As, выполняемого только один раз до итераций, и времени на Nit последующих итераций (см. рис. 3.3 (б)). Первая составляющая (T1, c) пренебрежимо мала слева от τopt, но с удалением вправо от него всё более доминирует в общем времени решения СЛАУ. Отметим, что в этой части графика характер зависимости T1 от τ полностью совпадает с характером зависимости процента ненулевых элементов (NonZero) матрицы M. Вторая составляющая пропорциональна значению Nit и, как видно, полностью определяет время решения СЛАУ слева от τopt и всё меньше влияет справа. В итоге у середины диапазона τ общее время решения СЛАУ минимально. Результаты, получаемые итерационными методами, в отличие от прямых, получаются приближенными. Теоретически, при устремлении числа итераций к бесконечности итерационный процесс закончится получением решения, полностью совпадающего с решением, полученным при применении прямого метода. Поскольку зачастую нет необходимости в получении точного решения, то дополнительное ускорение итерационного процесса можно достичь за счет снижения точности до достаточной для получения требуемых характеристик. 16 100 90 80 70 60 50 40 30 20 10 0 T, c 180° 15° TGE=74,3 c а τ 1.E-01 10–1 1.E-02 10–2 1.E-03 10–3 1.E-04 10–4 1.E-05 10–5 1.E-06 10–6 100 T,c 90 80 70 60 50 40 30 20 б 10 0 1.E-01 10–1 1.E-02 10–2 T, c T1, c Nit NonZero, % τ 1.E-03 10–3 1.E-04 10–4 1.E-05 10–5 1.E-06 10–6 Рис. 3.3. Зависимости характеристик решения СЛАУ от τ при N=969 и Tol=10–8: время решения СЛАУ для угла между лучами диполя 180° и 15° (а); характеристики для угла 15° (б) Результаты ускорения на примере вычисления диаграммы направленности проводной антенны «чайка» (см. 3.1б) приведены в табл. 3.2. В качестве способов формирования матрицы предобусловливания использовалось полное LUразложение, а в качестве способа предфильтрации использовался предложенный автором подход (2.1), основанный на нормах строк матрицы. В первой строке таблицы приводится время, затрачиваемое на формирование матрицы предобусловливания. В последующих строках приведено время решения СЛАУ методом BiCGStab (τopt=5.10–5) при увеличении числа итераций Nit, а в последней строке – время решения методом Гаусса (GE). Также приведены второй и последний элементы вектора решения (модуля тока в сегментах антенны). Из табл. 3.2 видно, что после 14 итераций решение методом BiCGStab, совпадающее с точностью до 5–7 знаков после запятой с решением метода Гаусса, получено в 9 раз быстрее. Решение с точностью до 1–2 знаков после запятой получено в 15 раз быстрее, и после 5 итераций. Отметим, что после 2 итераций решение получено в 20 раз быстрее чем методом Гаусса, между тем, диаграммы направленности (ДН) для этих случаев практически совпадают (рис. 3.4). Таким образом, выбор оптимального значения допуска обнуления ускоряет решение по сравнению с методом Гаусса до 20 раз. Далее проводилось сравнение известных способов предфильтрации (1.4)– (1.7) и предложенных – (2.1) и (2.2). Вычисления методами BiCG, BiCGStab и CGS производились на примере вычисления токов в трапециевидной зубчатой проводной антенне (см. рис. 3.1в). В качестве способов формирования матрицы предобусловливания использовались полное LU-разложение и ILU(0). (Для способов (1.4), (1.5) и (1.7) полагалось, что ε=τ.) В табл. 3.3 для разных частот приведены характеристики решаемой задачи: порядок СЛАУ (N), относительное число ненулевых элементов матрицы СЛАУ (dA), время её заполнения (Tform) и время решения методом Гаусса (TGE). Видно, что с увеличением частоты в общих затратах все больше преобладает время решения СЛАУ. Аналогичные результаты для разной дискретизации и частоты 3 ГГц приведены в табл. 3.4. 17 Таблица 3.2. Время решения СЛАУ (N=1411) методом Гаусса и методом BiCGStab (τopt=5.10–5) при увеличении числа итераций x1 x1411 Метод Nit T, с (2.1)+LU 0 11,42 – – –3 1 12,19 6,1799428153⋅10 3,6922306960⋅10–3 2 13,34 1,1093077151⋅10–2 6,4877950767⋅10–3 3 14,72 6,4470277177⋅10–3 5,5342527383⋅10–3 4 15,82 8,7150023440⋅10–3 6,2481368771⋅10–3 5 17,08 9,2612834651⋅10–3 6,4110392615⋅10–3 6 18,35 9,2751980061⋅10–3 6,4162720824⋅10–3 BiCGStab 7 19,67 9,2899504274⋅10–3 6,4222883724⋅10–3 8 20,77 9,2776336596⋅10–3 6,4186168278⋅10–3 9 22,14 9,2761160171⋅10–3 6,4180791769⋅10–3 10 23,23 9,2764746391⋅10–3 6,4181979509⋅10–3 11 24,50 9,2765681960⋅10–3 6,4182244732⋅10–3 12 25,71 9,2763884668⋅10–3 6,4181706239⋅10–3 13 27,08 9,2763808296⋅10–3 6,4181681950⋅10–3 14 28,17 9,2763809832⋅10–3 6,4181682487⋅10–3 GE – 267,54 9,2763810168⋅10–3 6,4181682591⋅10–3 Рис. 3.4. ДН (|Eϕ|, шкала линейная от 0 до 6 В/м) антенны «чайка» в плоскости XY при решении СЛАУ методом Гаусса (GE) и методом BiCGStab при увеличении числа итераций Анализ полученных данных показывает, что выгоднее использовать полное LU-разложение вне зависимости от использованного метода. Также показано, что предложенная автором предфильтрация (2.1) имеет наименьший разброс во времени решения СЛАУ при использовании LU- и ILU(0)-разложений. Так, выигрыш варьируется от 2% до 10% для метода CGS и BiCG, соответственно. На рис. 3.5а приведено время решения СЛАУ методом BiCGStab с предфильтрациями (1.4)–(1.7), (2.1) и (2.2) (при τopt) при использовании полного LUразложения. Показано, что на любой частоте (кроме случая использования полного LU-разложения для частоты 10 ГГц) наилучшим (по критерию минимизации времени) является самый простой способ предфильтрации (1.4), причем вне зависимости от вида разложения. Наибольшее расхождение во времени решения СЛАУ при разной предфильтрации для разных частот в зависимости от использованного разложения различно. Так, при использовании полного LUразложения получен выигрыш до 40% с предфильтрацией (1.4) по отношению к (1.6) (для 6 ГГц). В случае же ILU(0)-разложения с предфильтрацией (1.4) выигрыш составляет до 37% относительно способа (2.2) (для 10 ГГц). Аналогичные результаты, полученные при использовании метода CGS, показали, что на любой частоте наилучшим (по критерию минимизации времени) является способ (1.4), причем опять же вне зависимости от вида разложения. При использовании полного LU-разложения получен тот же самый выигрыш, как и при использовании метода BiCGStab, до 40% с предфильтрацией (1.4) по отношению к (1.6) (для 6 ГГц). При замене полного LU-разложения неполным и использовании предфильтрации (1.4) выигрыш составляет до 30% относительно способа (2.1) (для 8 ГГц). 18 Таблица 3.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 T,c 60 Таблица 3.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 (1.4)+LU (1.5)+LU (1.6)+LU (1.7)+LU (2.1)+LU (2.2)+LU 50 40 30 T,c (1.4)+LU (1.5)+LU (1.6)+LU (1.7)+LU (2.1)+LU (2.2)+LU 40 30 20 20 а 10 10 б f , ГГц 0 Дискретизация 0 4 6 8 10 12 λ/10 λ/20 λ/30 λ/40 Рис. 3.5. Зависимости минимального времени решения СЛАУ методом BiCGStab для различных способов предфильтрации от частоты (а) и от дискретизации (б) На рис. 3.5б приведено время решения СЛАУ методом BiCGStab с предфильтрациями (1.4)–(1.7), (2.1)–(2.2) (при τopt) в зависимости от дискретизации для частоты 3 ГГц. Наибольший выигрыш способа (1.4) по отношению к (1.7) при λ/40 достигает 30%. Были проведены аналогичные вычисления методом CGS. Полученные зависимости методом CGS показали, что в большинстве случаев (кроме случая λ/40) наилучшим (по критерию минимизации времени) является способ (1.4). Расхождение во времени решения СЛАУ при разных способах предфильтрации оказывается менее существенным, чем при использовании метода BiCGStab. Так, при дискретизации λ/40 выигрыш способа (1.7) по отношению к (1.5) достигает 15%. Максимальный выигрыш за счет использования методов CGS и BiCGStab по сравнению с методом Гаусса при росте частоты возрастает с 9 раз (4 ГГц) до 12 раз (12 ГГц). При увеличении дискретизации выигрыш возрастает с 8 раз (λ/10) до 15 раз (λ/40) при использовании метода BiCGStab, а при использовании CGS – 8 раз (λ/10) до 13 раз (λ/40). В табл. 3.5 приведены τopt для разных частот. Видно, что при изменении частоты для предложенной предфильтрации (2.1) и способа (1.7) оптимальное значение допуска обнуления остается одним и тем же, чего нельзя сказать о других способах предфильтрации. Способ (2.2) показал стабильность для частот более 4 ГГц. Такая стабильность важна, поскольку она минимизирует затраты времени при многовариантном анализе в большом числе частотных точек или при оптимизации по частоте, широко применяемым на практике. 19 В табл. 3.6 приведены τopt при разной дискретизации для 3 ГГц. Видно, что ни один из способов не показал высокой стабильности τopt при изменении дискретизации во всем диапазоне. Способы (1.6) и (1.7) показали стабильность при дискретизации более чем λ/10. Для (1.5), (2.1) и (2.2) шаг изменения дискретизации соответствует примерно шагу изменения τopt. Время решения СЛАУ методом BiCGStab для λ/40 (3 ГГц) за счет поиска только на главной диагонали сокращено с 38 с (для способа (1.5)) до 33 с (для усовершенствованного (1.5)). Таким образом, предложенное усовершенствование сократило время решения СЛАУ на 13%. Таблица 3.5. τopt для предфильтрациий при изменении частоты f → (1.4) (1.5) (1.6) (1.7) (2.1) (2.2) 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 Таблица 3.6. τopt для предфильтраций при изменении дискретизации (1.4) (1.5) (1.6) (1.7) (2.1) (2.2) λ/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 C целью подтверждения обнаруженной стабильности оптимального значения допуска обнуления (по критерию минимизации времени решения СЛАУ), при использовании предложенного способа (2.1), были проведены вычисления методом BiCGStab в большем количестве частотных точек (4, 4,5, 5, …, 12 ГГц). В результате была подтверждена обнаруженная стабильность оптимального значения допуска обнуления, равного 5·10–3 при использовании с полным LUразложением и равного 10–3 – с ILU(0)-разложением. На рис. 3.6 показаны полученные частотные зависимости времени: заполнения матрицы СЛАУ (form); решения методом Гаусса (GE); решения методом BiCGStab в сочетании с предфильтрацией (2.1) и полным LU-разложением; решения методом BiCGStab с предфильтрацией (2.1) и ILU(0)-разложением. Видно, что во всем диапазоне частот предпочтительнее использовать метод BiCGStab по сравнению с методом Гаусса, а также что использование полного LU-разложения предпочтительнее ILU(0), поскольку оно приводит к меньшим временным затратам. Примечательно также и то, что временные затраты на решение СЛАУ меньше затрат на формирование матрицы вне зависимости от использованного способа предобусловливания. В дальнейшем, опять же для подтверждения обнаруженной стабильности оптимального значения допуска обнуления, проводились аналогичные вычисления методом BiCGStab в сочетании с предложенной предфильтрацией (2.1) и полным LU-разложением на примере определения токов в диполе (угол между лучами 180°) на частотах 300, 450, …, 900 МГц. Вычисления подтвердили стабильность оптимального значения допуска обнуления (5·10–5) при использовании предложенной предфильтрации. 20 500 ← Рис. 3.6. Частотные зависимости времени: заполнения матрицы (form); решения методом Гаусса (GE); решения методом BiCGStab с предложенной предфильтрацией (2.1) и полным LU- и ILU(0)-разложениями T, c 450 form 400 GE (2.1)+LU Далее проводилось сравнение новых и усовершенствованных способов (2.1)+ILU(0) предфильтрации на примере широко300 диапазонной антенны (рис. 3.1а). На 250 рис. 3.7 приведено время решения СЛАУ, полученное методом BiCGStab с 200 предфильтрациями (1.4)–(1.7), (2.1)– 150 (2.4) (при τopt), в зависимости от частоты при дискретизации λ/10 (а) и от дис100 кретизации для частоты 125 МГц (б). 50 Из графиков трудно выделить преимуf , ГГц щество какой–либо предфильтрации. 0 Однако расхождение во времени реше4 5 6 7 8 9 10 11 12 ния СЛАУ при разных способах предфильтрации оказывается существенным. Так, для частоты 485 МГц получен выигрыш 23% с предфильтрацией (1.4) по отношению к (2.1), а для дискретизации λ/40 − 17%. Таким образом, дальнейшее совершенствование предфильтрации актуально. Для 165 МГц максимальный временной выигрыш по сравнению с методом Гаусса составляет 5 раз, а для 485 МГц он возрастает до 9 раз. Выигрыш же во времени за счет дискретизации возрастает от 7 при λ/10 до 9 при λ/40. 350 70 70 T, c (1.4)+LU (1.5)+LU (1.6)+LU (1.7)+LU (2.1)+LU (2.2)+LU (2.3)+LU (2.4)+LU 60 50 40 30 20 T, c 60 50 40 30 20 а 10 f , МГц (1.4)+LU (1.5)+LU (1.6)+LU (1.7)+LU (2.1)+LU (2.2)+LU (2.3)+LU (2.4)+LU б 10 Дискретизация 0 0 165 245 325 405 485 λ/10 λ/20 λ/30 λ/40 Рис. 3.7. Зависимости минимального времени решения СЛАУ для различных способов предфильтрации от частоты (а) и от дискретизации (б) В табл. 3.7 приведены τopt для разных частот. Аналогичные результаты при разной дискретизации для 125 МГц приведены в табл. 3.8. Видно, что при из- 21 менении частоты для способов предфильтрации (1.5), (1.6) и (2.1) τopt остается одним и тем же, чего нельзя сказать о других способах предфильтрации. Способы (1.4) и (2.2) показали стабильность для частот более 165 МГц. При изменении дискретизации только способ (1.5) показал стабильность τopt. Для способа (2.1), как и ранее для трапециевидной зубчатой антенны, шаг изменения дискретизации соответствует шагу изменения τopt. Таблица 3.7. τopt для предфильтраций при изменении частоты f → 165 245 325 405 485 (1.4) 5⋅10–1 10–1 10–1 10–1 10–1 (1.5) 5⋅10–4 5⋅10–4 5⋅10–4 5⋅10–4 5⋅10–4 (1.6) 5⋅10–1 5⋅10–1 5⋅10–1 5⋅10–1 5⋅10–1 (1.7) 5⋅10–4 10–3 5⋅10–4 10–3 5⋅10–4 (2.1) 5⋅10–4 5⋅10–4 5⋅10–4 5⋅10–4 5⋅10–4 (2.2) 10–4 5⋅10–4 5⋅10–4 5⋅10–4 5⋅10–4 10–3 5⋅10–4 5⋅10–4 5⋅10–4 (2.3) 10–3 10–3 10–3 10–3 5⋅10–4 (2.4) 10–3 Таблица 3.8. τopt для предфильтраций при изменении дискретизации (1.4) (1.5) (1.6) (1.7) (2.1) (2.2) (2.3) (2.4) λ/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 Таким образом, предложенный способ алгебраической предфильтрации, основанный на евклидовых нормах строк матрицы, показал на рассмотренных конфигурациях антенн стабильность оптимального значения допуска обнуления по критерию минимизации времени решения СЛАУ при изменении частоты и его контролируемую зависимость от изменения дискретизации. В конце гл. 3 предложены рекомендации по использованию итерационных методов, основанные на анализе обзора публикаций и практического опыта автора. ЗАКЛЮЧЕНИЕ Основные результаты работы заключаются в следующем: 1. Разработаны и программно реализованы два новых способа алгебраической предфильтрации. Первый, основанный на евклидовых нормах строк, показал (при решении задачи определения токов в проводной антенне) стабильность при изменении частоты и контролируемую зависимость при изменении дискретизации оптимального значения (по критерию минимизации времени) допуска обнуления. Его использование позволит минимизировать затраты времени, например, при многовариантном анализе в большом числе частотных точек или при оптимизации по частоте, широко применяемым на практике. 2. Показано, что при использовании предложенного способа предфильтрации существует оптимальное значение допуска обнуления по критерию минимизации времени решения СЛАУ. На исследованных примерах выбор оптимального значения допуска обнуления, при использовании данного способа, ускорил решение по сравнению с методом Гаусса до 20 раз. 3. Предложено усовершенствование (за счет поиска максимального элемента не по всей матрице, а только на главной диагонали) известного способа предфильтрации, позволившее сократить время решения СЛАУ на 13%. 4. Разработанный комплекс программ для решения СЛАУ при анализе электромагнитного излучения проводных структур, встроенный в систему компьютерного моделирования электромагнитной совместимости TALGAT, позволяет 22 решать СЛАУ, используя 8 прямых и 6 итерационных методов, 6 способов предобусловливания и 10 способов предфильтрации (включая предложенные автором новые и усовершенствованные). Таким образом, возможности комплекса позволяют использовать его для других задач, требующих решения СЛАУ с плотной матрицей, а также в учебном процессе, как средство изучения численных методов. Реализована возможность использования методов решения СЛАУ с помощью DHTML диалогов. Реализована визуализация матриц, как после предфильтрации, так и после формирования матрицы предобусловливания. 5. Выполненное сравнение способов алгебраической предфильтрации при решении СЛАУ итерационными методами позволяет оценить изменение оптимального значения порога/допуска обнуления для каждого из способов, на примере определения токов в проводной антенне, как при изменении частоты, так и при изменении дискретизации. Показано, что можно добиться ускорения во времени решения СЛАУ на 40% за счет выбора способа предфильтрации. 6. Приведены рекомендации по использованию итерационных методов. Реализованный модуль использовался для оценки паразитных электромагнитных эффектов в печатных платах и в кабелях аппаратуры, разрабатываемой в НПЦ «Полюс», и при выполнении проекта РФФИ. Кроме того, все результаты работы активно используются в учебном процессе ТУСУР (две авторские лекции, лабораторная работа, учебно–методическое пособие и монография). Совокупность этих выводов позволяет считать, что цель диссертационной работы достигнута. ПУБЛИКАЦИИ ПО МАТЕРИАЛАМ ДИССЕРТАЦИИ 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. Куксенко С.П., Газизов Т.Р. Ускорение решения СЛАУ в задачах вычислительной электродинамики // Материалы Седьмой Всероссийской научно– практической конференции "Проблемы информационной безопасности государства, общества и личности", г. Томск, 16–18 февраля 2005 г. С. 54–57. 23 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. Куксенко С.П., Газизов Т.Р. Сравнение способов предфильтрации при решении СЛАУ с плотной матрицей итерационными методами с предобусловливанием // Инфокоммуникационные технологии, №2, 2007, Т. 5. С. 61–65. 14. Куксенко С.П., Газизов Т.Р. Совершенствование способов предфильтрации для решения СЛАУ с плотной матрицей итерационными методами с предобусловливанием в задачах вычислительной электродинамики // Электромагнитные волны и электронные системы. №9, 2007. C. 12–17. 15. Куксенко С.П. Новый способ предфильтрации при решении СЛАУ с плотными матрицами итерационными методами с предобусловливанием // Всероссийская научно–техническая конференция студентов, аспирантов и молодых ученых "Научная сессия ТУСУР", посвященная 45–летию ТУСУРа, г. Томск, 3– 7 мая 2007. Ч.1. С. 341–344. 16. Куксенко С.П., Сивцев С.Т. Зависимость оптимального допуска обнуления от дискретизации антенны // Всероссийская научно–техническая конференция студентов, аспирантов и молодых ученых "Научная сессия ТУСУР", посвященная 45–летию ТУСУРа, г. Томск, 3–7 мая 2007. Ч.1. С. 345–347. 17. Свидетельство об отраслевой регистрации разработки №8376 от 24.05.2007 г. <Система компьютерного моделирования сложных структур про- 24 водников и диэлектриков TALGAT> (Газизов Т.Р., Мелкозеров А.О., Газизов Т.Т., Куксенко С.П., Заболоцкий А.М., Костарев И.С.), зарегистрированной в Отраслевом фонде алгоритмов и программ Госкоорцентра Минобрнауки РФ с присвоением номера государственной регистрации – рег. номер ВНТИЦ 50200701103. 18. Газизов Т.Р., Заболоцкий А.М., Мелкозеров А.О., Газизов Т.Т., Куксенко С.П., Горин Е.П., Бевзенко И.Г. Возможности применения новых модальных явлений в целях электромагнитного терроризма и для защиты от него // Труды VII Межд. Симп. по электромагнитной совместимости и электромагнитной экологии, г. Санкт–Петербург, 26–29 июня 2007 г. С. 266–269. 19. Куксенко С.П., Газизов Т.Р. Итерационные методы решения системы линейных алгебраических уравнений с плотной матрицей. – Томск: Томский государственный университет, 2007. 208 с.