Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Алмаасали Саид Абдо Али

Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики
<
Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Алмаасали Саид Абдо Али . Исследование и разработка систем автоматизации схемотехнического проектирования на основе методов диакоптики: диссертация ... кандидата технических наук: 05.13.12 / Алмаасали Саид Абдо Али ;[Место защиты: Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им.В.И.Ульянова (Ленина)"].- Санкт-Петербург, 2016.- 131 с.

Содержание к диссертации

Введение

Глава 1 Моделирование систем на основе методов диакоптики 11

1.1 Математическое обеспечение систем автоматизации схемотехнического проектирования 11

1.1.1 Компонентные уравнения 11

1.1.2 Топологические уравнения 15

1.1.3 Обобщенные уравнения схем 17

1.2 Декомпозиция моделируемой схемы на основе диакоптического подхода 20

1.2.1 Формирование окаймленных матриц в базисе узловых потенциалов 20

1.2.2 Формирование окаймленных матриц в гибридном базисе 26

1.3 Организация последовательных и параллельных вычислений 33

1.3.1 Организация последовательного вычислительного процесса 33

1.3.2 Организация параллельного вычислительного процесса 36

1.4 Выводы по главе 1 41

Глава 2 Декомпозиция систем при моделировании в частотной облоасти 42

2.1 Математическое обеспечение систем моделирования в частотной области 42

2.1.1 Реализация комплексной арифметики 42

2.1.2 Моделирование систем на основе комплексных матриц 45

2.1.3 Моделирование систем на основе вещественных матриц 49

2.1.4 Макромоделирование компонентов в частотной области 55

2.2 Реализация программного обеспечения систем моделирования в частотной области на основе диакоптического подхода 59

2.2.1 Общая структура программного обеспечения 59

2.2.2 Программная реализация формирования описания систем на основе методов диакоптики 62 2.2.3 Программная реализация диакоптического подхода к решению уравнений и к расчету передаточных функций 69

2.3 Выводы по главе 2 70

Глава 3 Моделирование стационарного режима нелинейных систем на основе методов диакоптики 72

3.1 Математическое обеспечение моделирования стационарного режима нелинейных систем 72

3.1.1 Итерационные методы расчета нелинейных систем 72

3.1.2 Схемотехническая интерпретация методов расчета нелинейных систем 76

3.1.3 Линеаризация компонентов 78

3.2 Построение программного обеспечения систем моделирования стационарного режима на основе диакоптического подхода 81

3.2.1 Организация итерационных методов расчета нелинейных систем на основе метолов диакоптики 81

3.2.2 Особенности описания подсхем и их компонентов при декомпозиции нелинейных систем 85

3.2.3 Расчет переменных в узлах разделения и внутренних переменных подсистем 89

3.3 Интеграция программного обеспечения систем моделирования стационарного режима и систем расчета в частотной области 91

3.3.1 Линеаризация схем замещения многополюсных компонентов в частотной области 91

3.3.2 Программная реализация интегрированной системы 92

3.4 Выводы по главе 3 96

Глава 4 Моделирование динамического режима нелинейных систем на основе методов диакоптики 97

4.1 Математическое обеспечение систем моделирования динамичесеого рнжима 97

4.1.1 Методы высших порядков 97 4.1.2 Решение алгебро-дифференциальных уравнений 101

4.1.3 Дискретизация компонентов 106

4.2 Программная реализация систем моделирования динамического режима

на основе методов диакоптики 112

4.2.1 Структура программного обеспечения системы расчета динамического режима 112

4.2.2 Организация сквозных и автономных итерационных процессов при расчете динамических режимов методами диакоптики 117

4.3 Выводы по главе 4 121

Заключение 123

Список литературы 125

Декомпозиция моделируемой схемы на основе диакоптического подхода

особенностью порта является равенство входного и выходного тока в соответствующей Для полюсов (n+1)-полюсника полюсное напряжение отсчитывается относительно (n+1)-го базисного узла. Полюса 2n-полюсника образуют так называемые порты, для которых можно выделить пару полюсов, относительно одного из которых отсчитывается полюсное напряжение каждого порта. Отличительной паре полюсов. Типичным примером порта является обмотка трансформатора, другим примером порта может служить вход дифференциального каскада на биполярных транзисторах, эмиттеры которых подключены к общему источнику тока. В таких многополюсных компонентах можно выделить два типа полюсов, которые обычно называют у-полюсами и z-полюсами [49,50]. Нормальной формой задания компонентных уравнений обычно называют явную форму их представления в виде pi=f(..., qis ...), когда для любого і-го полюса одна из переменных pi является зависимой, а другая qi - независимой. Если в качестве зависимой переменной рх выбирается токовая переменная іь то і-й полюс согласно сложившейся традиции [38, 39, 40] считается входящим в группу у-полюсов, если же выбирается потенциальная переменная Ui, то і-й полюс относится к группе z-полюсов. Следовательно, компонентные уравнения в нормальной форме могут быть записаны в виде ii=fy(..., Uk, ... Іі ...) для у - полюсов Uj=fz(..., Uk, ... Іі ...) для z - полюсов Здесь Uk и ii - независимые переменные у-полюсов и z-полюсов соответственно. Для линеаризации компонентных уравнений их следует разложить в ряд Тейлора в некоторой точке 0, и затем отбросить все слагаемые, содержащие производные второго и высшего порядка. Тогда линеаризованные компонентные уравнения будут иметь вид

В полученных уравнениях у/ = (di/du o, РІІ = (dii/diOo, №k = (ди3/дик)0 , zn= (ди3/д k)0 - линеаризованные в точке 0 параметры неавтономные компонента Введем далее линеаризованные в точке 0 автономные параметры многополюсного компонента ji= іі-ЕУік uk -IP/ H (для у - полюсов) Eм0 – объединенная матрица и объединенный вектор линеаризованных параметров многополюсного компонента. Обобщенное уравнение совокупности всех многополюсных компонентов схемы также имеет вид, совпадающий с уравнением (1.7), при этом матрица Wм0 будет иметь структуру диагональной блочной матрицы, в которой каждый блок описывает какой либо из компонентов схемы [10, 15, 28, 45]. Полученные компонентные уравнения могут быть использованы только в случаях, когда исходные уравнения всех многополюсных компонентов могут быть записаны в явной форме. Однако для расширения возможностей математического обеспечения необходимо провести дополнительную модификацию этого описания путем снятия ограничения на способ записи компонентных уравнений их нормальной формой явного представления pi=f(…, qi, …), когда для любого i-го полюса первого типа (для любого i-го порта) одна из переменных pi является зависимой, а другая qi – независимой. Такое описание ограничивает возможности разработчика, так как очень часто приведение компонентных уравнений к явной форме оказывается неудобным, или вообще невозможным.

Для проведения такой модификации введем дополнительную группу полюсов многополюсников D и дополним полученное ранее описание компонентов схемы уравнениями компонентов в неявной форме, которые могут быть записаны в виде f(um, im, uy, iz) = 0, где um, im – потенциальная и токовая переменные m-го полюса (m-го порта), входящего в группу D дополнительных полюсов, уравнения которых задаются в неявной форме. Проводя линеаризацию уравнения в некоторой точке 0 аналогично рассмотренному выше случаю для y и z-полюсов, получим обобщенное уравнение, записанное в неявной форме Gd0 Ud + Hd0 Id + Gy0 Uy +Hz0 Iz + Sd0 = 0 (1.8) Здесь Ud, Id – векторы потенциальных и токовых переменных, входящих в дополнительную группу полюсов многополюсников D, Gd0, Hd0, Sd0 – линеаризованные в точке 0 матрицы параметров дополнительной группы полюсов многополюсников D, Uy, Iz – векторы потенциальных и токовых переменных компонентов, заданных уравнениями в нормальной форме, Gy0, Hz0 – линеаризованные в точке 0 матрицы параметров, заданных уравнениями в нормальной форме. Совместное использование компонентных уравнений в явной форме (1.7) и компонентных уравнений в неявной форме (1.8) позволяет реализовать математическое описание моделируемых схем для всех возможных случаев задания описания многополюсных компонентов.

Для построения топологических уравнений схемы следует построить ее полюсный граф G, который состоит из вершин, сопоставленным узлам схемы, и из ориентированных ветвей, сопоставленных полюсным напряжениям ее многополюсных компонентов [22, 30, 33, 37]. На основании полюсного графа G можно построить, топологическую матрицу главных сечений , топологическую матрицу главных контуров и топологическую матрицу инциденций A [34, 35, 36].

Топологическая матрица главных сечений представляет собой таблицу, строки которой соответствуют всем ветвям, входящим в произвольное дерево графа G, а столбцы – всем ветвям этого графа. При этом произвольный элемент ij , расположенный на пересечении i-й строки и j-го столбца, равен +1, если j-я ветвь графа ориентирована в i-м главном сечении согласно с i-й ветвью, равен –1, если j-я ветвь графа ориентирована в i-м главном сечении противоположно с i-й ветвью, равен 0, если j-я ветвь не входит в i-е сечение.

Топологическая матрица главных контуров представляет собой таблицу, строки которой соответствуют всем ветвям, входящим в дополнение произвольного дерева графа G (связям графа), а столбцы – всем ветвям этого графа. При этом произвольный элемент ij , расположенный на пересечении i-й строки и j-го столбца, равен +1, если j-я ветвь графа ориентирована в i-м главном контуре согласно с i-й ветвью, равен –1, если j-я ветвь графа ориентирована в i-м главном контуре противоположно с i-й ветвью, равен 0, если j-я ветвь не входит в i-й контур.

Топологическая матрица инциденций A представляет собой таблицу, строки которой соответствуют всем вершинам графа G (узлам исходной схемы), а столбцы – всем ветвям графа G, при этом произвольный элемент aij, расположенный на пересечении i-й строки и j-го столбца, равен +1, если j-я ветвь заходит в i-ю вершину, равен –1, если j-я ветвь исходит из i-й вершины, и равен 0, если j-я ветвь не касается i-й вершины. Важным свойством матрицы инциденций является линейная зависимость ее строк, что позволяет устранить любую строку, переходя тем самым к сокращенной матрице инциденций. В качестве удаляемой строки обычно принимается строка, сопоставленная с базисным узлом схемы.

На основании топологических матриц и можно сформировать уравнения равновесия схемы [8, 25, 65] I = 0 , U = 0 (1.9) где I, U – векторы токовых и потенциальных переменных компонентов схемы. Выделяя в этих векторах переменные y-полюсов и z-полюсов и разделяя соответствующим образом на блоки матрицы главных сечений и главных контуров , можно записать топологические уравнения в виде [1, 2]

Моделирование систем на основе комплексных матриц

Однако, рассмотренная процедура приводит к необходимости увеличения размерности обрабатываемых матриц, что связано с дополнительными затратами оперативной памяти и увеличению времени решения уравнений, что является безусловным недостатком такого подхода к работе с комплексными матрицами.

Поэтому более целесообразно использовать непосредственное решение уравнения (2.1), что требует введения нового типа данных для работы с комплексными переменными путем создания соответствующего класса.

Применительно к среде программирования Microsoft Visual Studio [14, 31] такая возможность может быть реализована двумя различными способами. Первый способ предусматривает создание собственного класса, при помощи которого можно ввести новый тип данных для работы с комплексной арифметикой [9, 13]. Второй основан на использовании встроенного в среду Microsoft Visual Studio шаблона (template) родового класса, обеспечивающего работу с комплексными данными. При этом используется родовой класс, в котором определены все необходимые функции, а фактические типы обрабатываемых данных задаются в качестве параметров при создании объектов этого класса. Ниже рассматриваются оба подхода, и проводится сравнительная оценка их достоинств и недостатков.

При создании собственного класса для работы с комплексной арифметикой необходимо обеспечить выполнение следующих требований: 1. В классе должны быть переопределены для работы с комплексными числами все основные арифметические и логические операции языка С++, а именно +, -, , /, =, +=, -=, =, /=, ++, --,==, !=. 2. В классе должны быть определены основные функции для работы с комплексными числами, а именно функции расчета модуля, аргумента, вещественной и мнимой частей комплексного числа. Кроме того должна быть предусмотрена возможность объявления и переопределения комплексного числа по заданным значениям вещественной и мнимой частей. Для упрощения синтаксических конструкций при вызове таких функций их следует объявлять в классе как дружественные (friend) функции. б) Использование встроенного шаблона родового класса complex T . Для работы с комплексными типами данных в систему Microsoft Visual Studio встроен шаблон (template) родового класса complex T позволяющий пользователю устанавливать один из трех возможных типов данных Т для описания вещественной и мнимой частей комплексного числа. Такой выбор осуществляется при объявлении комплексного числа z согласно синтаксису для данных типа float complex float z; для данных типа double complex double z; для данных типа long double complex long double z;

При этом во всех арифметических операциях с использованием комплексного типа данных complex T , все переменные стандартных типов должны быть явным образом приведены к типу Т.

Для реализации возможности работы с встроенным типом данных complex T в программу после директив препроцессора необходимо включить строки using namespace std; //… Указанные строки удобно включить в общий заголовочный файл, где будут описываться все используемые глобальные переменные и прототипы функций. При этом строка using namespace std должна быть расположена обязательно после описания всех директив препроцессора, подключающих стандартные библиотеки системы.

Хотя использование встроенного шаблона родового класса complex T избавляет от необходимости построения собственного класса для работы с комплексными данными, практическая реализация работы с таким шаблоном связана с усложнением синтаксиса объявления переменных и, главное, с затруднениями при преобразовании данных. Эти затруднения вызываются тем, что во всех арифметических операциях, в которых участвуют объекты класса complex T , все переменные должны быть в явной форме приведены к типу T, так как неявные формы автоматического приведения данных в этом случае недопустимы.

Поэтому при разработке программного обеспечения системы моделирования в частотной области в диссертационной работе используется собственный класс complex для работы с комплексными данными. Этот класс, в целях исключения возможной конкуренции имен, помещен в файл complex1.h, имя которого отличается от используемого в некоторых средах имени complex.h. Для вещественной и мнимой частей объектов созданного класса используется тип double, что обеспечивает требуемую точность всех вычислений.

Структурная схема процесса моделирования систем в частотной области на основе комплексных матриц приведена на рисунке 2.1.

В соответствии с приведенной схемой после ввода и редактирования описания схемы вводятся директивы расчета, после чего открывается цикл по всем частотным точкам, где на каждой частоте f[kf] создается объект s=complex(0.0, 2 3.14 f[kf]) класса complex, выполняется обнуление комплексных массивов W и S, после чего выполняется формирование математического описания схемы WX+S=0 на очередной частотной точке. Формирование осуществляется путем вызова функций формирования form_M() для каждого типа многополюсного компонента M (двухполюсники Начало

Блок-схема процесса моделирования систем в частотной области на основе комплексных матриц типа R, двухполюсники типа C, двухполюсники типа L, управляемые источники типа JU (ИТУН), управляемые источники типа EU (ИНУН), управляемые источники типа JI (ИТУТ), управляемые источники типа EI (ИНУТ), идеальные операционные усилители OUI, идеальные трансформаторы TRI, биполярные транзисторы TB, униполярные транзисторы TU, операционные усилители OU, трансформаторы TR). Затем проводится решение матричного уравнения схемы и на его основе выполняется расчет передаточных функций. В заключение осуществляется вывод результатов моделирования.

Формирование матриц W и S может быть проведено в любом из рассмотренных в разделе 1.1.3 базисов, однако наиболее целесообразно для этой цели выбрать модифицированный базис узловых потенциалов, используя матричное уравнение (1.15). При практическом использовании этого уравнения следует иметь в виду, что построение матричного описания на основе непосредственного вычисления двойных и тройных матричных произведений связано со значительными затратами оперативной памяти, поскольку входящие в эти произведения матрицы сильно разрежены. Значительно эффективнее задача формирования может быть решена на основе технологии построения частных матриц, каждая из которых учитывает вклад какого либо одного компонента в общую матрицу.

Построение программного обеспечения систем моделирования стационарного режима на основе диакоптического подхода

Как уже отмечалось, выбранный способ разделения исходной системы на отдельные подсистемы должен обеспечивать отсутствие индуктивных связей между подсистемами, а также концентрацию управляющих и управляемых переменных любого зависимого источника (типа ИТУН, ИНУН, ИТУТ, ИНУН) внутри одной подсистемы и такое условие должно выполняться для всех подсистем. Поэтому узлы разделения системы на отдельные подсистемы должны выбираться таким образом, чтобы к ним не присоединялись индуктивные компоненты, а также управляющие и управляемые переменные зависимых источников. Поскольку при редактировании компонентов системы возможно не только изменение их параметров, но и узлов подключения, то указанное обстоятельство следует иметь в виду при решении задач редактирования компонентов, с тем, чтобы после выполнения редактирования условия концентрации индуктивных связей и переменных управляемых источников внутри подсистем остались неизменными.

Вопросы реализации программного обеспечения системы моделирования в частотной области на основе диакоптического подхода при последовательной организации вычислительного процесса рассматриваются в последующих разделах работы.

Одним из основных вопросов, которые необходимо рассмотреть при решении задачи формирования описания систем на основе диакоптического подхода к декомпозиции, является вопрос нумерации узлов. С одной стороны, информация об исходной нумерации узлов всей моделируемой системы должна сохраняться в процессе всего расчета, так как согласно этой нумерации задаются входные и выходные узлы, определяющие вид искомых передаточных функций. С другой стороны, в соответствии с концепцией декомпозиции на основе диакоптического подхода, формирование математического описания всех подсистем при последовательной организации вычислительного процесса выполняется в одном и том же массиве, размеры которого определяется исходя из размерности наибольшей подсистемы. Поэтому для каждой подсистемы при ее формировании математического описания следует вводить новую нумерацию узлов, т.е. осуществлять перекодировку переменных, используя для этой цели некоторый вектор перекодировки. Сложность заключается в том, что как для узлов разделения, так и для внутренних узлов подсистем, нумерацию удобно начинать с единицы, что приводит к возможному появлению при описании каждой подсистемы внутренних узлов и узлов разделения с одинаковыми значениями. Чтобы сохранить значения индексов таких узлов и устранить недопустимые их совпадения, целесообразно ввести некоторый префикс перед индексом каждого узла разделения, оставив его нумерацию в исходном виде. Так, если для некоторого узла разделения выбран исходный номер N, то с учетом некоторого префикса @ его новый номер будет @N. Проводя синтаксический анализ этого номера, нетрудно выделить из структуры @N исходный номер N без выполнения дополнительной перекодировки узлов разделения. Особенно просто такая задача решается в случае, если в качестве префикса @ выбрать знак –. В этом случае, если исходный номер имеет значение N, то новым индексом будет номер – N и определение исходного номера становится предельно простым.

Так, если некоторый двухполюсник kr оказывается подключенным между внешним узлом с номером N и внутренним узлом, который после перекодировки имеет также номер N, то строка с индексом kr массива соединений in_r будет иметь вид:

С практической точки зрения в массиве in_r также целесообразно иметь информацию об исходных значениях номеров внутренних узлов подсхем, которые были перекодированы в процессе ввода описания и обработки данных подсхемы. С этой целью введем в массив in_r дополнительный столбец, в который можно записать требуемую информацию. Так, если внутренний узел, к которому подключен двухполюсник kr, до перекодировки имел номер M, то массив in_r будет иметь вид

Аналогичные действия следует предпринять при построении массивов соединений всех компонентов моделируемой системы. Используя изложенную стратегию перекодировки можно на основании информации, имеющейся в массивах соединений компонентов, осуществить формирование блочных матриц Wkk, Wk0, Wok, W00, S0, Sk, в которых может содержаться информация о компонентах к-й подсхемы. Ниже приводится алгоритм, позволяющий на основании наличия или отсутствия префикса перед номером узла решить вопрос о том, в какую их блочных матриц следует заносить информацию о компоненте (некоторое значение value). 1. Если оба узла являются узлами разбиения (/ 0, j 0) то значение value заносится в матрицу W00 (формирование W00[-i][-j]) 2. Иначе, если оба узла не являются узлами разбиения (/ 0, j 0), то значение value заносится в матрицу Wkk (формирование W«[/][/]) 3. Иначе, если только узел / является узлом разбиения (/ 0), то значение value заносится в матрицу WQk (формирование W0jt[-/][/]) 4. Иначе (узелу является единственным узлом разбиения т.е. j 0) значение value заносится в матрицу Wm (формирование Wa[i\[-j\) В результате работы алгоритма осуществляется последовательное формирование блочных матриц Wkk, Wk0, Wok, W00, S0, Sk {k = \jn\ при этом векторы Sk и S0 формируются в нулевом столбце матриц Wkk и W00 соответственно. Согласно структурной схеме на рисунке 2.1 создается диалоговая панель SIZE_SYS для размерности системы, в которую вводятся значения числа узлов разбиения и число подсхем, а также текстовая строка с указанием списка узлов разделения. Элементы этой строки отделяются друг от друга некоторым разделителем для возможности выполнения ее синтаксического анализа. Для описания размерности подсхем создается диалоговая панель SIZE_SUB, в которую вводятся значения числа компонентов каждой подсхемы. В эту же панель путем динамического изменения видимости ее окон редактирования можно ввести и значения числа двухполюсников, которые не входят в подсхемы, а подключаются между узлами разделения или между одним из таких узлов и базисным узлом.

На основании введенной пользователем информации о размерности подсхем, на которые разделена моделируемая схема, создаются и обнуляются динамические массивы Wkk , W0k , Wk 0 , W00 для всех выделенных подсхем. Для упрощения реализации последовательного вычислительного процесса создается вспомогательный массив w, с числом строк n_max и числом столбцов n_max+1+nv. Этот массив рассчитан на обработку данных самой большой подсхемы, включающей n_max внутренних переменных. Кроме того, этот массив содержит также nv дополнительных столбцов для хранения элементов массива W0k . В дополнительном столбце с нулевым индексом в этом массиве также формируется задающий вектор Sk k-й подсхемы, что позволяет уменьшить число создаваемых массивов. Такая конструкция массива w позволяет при обработке данных k-й подсхемы согласно алгоритму Гаусса-Жордано проводить одновременный пересчет всех элементов блочных матриц Wkk , Sk и Wk 0 , в которых содержится информация о k-й подсхеме. После ввода директив на вид частотной характеристики и значений входных/выходных узлов для каждой подсхемы и для каждой частотной точки вызываются функции формирования описания компонентов form_M(), для всех типов M многополюсных компонентов (двухполюсники типа R, C, L, управляемые источники типа JU, EU, JI, EI, идеальные и реальные трансформаторы TRI и TR, биполярные и униполярные транзисторы TB и TU, идеаальные и реальные операционные усилители OUI и OU), а также для задающих источников всех подсхем. При работе функций form_M() используется информация, вводимая в диалоговую панель SIZE_SYS, где содержатся значения числа узлов разбиения и число подсхем, а также текстовая строка с указанием списка узлов разделения. Эта информация обрабатывается специально созданными функциями, которые обеспечивают поиск узла в списке узлов разделения, присвоение внутренним узлам нового порядкового номера и изменение знака номера узла, если он является узлом разделения.

Организация сквозных и автономных итерационных процессов при расчете динамических режимов методами диакоптики

Поскольку при у = 0 значение Xk+1 входит в обе части уравнения (4.14), то для вычисления Xk+1 следует перенести все слагаемые в левую часть и решить полученное уравнение Ф(Хк+1,ік+1) = 0 методом Ньютона-Рафсона.

Таким образом, если исходные уравнения моделируемой системы приведены к нормальной форме Коши, то расчет динамического режима может быть реализован как явными методами, так и неявными методами высших порядков.

Однако, несмотря на сравнительную простоту решения уравнений, приведенных к нормальной форме Коши, такой подход к решению задачи расчета динамического режима моделируемой системы не следует рекомендовать. Это вызвано тем, что задача формирования математического описания в нормальной форме Коши является далеко не тривиальной и связана с необходимостью выбора дерева полюсного графа и построения топологических матриц его главных сечений и главных контуров. При этом существенно возрастают временные затраты, требуемые как для разработки программного обеспечения, так и для его выполнения в процессе расчета.

Потому для построения математического обеспечения задачи расчета динамического режима на основе методов диакоптики следует принять за основу общее алгебро-дифференциальное уравнение моделируемой системы в неявной форме (4.2). Однако в это уравнение входит вектор производных X, для исключения которого следует решить обобщенное уравнение (4.12) для неявных методов относительно значения этого вектора при t =к+1. Выполняя эту операцию, получим

Отметим, что значения а и b в выражении (4.15) вычисляются на основании данных, которые к моменту времени t =к+1 уже определены на предыдущих шагах расчета.

Значения коэффициентов щ и # для методов Адамса-Моултона и Гира вычисляются на основании данных таблицы 4.3 и таблицы 4.4 и приведены в таблице 4.6 и таблице 4.7 Таблица

Уравнение (4.16) можно решить методом Ньютона-Рафсона относительно вектора Хк+, поскольку значения а и b к моменту времени t = k+1 уже определены на предыдущих шагах расчета. В качестве начального приближения {Хк+1)г ={Xk+l){) при этом возможно принять значение вектора на предыдущем шагеХ . Для повышения точности расчета можно также рекомендовать воспользоваться прогнозируемым значением вектора (Хк+1) = Хк+, которое вычисляется на основании явных методов Адамса-Бошфорта или Гира.

Особого внимания при этом заслуживает явный метод Гира, при использовании которого в качестве прогноза не требуется выполнять вычисление производных, достаточно только иметь в распоряжении значения вектора X на предыдущих шагах расчета, что, естественно, повышает эффективность вычислительного процесса.

Существенным достоинством изложенного подхода к расчету динамического режима является то обстоятельство, что в его основу положено алгебро-дифференциальное уравнение моделируемой системы F(X,X,t) = 0, записанное в неявном виде и не требующее приведения математического описания схемы к нормальной форме Коши.

Практическая реализация построения алгебро-дифференциальных уравнений F(X,X,t) = 0 может быть легко осуществлена путем формирования уравнений моделируемой схемы в обобщенном расширенном базисе узловых потенциалов согласно методике, изложенной в разделе 1.1.3. Для этой цели следует включить все полюса емкостных компонентов схемы в число j-полюсов, а все полюса индуктивных компонентов - в число z-полюсов, выделив эти элементы из структуры многополюсных элементов как показано на рисунке 4.1.

При этом матрицы Yм0 и Zм0 в обобщенном уравнении (1.15) можно представить в виде Yм0=Gм0 + sCм0 и Zм0= Rм0+ sLм0 и это уравнение в случае отсутствия в нем компонентов, записываемых уравнениями в неявной форме (такие компоненты рассматриваются в следующем разделе), будет иметь вид

Процесс расчета динамического режима существенно упрощается при переходе к технологии дискретизации частотно-зависимых компонентов. Такая технология предусматривает выделение всех частотно-зависимых компонентов, с математическим описанием которых проводятся те же самые преобразования, которые были приведены при рассмотрении методики решения алгебро-дифференциальных уравнений, записанных в неявной форме (4.12). Сущность дискретизации компонентов заключается в том, что вместо подстановки в результирующие уравнения значений производных используемых переменных, значения этих производных подставляются непосредственно в компонентные уравнения. При этом необходимо отдельно рассмотреть методику дискретизации частотно-зависимых двухполюсных компонентов и методику дискретизации частотно-зависимых управляемых источников.