МАТЕМАТИЧНЕ ТА КОМП'ЮТЕРНЕ МОДЕЛЮВАННЯ
МАТЕМАТИЧЕСКОЕ И КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ
MATHEMATICAL _AND COMPUTER MODELLING_
УДК621.31; 519.6
Василенко О. В.1, Петренко Я. И.2
1Канд. техн. наук, доцент, доцент кафедры микро- и наноэлектроники, Запорожский национальный технический
университет, Запорожье, Украина
2Инженер-программист, ООО «Научно-производственное предприятие «Преобразователь-комплекс», Запорожье,
Украина
ПОВЫШЕНИЕ КАЧЕСТВА МОДЕЛИРОВАНИЯ ДИНАМИЧЕСКИХ СИСТЕМ ВЫБОРОМ ОПТИМАЛЬНЫХ АЛГОРИТМОВ СИМУЛЯЦИИ
Исследованы методы решения основных форм дифференциальных уравнений математических моделей однодоменных и мультидоменных динамических систем в универсальных математических процессорах, в программах автоматизированного проектирования и инжиниринга (CAS, CAD и CAE соответственно). Проанализированы противоречия между показателями алгоритмов численного интегрирования ( точность, устойчивость, экономичность) и пути их оптимального согласования при настройке параметров симуляции. Наиболее часто используемые в солверах методы объединены в три группы: на основе алгоритма Рунге-Кутты, формул дифференцирования назад и комплексные алгоритмы; по каждой из групп даны области их адекватного использования. Особенности математической модели ДС, в том числе структурные сингулярности и жесткость, определены как наиболее влияющие факторы этапа моделинга на показатели качества процесса симуляции (адекватность, точность, экономичность).
Даны рекомендации по предотвращению алгоритмических сбоев при симуляции структурно-сингулярных систем, представленных в форме высокоиндексных DAE. Путем моделирования тестовой задачи, определены оптимальные алгоритмы для надежной симуляции жестких моделей ДС. Разработана методика выбора оптимального алгоритма численного интегрирования, которая учитывает особенности моделей. Даны рекомендации по выбору солвера и соответствующего программного обеспечения для моделирования ДС, представленных каузальными и акаузальными моделями.
Ключевые слова: программы моделирования, моделинг, симуляция, солверы, методы численного интегрирования, алгоритмические сбои, сингулярность, жесткость, методика.
НОМЕНКЛАТУРА
AB2 - экстраполяционный алгоритм Адамса-Баш-форта (метод трапеций);
AE - алгебраические уравнения (Algebraic Equations);
BE - неявный метод Эйлера (Backward Euler);
BDF - разностный неявный метод Гира (Backward Differentiation Formula);
CAE - автоматизированный инжиниринг (Computer Aided Engineering);
CAS - математический процессор (Computer Algebra System);
CAD - автоматизированное проектирование (Computer Aided Design);
CxDE - дифференциальные уравнения с комплекс -ными коэффициентами;
DAE - алгебро-дифференциальные уравнения (Differential-Algebraic Equations);
DDE - дифференциальные уравнения с задержками (Delay DE);
© Василенко О. В., Петренко Я. И., 2016
DOI 10.15588/1607-3274-2016-4-2
DOPRI853 - метод Дорманда-Принца;
ECAD - CAD для электроники (Electronics Computer Aided Design);
FE - явный метод Эйлера (Forward Euler);
IDE - дифференциальные уравнения в неявной форме (Implicit DE);
MeBDFi - модифицированный расширенный BDF (Modified extended BDF implicit);
ODAE - переопределенные уравнения (Overdetermined DAE);
ODE - обыкновенные дифференциальные уравнения (Ordinary Differential Equations);
PDE - дифференциальные уравнения в частных производных (Partial DE);
RK2, RK4 - двухэтапные методы Рунге-Кутты;
RKF45 - метод Рунге-Кутты-Фельберга;
ДС - динамическая система;
ММ - математическая модель.
ВВЕДЕНИЕ
Программы автоматизированного проектирования, инжиниринга и моделирования (CAD, CAE, CAS) [1] предлагают для симуляции однодоменных (механических, электронных и т.д.) и мультидоменных динамических систем (ДС) набор методов численного интегрирования дифференциальных и алгебро-дифференциальных уравнений, вид и форма которых зависит от принятых допущений при формировании математической модели (ММ) системы на этапе моделинга. Эти методы объединяются в так называемые солверы вместе с дополнительными алгоритмами, предназначенными для обеспечения эффективного моделирования систем в различных программных средах, однако достаточно часто на практике результаты моделирования ДС неадекватны, несмотря на заявленную высокую точность ММ.
Причина этого заключается в том, что этап симуляции может стать невозможным, или идти с алгоритмическими сбоями, если не учтены особенности модели, синтезированной на этапе моделинга (жесткость, сингулярность и т.д.). Единого методического похода в решении проблем подобного рода не существует, таким образом, актуализируется задача повышения эффективности моделирования ДС за счет расширения методического обеспечения этапа симуляции путем формирования подходов к оптимальному выбору метода интегрирования систем уравнений ММ.
Объектом исследования является процесс моделирования ДС в программах CAD, CAE, CAS, в частности, изучение влияния особенностей этапа моделинга на показатели качества этапа симуляции и, как следствие - на качество анализа временных характеристик (переходных процессов) в целом. Предметом исследования являются методы численного интегрирования и солверы программ автоматизированного моделирования, в том числе изучение степени применимости явных и неявных методов, которые с точки зрения области устойчивости являются дуальными при одинаковом порядке (точности); при этом явные методы критичны к выбору шага интегрирования, а для неявных методов существует противоречие между точностью и устойчивостью, как и ряд дополнительных проблем, связанных со сходимостью процедуры линеаризации, выполняемой на каждом шаге интегрирования.
Цель работы - разработка методики выбора метода решения уравнений математической модели ДС на этапе симуляции, который гарантирует высокое качество моделирования согласно критериев адекватности, точности, экономичности, и при этом учитывает особенности ММ (жесткость, структурные сингулярности), полученные на этапе моделинга. 1 ПОСТАНОВКА ЗАДАЧИ
Для достижения поставленной цели, необходимо последовательно решить ряд задач: исследовать и классифицировать формы уравнений ММ динамических систем; исследовать алгоритмы их решения (методы численного интегрирования) и солверы (программные комплексы для решения уравнений) программ CAD/CAE/CAS; а также наработать рекомендации, способствующие повышению эффективности моделирования ДС.
2 ЛИТЕРАТУРНЫЙ ОБЗОР
В настоящее время существует множество инструментальных средств для автоматизированного моделирования ДС [1]. Некоторые из них хорошо известны и популярны (MATLAB \ Simulink, Maple \ MapleSim, VisSim), другие не столь широко распространены (SimApp, 20-sim, SamSim, AMESim). Часть пакетов универсальна, и может бать использована для моделирования сложных ДС, состоящих из подсистем (доменов) с разными физическими свойствами (AMESim, 20-sim, SimulationX). Иные имеют узкую специализацию, или ориентированы на определенный домен (Vensim, IThink, Berkeley Spice, ACSLx, Powersim, MedModel, Arena). Возможности большинства пакетов в значительной мере перекрываются, и подходы к решению одних и тех же задач у них приблизительно одинаковы [2, 3], что дает возможность обобщить методику выбора оптимального алгоритма симуляции. Все программы моделирования фактически являются математическими процессорами разной степени специализации (CAS можно назвать универсальными процессорами), таким образом, на основе анализа методов численного интегрирования, которые составляют ядро солверов программ, можно обозначить область их применимости/адекватности и разработать общие рекомендации по применимости программных продуктов для исследования ДС с выявленными особенностями их моделей.
Рассмотрим методы интегрирования в симуляторах САЕ/CAD/CAS. Математические модели одно- и муль-тидоменных ДС, в зависимости от принятых упрощений и допущений на этапе структурного и параметрического синтеза модели (моделинга), могут быть представлены системами:
- алгебраических уравнений (AE) для анализа статики;
- обыкновенных дифференциальных уравнений (ODE);
- алгебро-дифференциальных уравнений (DAE), пе-реопре деленных в т.ч. (ODAE);
- дифференциальных уравнений в неявной форме (IDE), с задержками (DDE), с комплексными коэффициентами (CxDE), в частных производных (PDE) и так далее.
Алгоритмы решения этих уравнений реализованы и объединены со вспомогательными алгоритмами в сол-верах (solvers) [2]. Методы численного интегрирования (их еще называют методами дискретизации / алгебраи-зации) характеризуются:
- величиной шага по времени и его адаптивностью;
- способом вычисления следующей точки (явные и неявные);
- порядком точности/метода, что определяется максимальной степенью аппроксимирующего выражения, и возможностью его изменения;
- устойчивостью (характеризует способность алгоритма продуцировать решение в переделах заданной точности в условиях широкой вариации величины шага);
- количеством учтенных на текущем шаге предыдущих шагов (одношаговые и многошаговые методы).
К альтернативным алгоритмам относятся специальные методы непосредственного решения ODE второго порядка (классические методы работают с системами
ODE первого порядка, полученными из уравнений высокого порядка), геометрические интеграторы (симплек-тические, симметричные, Мозера-Веселова), методы для систем с квантованным состоянием [3]. Альтернативные алгоритмы не получили широкого распространения в современных программах моделирования ДС.
Для вычисления значения функции на текущем шаге в явных алгоритмах необходимы значения функции и ее производной из предыдущего шага, а в неявных методах эту производную необходимо спрогнозировать на текущем шаге с помощью дополнительных алгоритмов, что делает их менее экономичными. Однако, для явных методов площадь области устойчивости всегда меньше, чем у неявных, но при увеличении шага в явных методах она возрастает, а у неявных - уменьшается [4]. Неявные и многошаговые методы, как правило, не требуют установления величины шага, он адаптируется автоматически из соображений обеспечения требуемой точности. Методы второго и высших порядков - нелинейные, причем, чем выше порядок точности, тем больше дополнительных компонент в формуле метода необходимо рассчитать, тем больше время моделирования [2, 4].
В программах моделирования достаточно широко используются явные одношаговые методы семейства Рунге-Кутты, являющиеся многостадийными, и выполняющие несколько промежуточных шагов (minor steps); после чего осуществляется основная стадия (major step), что позволяет увеличить точность решения, используя при этом информацию только с одного текущего шага.
Алгоритмы с прогнозом-коррекцией второго и высших порядков выполняют два расчета функции на каждом шаге, при этом в качестве предиктора обычно используется явный метод Адамса-Башфорта, а в качестве корректора - неявный Адамса-Мултона. Многошаговые (линейные) методы (Гира, Адамса-Башфорта, Адамса-Мултона) используют информацию с предыдущих шагов. Отдельным случаем линейных методов являются явный и неявный Эйлера, который можно принять соответственно как Адамса-Башфорта и Адамса-Мултона первого порядка с одним шагом.
Поскольку существует противоречия между критериями устойчивости (явные, неявные) и точности (порядок метода), точности и экономичности (затраты машинного времени), встает задача оптимального выбора метода интегрирования и параметров симуляции, осо-
бенно для жестких моделей [4], с большим разбросом постоянных интегрирования.
В таблицу 1 сведены основные методы, которые широко используются в симуляторах, отсортированные согласно упомянутым выше критериям и областям применимости.
Представленные в таблице методы можно сгруппировать следующим образом.
1. Методы на базе алгоритма Рунге-Кутты: RK2 та RK4 -двухэтапные, с вычислением промежуточной точки [2]; RKF45 и Дорманда-Принца (DOPRI853) требуют от 4 до 6 промежуточных вычислений функции [5].
2. Методы на основе формул дифференцирования назад: метод Гира (BDF) переменного порядка (1-6) с первым порядком производных [5, 6], который запускает на каждом шаге итерационный процесс линеаризации методами простой итерации, Бройдена, Ньютона-Рафсона; MeBDFi - модифицированная расширенная формула дифференцирования назад [5].
3. Комплексные алгоритмы: VODE и Vode Adams, состоят из многошагового неявного метода Адамса-Мулто-на (Adams-Moulton) переменного порядка (1-12) и шага, и многошагового метода BDF переменного порядка (1-5) и шага; результирующая нелинейная система алгебраических уравнений решается итерационным методом линеаризации на каждом шаге интегрирования [4].
Солверы в современных программах САЕ/CAD/CAS имеют в своем составе не только методы интегрирования, но ряд дополнительных алгоритмов, которые повышают эффективность и надежность решения уравнений и их систем. Назовем несколько комплексных солверов, написанных на разных языках программирования [6-11]:
- deSolve (для решения ODE, DAE, PDE, DDE);
- DEBDF (метод BDF переменного порядка (1-5) для очень жестких систем);
- DASSL (на основе методов Гира, BDF третьего и пятого порядка);
- LSODA, LSODE, LSODES, LSODAR, VODE (семейство Ливерморовских алгоритмов для жестких и нежестких ODE с автоматическим определением проблемы);
- DERKF (на основе метода Рунге-Кутты пятого порядка для решения нежестких и умеренно жестких систем, когда высокая точность не нужна);
- DASPK (для ODE, DAE та DAE в линейно-неявной форме, использует комбинацию методов, в т.ч. BDF);
Таблица 1 - Характеристики методов интегрирования в симуляторах
Метод симуляции Порядок метода Явный (Я)/ Неявный (Н) Одно- (О)/ Много-(М) шаговый Для моделей: жестких (Ж); мягких (М) Для IDE Для DAE шаг: V - перем. C - пост.
FE 1 Я О М - - C
BE 1 Н О М + - C
AB2 2 Я М (2) М - - C
RK2/ RK4 2/4 Я О М - - C
RKF45 4/5 Я О М - - V
DOPRI853 3, 5, 8 Я О Ж - - V
VOD E BDF 1-5 Н М (перем.) Ж - - V
Adams 1-12 Н М (перем.) М - - V
BDF/ MeBDFi 1-6 Н М (перем.) Ж + + V
- ODEDC (для систем смешанных дискретно-непрерывных ODE);
- RADAU5 (для жестких ODE и линейно-неявных DAE, реализует трехстадийный метод (RADAUIIA) Рунге-Кут-ты 5 порядку с регулированием шага);
- MeBDFDAE (модифицированный алгоритм BDF для жестких ODE та DAE);
- Spice (семейство алгоритмов для SPICE-совмести-мых ECAD-программ [11], базируется на алгоритмах BDF и VODE).
3 МАТЕРИАЛЫ И МЕТОДЫ
Если модель построена корректно, компилятор сможет подготовить код для симуляции, но в процессе симуляции исследователь может столкнуться с проблемами:
1) алгоритм симуляции не может быть использован для данной модели;
2) метод может быть использован, но симуляция дает неадекватный результат;
3) алгоритм дает адекватный результат, но низкой точности.
Первая проблема может в некоторых случаях быть разрешена или за счет смены формы представления модели, или путем смены программного обеспечения для моделирования. Так, для ММ в форме DAE и ОDAE не может быть использован алгоритм интегрирования ODE, если отсутствует алгоритм предварительного преобразования уравнений. Кроме того, модель может быть представлена в акаузальной форме, то есть системой уравнений, не упорядоченной по причинно-следственному принципу; или иметь структурные сингулярности. Проблемы 2 и 3 решаются коррекцией модели, выбором другого метода интегрирования в солвере, умень -шением максимального временного шага, однако вторая проблема иногда возникает при алгоритмических сбоях (потеря сходимости, устойчивости), если параметры симуляции подобраны не оптимально [4]. Способы решения проблем подобного рода приведены ниже.
Структурные сингулярности: рекомендации по предотвращению алгоритмических сбоев. Достаточно часто в моделях ДС есть так называемые алгебраические петли (Algebraic Loops), которые усложняют симуляцию запуском вспомогательных алгоритмов. Например, применение алгоритма Тарьяна к акаузальным ММ не приводит к каузализации всех уравнений и полученная система не будет полностью отсортированной [9]. В таком случае, для решения систем линейных алгебраических уравнений можно применять алгоритм релаксации (Relaxation Algorithm), являющийся символической реализацией метода Гаусса (Gaussian elimination) без обратного хода, а для нелинейных алгебраических петель может применяться разрывающая техника (Tearing Algorithm), включающая алгоритм Ньютоновских итераций, или диакоптический метод подмены уравнений (Equation Substitution Technique) [6]. Эти техники могут быть объединены в солвере.
Такие структурные сингулярности, как алгебраические петли могут приводить к росту времени симуляции, а иногда и к ее останову Для решения указанных проблем можно рекомендовать следующие действия:
а) сменить порядок вычислений. В каузальных моделях, которые являются отсортированным по причинно-следственному принципу набором уравнений (Equation Model), можно изменить порядок вычислений (в CAS). В моделях на основе связанных графов (в CAE) порядок расчетов может быть изменен путем введения каузальной информации вручную (Hand-defined Causality);
б) ввести паразитные элементы накопления энергии (например, емкости) в звенья обратной связи в акаузаль-ных моделях (в ЕCAD и CAE), однако их некорректные значения могут вызвать осцилляции при переходных процессах, ввести большие полюса в уравнения состояния, что приведет к увеличению времени симуляции;
в) удалить из алгебраических петель лишние элементы, которые несущественно влияют на параметры выходной функции; объединить однотипные элементы на этапе моделинга (топологические преобразования).
Кроме алгебраических петель, бывают и другие структурные сингулярности (топологические вырождения) [4], например, при отсутствии базовой опорной точки отсчета значения переменных базиса (в ECAD - это заземление для отсчета потенциалов узлов); при определенном соединении элементов (контур из емкостей, звезда из индуктивности и т. д.). При этом невозможно сформировать координатный базис независимых переменных и начальные условия. Существует несколько путей решения таких проблем, в частности, рекомендуется выполнять необходимые топологические преобразования на этапе моделинга. На этапе симуляции можно рекомендовать алгоритм Пантелидеса [6], при котором система DAE редуцируется до системы с алгебраической петлей, от которой избавляются рассмотренными выше способами. Хорошие результаты дает также использование неявных методов интегрирования.
Вообще, структурно-сингулярные системы описываются в форме высокоиндексных DAE. Индексы (ранги) возмущения (Perturbation Index):
- DAE нулевого ранга (index-0) не содержат сингу-лярностей;
- DAE первого ранга (index-1) содержат только алгебраические петли;
- высокоиндексные DAE содержат петли и иные структурные сингулярности.
Можно рекомендовать такие подходы для решения систем высокоиндексных DAE:
1) использовать неявные алгоритмы интегрирования (BDF и MeBDFi);
2) понижать индекс с помощью символических преобразований DAE к ODE (некоторые САЕ [9] перед симуляцией символически редуцируют модель: снижают порядок ODE и индекс системы), после чего запускаются явные методы интегрирования.
Таким образом, индекс возмущения модели является одним из ограничений при выборе алгоритма симуляции.
Проблема жесткости модели и способы ее решения. Структурная сложность ММ, нелинейность характеристик элементов и наличие динамических звеньев, постоянные времени которых отличаются на несколько порядков, могут привести к появлению жестких (stiff) составляющих в разных частях модели системы
(«пространственная жесткость»), или на разных интервалах времени («временная жесткость»). Жесткость может зависеть от:
- разброса собственных значений Якобиана (матрицы коэффициентов для нелинейных ODE, PDE, DAE);
- размерности системы (количества элементов, независимых переменных/уравнений);
- требований по точности симуляции;
- диапазона времени модельного эксперимента.
4 ЭКСПЕРИМЕНТЫ
При исследовании жесткой схемы с пропорционально-интегрирующими блоками на интервале 0... 1с (рис. 1), в САЕ-программе 20-sim [9], получены такие данные: при сохранении адекватности результата, наименьшее количество вычислений показал метод VODE на основе алгоритма Адамса-Мултона (255 вычисления), а самое большое - метод RKF45 (1887 вычисления); неплохой результат дал BDF (263 вычисления). При интегрировании явным методом Эйлера с фиксированным шагом (0,001 с ) - 1001 вычисления, при этом точность была много ниже, чем в предыдущих экспериментах. Увеличение размера шага привело к потере устойчивости алгоритма и дало неадекватные результаты моделирования.
Таким образом, симуляция жестких систем возможна на основе явного или неявного алгоритма интегрирования, но эффективность и точность будут разными [2], при этом одношаговые методы низких порядков менее экономичные и склонны к потере устойчивости / адекватности.
5 РЕЗУЛЬТАТЫ
Методика выбора алгоритма моделирования. Для
получения адекватного результата симуляции, выбор метода интегрирования в зависимости от особенностей модели можно осуществлять по методике, представленной в виде алгоритма на рис. 2.
Методика получена при начальном допущении о непрерывности модели; для дискретных систем можно рекомендовать использовать алгоритмы с переменным шагом и избегать появления алгебраических петель, поскольку они создают зоны псевдодинамики и нарушают стационарность поведения модели.
Таким образом, области адекватного использования методов: FE, BE та AB2 - для нежестких моделей без син-гулярностей; группа RK - преимущественно для быстрого решения нежестких или средне-жестких уравнений с приемлемой точностью; DOPRI - для более точного решения нежестких и жестких ODE; комплексные алгоритмы VODE, Vode Adams для жестких и нежестких моделей в явной форме ODE, переходные процессы в которых содержат колебание с малым демпфированием. Для симуляции очень жестких моделей наиболее эффективны неявные и комбинированные многошаговые методы.
Если смена алгоритма симуляции не приводит к улуч -шению результатов моделирования, рекомендуется коррекция модели: вначале параметрическая / компонентная, затем (если необходимо), - структурная / топологическая оптимизация.
Рекомендации по выбору и настройке солвера. Для эффективного моделирования ДС, которые (как правило) представлены DAE, могут быть рекомендованы такие солверы, как DASSL, MEXX; для электронного домена - преимущественно Spice (в ECAD), поскольку BDF и/или MeBDFi, которые лежат в их основе, предназначены для решения жестких и высокоиндексных DAE, которые имеют производные каузальности (Derivative Causalities) и алгебраические петли. Для нежестких моделей рекомендуется использовать солверы, которые содержат как явные, так и неявные методы (Spice) [4]. Для моделирования систем с незатухающими колебаниями с индексом сингулярности до 3 включительно, рекомендуется солвер MeBDFDAE на основе метода MeBDFi.
Следует отметить, что эти солверы требуют грамотного определения начального приближения переменных и количества итераций для обеспечения сходимости методов линеаризации, которые ассоциированы с алгоритмами неявного интегрирования. Кроме этого, при высокой скорости переходных процессов в ДС, неявный алгоритм для обеспечения точности расчета уменьшает шаг и повышает порядок метода, что означает увеличение зоны риска по потере устойчивости алгоритма и адекватности результатов. Поэтому рекомендуется при симуляции жестких моделей (например, устройств си-
0.4 0.6
time {s}
Рисунок 1 - Пример жесткой модели в 20-sim: структура и осциллограмма
0.8
0.6
0.4
0.2
0.2
0.8
Рисунок 2 - Алгоритм выбора оптимального метода интегрирования
ловой или аналого-цифровой электроники, мехатронных систем) уменьшать точность моделирования: задавать абсолютную погрешность в интервале 10-6-10-9, относительную - до 0,01; увеличивать количество допустимых итераций метода линеаризации (от 10 до 1000) [4].
Несмотря на то, что количество доступных алгоритмов в CAS больше, чем в объектно-ориентированных CAD, в последних, благодаря дополнительным методам повышения надежности вычислений, предоставляются хорошие возможности для эффективного моделирования ДС, в том числе, представленных в акаузальной форме, жестких и с топологическими вырождениями. Динамические системы,
представленные каузальными моделями, рекомендуется моделировать в программах класса CAB. ВЫВОДЫ
Результатом исследований является методика выбора алгоритма симуляции, имеющая элементы научной новизны, поскольку она устанавливает в качестве новых критериев выбора - особенности модели (форму уравнений, структурную сингулярность, жесткость), учитывая при этом и требования к вычислительному процессу (точность, экономичность). Разработанная методика расширяет и дополняет методическое обеспечение автоматизированного моделирования ДС в программах CAD, CAE, CAS.
Практическая ценность методики, рекомендаций по выбору программного обеспечения и настройки параметров солвера состоит в том, что их применение позволяет повысить адекватность, точность и экономичность модельного эксперимента в программах автоматизированного проектирования и инжиниринга, что, в свою очередь, способствует повышению качества принимаемых решений при проектировании ДС. СПИСОК ЛИТЕРАТУРЫ
1. List of CAx companies [Electronic resource]. - Access to the site: https://en.wikipedia.org/wiki/List_of_CAx_companies
2. Душин С. Е. Моделирование систем и комплексов / С. Е. Душин, А. В. Красов, Ю. В. Литвинов. - СПб: СПбГУ ИТМО, 2010. - 177 с.
3. Клиначев Н. В. Обзор архитектурного построения программ математического моделирования динамических систем [Электронный ресурс]. - Режим доступа: http://model.exponenta.ru/ simkernel.html
4. Переверзев А. В. Запобшання алгорштшчних збо!в систем ECAD
/ А. В. Переверзев, О. В. Василенко, Р. В. Прокопенко // Радюелектронжа, шформатика, управлшня. - 2006. - № 1. -С. 123-128.
5. Press W. H. Numerical Recipes. The Art of Scientific Computing (3rd ed.) / [Press W. H., Teukolsky S. A., Vetterling W. T., Flannery B. P.]. - Cambridge University Press, 2007. - 1235 p.
6. Cellier F. E. Continuous system simulation / F. E. Cellier, E. Kofman. - Springer Verlag, New York, 2006. - 643 p.
7. Evans J. ITigh-level modelling tools [Электронный ресурс]. -Режим доступа: http://cas.web.cern.ch/cas/Sweden-2007/ Lectures/Web-versions/Evans.pdf
8. Hindmarsh Alan С. ODEPACK, A Systematized Collection of ODE Solvers / Hindmarsh Alan С. - Scientific Computing, North-Holland, Amsterdam, 1983. - P. 55-64.
9. Kleijn Ir. C. 20-sim 4.3 Reference Manual / Ir. C. Kleijn, Ir. M. A. Groothuis, Ir. H. G. Differ // Controllab Products B. V. -2012. - 1099 р.
10. Manca D. The solution of DAE systems by a numerically robust and efficient solver / D. Manca, G. Buzzi-Ferraris // 17 th European Symposium on Computer Aided Process Engineering -ESCAPE17, 2007 [Электронный ресурс]. - Режим доступа: http://www.nt.ntnu.no/users/skoge/prost/proceedings/escape17/ papers/T 1-108.pdf.
11. Spice algorithm overview [Electronic resource]. - Access to the site: http://www.ecircuitcenter.com/SpiceTopics/Overview/ Overview.htm
Статья поступила в редакцию 21.06.2016.
После доработки 01.07.2016.
Василенко О. В.1, Петренко Я. I.2
'Канд. техн. наук, доцент, доцент кафедри мжро- та наноелектронжи, Запорiзький нацюнальний техшчний ушверситет, Запорiжжя, Украша
21нженер-програмют, ТОВ «Науково-виробниче шдприемство «Преобразователь-комплекс», Запорiжжя, Украша
П1ДВИЩЕННЯ ЯКОСТ1 МОДЕЛЮВАННЯ ДИНАМ1ЧНИХ СИСТЕМ ВИБОРОМ ОПТИМАЛЬНИХ АЛГОРИТМ1В СИМУЛЯЦП
Дослщжено методи розв'язання основних форм диференщальних рiвнянь математичних моделей однодоменних i мультидоменних динамiчних систем в ушверсальних математичних процесорах, в програмах автоматизованого проектування та шжишрингу (CAS, CAD i CAE вщповщно). Проаналiзовано протирiччя мiж показниками алгорштшв числового штегрування (точшсть, стшкють, еко-номiчнiсть) i шляхи !хнього оптимального узгодження при налаштуванш параметрiв симуляцп. Найбшьш вживаш в солверах методи об'еднаш в три групи: на основi алгоритму Рунге-Кутти, формул диференщювання назад и комплексш алгоритми; по кожнш з груп надаш област !хнього адекватного застосування. Особливост математично! моделi ДС, в тому чи^ структурш сингулярност й жорсткють, визначеш як фактори етапу моделшгу, що мають найбшьший вплив на показники якост процесу симуляцп (адекватшсть, точшсть, економiчнiсть).
Наведенi рекомендацii для запобжання алгоритмiчних збо!в при симуляцп структурно-сингулярних систем, представлених в формi високоiндексних DAE. Шляхом моделювання тестово! задачi, визначенi оптимальнi алгоритми для надшно! симуляцii жорстких моделей ДС. Розроблено методику вибору оптимального алгоритму числового штегрування, яка враховуе особливоеп моделей. Надано рекомендацп з вибору солвера та вщповщного програмного забезпечення для моделювання ДС, представлених каузальними i акаузаль-ними моделями.
Ключовi слова: програми моделювання, моделшг, симуляцiя, солвери, методи числового штегрування, алгорштшчш збо!, сингу-лярнiсть, жорсткiсть, методика.
Vasylenko O. V.1, Petrenko Y. I.2
*PhD, Associate Professor, Associate Professor of Micro- & nanoelectronics Department, Zaporizhzhya National Technical University, Zaporizhzhya, Ukraine
2Middle Software Engineer, Research and Development Enterprise «Preobrazovatel-complex», Zaporizhzhya, Ukraine
IMPROVING ANALYSIS OF DYNAMICAL SYSTEMS BY SELECTION THE OPTIMAL ALGORITHM OF SIMULATION
Numerical solution methods of the main forms of differential equations for mathematical modeling of single-domain and multidomain dynamic systems in universal mathematical processors, in computer-aided design and engineering programs (CAS, CAD and CAE, respectively), were investigated in this work. The contradictions between the performance of numerical integration algorithms (accuracy, stability, economical) and the ways of their optimal matching when configuring the parameters of simulation have been analyzed. The methods, which most commonly used in solvers, can be combined into three groups: based on the Runge-Kutta algorithm, backward differentiation formulas and complex algorithms; for each of the group the adequate fields of application have been given. The factors of modeling stage (features of DS mathematical model, including structural singularity and stiffness), which have the most influence at the quality indicators (criteria) of the simulation process (the adequacy, accuracy, cost-effectiveness) have been determined. Features of mathematical model, including structural singularity and stiffness, have been determined as the factors of modeling stage, which have the most influence at the quality indicators (criteria) of the simulation process (the adequacy, accuracy, cost-effectiveness).
Recommendations for prevention of algorithmic failures during simulation of structurally singular systems, which presented as high-index DAE, are given. By the results of test circuit modeling, the optimal algorithm for robust simulation of dynamic systems with varying degrees of stiffness has been defined. The universal procedure of choosing the optimal algorithm of simulation, which takes into account the features
of the models, has been designed. The recommendations for choosing of solver and related software for the simulation of causal and a-causal models of DS have been presented in this paper.
Keywords: simulation software, modeling, simulation, solvers, numerical integration methods, algorithmic failures, singularity, stiffness, methodical support.
REFERENCES
1. List of CAx companies (2015) [Online] Available from: https:/ /en.wikipedia.org/wiki/List_of_CAx_companies [Accessed: 28 October 2015]
2. Dushin S. E., Krasov A. V., Litvinov Yu. V. Modelirovanie sistem i kompleksov. Sankt-Peterburg, SPbGU ITMO, 2010, 177 p.
3. Klinachev N. V. Obzor arxitekturnogo postroeniya programm matematicheskogo modelirovaniya dinamicheskix sistem [E'lektronnyj resurs]. Rezhim dostupa: http:// model.exponenta.ru/simkernel.html
4. Pereverzjev A. V, Vasylenko O. V., Prokopenko R. V Zapobigannja algorytmichnyh zboi'v system ECAD, Radioelektronika, informatyka, upravlinnja, 2006, No. 1, pp. 123-128.
5. Press W. H., Teukolsky S. A., Vetterling W. T., Flannery B. P. Numerical Recipes. The Art of Scientific Computing (3rd ed.). Cambridge University Press, 2007, 1235 p.
6. Cellier F. E., Kofman E. Continuous system simulation. Springer Verlag, New York, 2006, 643 p.
7. Evans J. High-level modelling tools [Electronic resource]. Access to the site: http://cas.web.cern.ch/cas/Sweden-2007/Lectures/Web-versions/Evans.pdf
8. Hindmarsh Alan C. ODEPACK, A Systematized Collection of ODE Solvers. Scientific Computing, North-Holland. Amsterdam, 1983, pp. 55-64
9. Kleijn Ir. C., Groothuis Ir. M. A., Differ Ir. H. G. 20-sim 4.3 Reference Manual, Controllab Products B.V., 2012, 1099 p.
10. Manca D., Buzzi-Ferraris G. The solution of DAE systems by a numerically robust and efficient solver, 17th European Symposium on Computer Aided Process Engineering -ESCAPE17, 2007 [Electronic resource]. Access to the site: http:/ /www. nt.ntnu. no/users/skoge/pro st/proceedings/escape17/papers/ T1-108.pdf.
11. Spice algorithm overview [Electronic resource]. Access to the site: http://www.ecircuitcenter.com/SpiceTopics/Overview/ Overview.htm