Об алгоритмах, которые могут быстро рассчитывать переходные процессы (из личной переписки)
Большинство современных симуляторов основаны на ядре SPICE и не справляются с расчетом импульсных схем. Проблема заключается в некорректных начальных условиях, которые приводят к бесконечным выбросам. Простейший пример: выброс напряжения на катушке индуктивности при отключении от источника напряжения. Поскольку такие выбросы происходят за очень короткое время, SPICE уменьшает шаг расчета, пока не будет достигнута заданная точность. Снижение точности ведет к неправильному результату для следующего шага, накоплению ошибки и зависанию программы.
Подходов к решению проблемы существует несколько и их условно можно поделить на две большие группы: совместимые и не совместимые со SPICE. Совместимость со SPICE означает, что для составления уравнений схемы используется модифицированный метод узловых потенциалов (MNA). Как известно, целью разработки MNA было ускорение симуляции интегральных схем путем сокращения количества уравнений. По сравнению с методом переменных состояния, метод MNA довольно сложный, однако, есть масса готовых программ, которые можно использовать. Этим очевидно и руководствовались такие авторы как Vlach и Opal когда предложили заменить в SPICE стандартный метод интегрирования Newton-Raphson на методы, которые справляются с некорректными начальными условиями. Несмотря на то, что на эту тему вышла серия статей и был написан экспериментальный симулятор SWANN, подход широкого распространения не получил. Не так давно был предложен другой SPICE-совместимый подход: Charge-Flux Oriented MNA. Как следует из названия, вместо трюков численного интегрирования к существующей MNA системе уравнений добавляются переменные заряда и магнитного потока. Это решает проблему некорректных начальных условий, но ведет к усложнению и без того непростого метода MNA. Подход получил развитие в нескольких диссертациях и реализован как симулятор qPSIM-1.1:
http://www.math.tu-berlin.de/~stykel/Research/ProjectD13Подходы не совместимые со SPICE также можно разделить на две группы: где шаг симуляции подстраивается и где он постоянный. В первую группу на данный момент входят два симулятора PECS (R. Tymerski) и FASTMEAN (В. Смирнов), оба по всей видимости используют метод переменных состояния. Отличительная особенность PECS – это быстрый метод вычисления матричной экспоненты с помощью аппроксимации Паде. Как следствие имеется возможность быстро подстраивать шаг симуляции. Алгоритм FASTMEAN для этих целей использует разложение в ряд Тейлора и основанные на нем преобразования Пухова. Вторая группа, где шаг симуляции постоянный представлена симуляторами PSIM и NL5. Поскольку это коммерческие программы, их алгоритмы нигде не публиковались. Интегрирование в обоих симуляторах производится методом трапеций, и можно предположить, что за основу алгоритма был взят упомянутый выше метод by Vlach and Opal.
Существует, однако, более простой подход к решению проблемы некорректных начальных условий. Дело в том, что переключения в схемах, содержащих только емкости или только индуктивности можно описать системой линейных уравнений. Допустим есть несколько конденсаторов заряженных до разных напряжений. Полагая сопротивление ключей нулевым подключим все конденсаторы параллельно. Ясно, что напряжение на них будет одинаковым, однако чтобы его найти нужно знать как распределился заряд
. С точки зрения уравнений это очень похоже на обычный делитель напряжения из резисторов. К сожалению, литературы, где рассматривается такая аналогия очень мало:
V. Karapetoff, "Pre-Charged Condensers in Series and in Parallel," Transactions of the American Institute of Electrical Engineers, Vol. 37, Issue 2, 1918, pp.1015-1025
A. P. Зильберман "Преобразование электрических цепей", журнал "Квант" №3, 1971г. стр. 10-14.
Т. А. Татур и В. Е. Татур "Установившиеся и переходные процессы в электрических цепях", Высшая школа, 2001 г., 407стр.
Проблема метода заключается в том как в общем случае выделить на схеме емкостные и/или индуктивные контуры. Здесь могут прийти на помощь уже разработанные в Charge-Flux Oriented MNA алгоритмы разпознавания, а также статьи на эту тему by F. Y. Chang and J. Ogrodzki.