Метод математического тестирования

Report
Всероссийская научно-техническая конференция
«Проблемы разработки перспективных микро- и
наноэлектронных систем» МЭС-2014
Маничев В.Б., Жук Д.М., Витюков Ф.А.
МГТУ ИМ. Н.Э.БАУМАНА, КАФ. РК-6 (САПР)
МЕТОД МАТЕМАТИЧЕСКОГО ТЕСТИРОВАНИЯ
ПРОГРАММ АНАЛИЗА ПЕРЕХОДНЫХ ПРОЦЕССОВ
(TRANSIENT ANALYSIS PROGRAM)
В САПР ЭЛЕКТРОННЫХ СХЕМ
(НА ПРИМЕРЕ ПРОГРАММ
NI-MULTISIM, CADANCE-ORCAD-PSPICE, SYMICA,
LTSPICE)
ОБЪЕКТ МОДЕЛИРОВАНИЯ
ТАКТОВЫЕ КВАРЦЕВЫЕ и МЭМС
ГЕНЕРАТОРЫ
ТЕСТОВЫЕ МАТЕМАТИЧЕСКИЕ ЗАДАЧИ:
жесткие системы ОДУ с многопериодным
решением, локально неустойчивыми
решениями и с функциями, имеющими
разрывы производных
ДВА
НАПРАВЛЕНИЯ ОБЕСПЕЧЕНИЯ ДОСТОВЕРНОСТИ И ТОЧНОСТИ
ЧИСЛЕННОГО РЕШЕНИЯ СИСТЕМ ОДУ В САПР
1. Тестирование математического ядра (программы
решателя систем ОДУ) на практических задачах с
известным экспериментальным решением для
конкретного класса моделируемых объектов
2. Тестирование математического ядра на
математических тестовых задачах с известным
асимптотическим или аналитическим
решением
Тестирование программ анализа переходных процессов
в электронных схемах на практических задачах с известным
экспериментальным решением
Экспериментальное тестирование пакета NIMultisim для моделирования кварцевых
генераторов
НАБОР «ТРУДНЫХ»
МАТЕМАТИЧЕСКИХ ТЕСТОВ
ТЕСТ 1. Осциллятор Ван дер Поля
Система ОДУ 2-го порядка с локально
неустойчивым решением и с переменной степенью
«трудности» (MU – параметр «трудности») период
колебаний равен 2MU:
dx1 / dt  x2

2
dx2 / dt   x1  MU  (1  x 1 )  x2
x1 (0)  1, x2 (0)  1,
t  [0,4.2MU ].
Описания, НЕКОРРЕКТНЫЕ РЕШЕНИЯ ТЕСТА 1 в
MATHCAD, MATLAB, MATHEMATICA, MAPLE и
КОРРЕКТНОЕ РЕШЕНИЕ в SADEL
Тест 2 Линейная электрическая схема ( high Q
filter circuit ) с многопериодным решением,
которая моделируется системой ОДУ 5-го
порядка
Метод согласованного изменения параметров
тестовой электронной схемы и
соответствующей системы ОДУ,
моделирующей динамические переходные
процессы в этой схеме.
Введены 6 масштабных коэффициентов:
Kt, Ku, Ki, KR, KC, KL
для соответствующих переменных и параметров
электронной схемы:
Время t [с*Kt]; Напряжение u [В*Ku]; Ток i [А*Ki];
Сопротивление R [Ом*KR]; Емкость C [Ф*KC];
Индуктивность L [Гн*KL].
Масштабные коэффициенты для переменных схемы
Kt, Ku и Ki взаимно независимы и задаются произвольно.
Масштабные коэффициенты для других параметров схемы
рассчитываются по формулам:
KR = Ku/Ki; KC = Kt*Ki/Ku; KL = Kt*Ku/Ki.
Тест 2 Система ОДУ 5-го порядка
Kt, Ku, Ki, KR, KC, KL - масштабные коэффициенты
«трудности» для переменных и параметров схемы.
Размерности для каждой переменной и параметра схемы
следующие:
время t [с*Kt]; напряжение u [В*Ku]; ток i [А*Ki]; сопротивление
R [Ом*KR]; емкость C [Ф*KC]; индуктивность L [Гн*KL].
kr  Ku / Ki, kc  Kt  Ki / Ku , kl  Kt  Ku / Ki,
dx1 / dt  x 4 / 0.001 kc
dx / dt  x / 0.001 kc
5
 2
dx3 / dt  ( x 4  x5 ) / kc
dx / dt  (ku  x  x  kr  x )  / 1001 kl
1
3
4
 4
dx5 / dt  ( x 2  x3  kr  x5 ) / 999 kl
x1 (0)  0, x 2 (0)  0, x3 (0)  0, x 4 (0)  0, x5 (0)  0,
t  [0,12560Kt ] .
Описания, НЕКОРРЕКТНЫЕ РЕШЕНИЯ ТЕСТА 2 в
MATHCAD, MATLAB и КОРРЕКТНОЕ РЕШЕНИЕ в
SADEL
ТЕСТ 3 Нелинейная жесткая система ОДУ, имеющая
локально-неустойчивое решение.
dy1dt  y2
dy2 / dt  10 (1  y )( y1  y2 )
6
2
1
y1 (0)  2, y2 (0)  0, t  (0,3)
Описания, НЕКОРРЕКТНЫЕ РЕШЕНИЯ ТЕСТА 3 в MATLAB,
Maple и КОРРЕКТНОЕ РЕШЕНИЕ в SADEL
ТЕСТ 4 Нелинейная жесткая система ОДУ для
моделирования процессов реального лазера.
dy1 dt   y1 * ( * y 2   )  
dy2 / dt  y 2 * ( p * y1   )   * (1  y1 )
y1 (0)  1, y 2 (0)  0, t  (0,10 ),
6
  1.5 *10 ,   2.5 *10 ,   2.1 *10 ,
p  0.6,   0.18,  0.016
18
6
Сравнение программ проведено для
параметров реального работающего лазера
6
Описание, НЕКОРРЕКТНОЕ РЕШЕНИЕ ТЕСТА 4 в Maple и
КОРРЕКТНОЕ РЕШЕНИЕ в SADEL
ТЕСТ 5 Емкостной делитель напряжения
Система ОДУ:
C1(duC1 (t ) / dt)  i (t )  0

(0.5  uC 2 (t ))  (duC 2 (t ) / dt)  i (t )  0
u (t )  u (t )  V (t )  0
C2
 C1
i(t )  iC1 (t )  iC 2 (t )
Аналитическое решение этой задачи для
напряжения и тока на емкости С2 при
начальных условиях :
uC 2 (0)  0
u (0)  0
C1
uC 2 (t )  C1  C 2(0)  (( C1  C 2(0) 2  2C1V (t )
iC 2 (t ) 
C1(0.5  uC 2 (t ))
(C1  C 2(0))2  2C1V (t )
КОРРЕКТНОЕ РЕШЕНИЕ для тока через емкость С2
ТЕСТА 5 в SADEL
МЕТОД СХЕМНОГО ПРЕДСТАВЛЕНИЯ
СИСТЕМ ОДУ
Схемные модели для дифференциальных и алгебраических
уравнений
uCdi  xdi
dXd / dt  Fd ( X d , Ya , t ),
Ya  Ga ( X d , Ya , t ),
uRai  yai
ЭЛЕКТРИЧЕСКАЯ СХЕМА ДЛЯ ТЕСТа 1в ПАКЕТЕ
MULTISIM
ЭЛЕКТРИЧЕСКАЯ СХЕМА ДЛЯ ТЕСТа 1в ПАКЕТЕ
OrCAD-PSPICE
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 1 (Mulyisim и
PSPICE)
СИСТЕМА ОДУ ДЛЯ ТЕСТа 2 И
ЭЛЕКТРИЧЕСКАЯ СХЕМА ДЛЯ ТЕСТа 2 в
ПРОГРАММЕ MULTISIM
kr  ku / ki, kc  kt  ki / ku, kl  kt  ku / ki,
dx1 / dt  x 4 / 0.001 kc
dx / dt  x / 0.001 kc
5
 2
dx3 / dt  ( x 4  x5 ) / kc
dx / dt  (ku  x  x  kr  x )  / 1001 kl
1
3
4
 4
dx5 / dt  ( x 2  x3  kr  x5 ) / 999 kl
x1 (0)  0, x 2 (0)  0, x3 (0)  0, x 4 (0)  0, x5 (0)  0,
t  [0,12560kt] .
Результаты расчета теста 2 (Multisim)
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 2 по
умолчанию (OrCAD-PSPICE)
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 2 метод
трапеций (OrCAD-PSPICE)
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТЕа 2 метод
трапеций, ограничение шага интегрирования
(OrCAD-PSPICE)
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 2 по
умолчанию (SYMICA)
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 2 метод
трапеций, ограничение шага интегрирования
(SYMICA)
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 5 (Multisim
SYMICA)
Итоговое сравнение решателей систем
ОДУ для «трудных» систем ОДУ
ТЕСТЫ
ТЕСТ 1
Программа-решатель
систем ОДУ
«Трудность»
MU=1e9
ТЕСТ 2
«Трудность»
Kt=1,Ki=1, Ku=1e1
ТЕСТ 3
ТЕСТ 4
«Трудность»
MU=1e6
Параметры
реального
лазера
ТЕСТ 5
C2  (0.5  uC2 (t)
SADEL 2012
+
+
-++
-++
+
Mathcad 2010
-
-++
+
+
нд
MATLAB 2012
-
-++
-++
+
нд
Maple 2008
-
+
-++
-++
нд
Mathematica 2012
-
+
+
+
нд
SPICE-Multisim
-
-++
-+
-+
-+
OrCAD- PSPICE
-
-+
-
-
+
SPICE-SYMICA
нд
-+
нд
нд
+
-
-
+
-
+
LTSpice
Знак (+) означает верное решение теста c параметрами по умолчанию.
Знак (-) означает не верное решение теста c параметрами по умолчанию без
предупреждения пользователя и отказ при попытке получения верного решения.
Знак (-+) означает не верное решение теста c параметрами по умолчанию без
предупреждения пользователя и получение верного решения путем настройки ряда
параметров метода интегрирования и увеличении времени счета.
Знак (-++) означает не верное решение теста c параметрами по умолчанию без
предупреждения пользователя и получение верного решения путем настройки только
параметра заданной точности интегрирования и увеличении времени счета.
нд – нет данных.
ВЫВОДЫ:
Основные недостатки программ анализа
переходных процессов в САПР электронных
схем, использующих программу-решатель
систем ОДУ SPICE
1. Получение не достоверного, не точного,
часто правдоподобного, результата
численного моделирования электронной
схемы при невысоких по умолчанию, требованиях
к математической точности решения систем ОДУ,
обычно равной 0.001 в программах-решателях
систем ОДУ, т.к. исходные внутренние параметры
электронных схем получены с невысокой
математической точностью и имеют
технологический разброс
ВЫВОДЫ (продолжение):
Основные недостатки программ анализа
переходных процессов в САПР электронных
схем, использующих программу-решатель
систем ОДУ SPICE
2. Реализованный в программе SPICE неявный
метод трапеций выдает «ложные» колебания
для систем ОДУ, имеющих функции с разрывами
производных
3. Неудачная реализация алгоритмов
автоматического выбора шага интегрирования
4. Невысокий фактический порядок точности
интегрирования дифференциальных уравнений,
что ведет к непроизводительным затратам
машинного времени счета.
Направление исследований
Новые научные результаты предполагается получить в
направлении разработки для САПР электронных схем
решателей систем ОДУ, в которых будут устранены
указанные выше недостатки . Для достоверного и точного
решения систем ОДУ при невысоких требованиях к
математической точности результатов будут реализованы
только A(π/2)-устойчивые методы решения систем ОДУ, т.к.
при использовании других методов решения систем ОДУ
трудно обеспечить устойчивость численного решения при
увеличении шага интегрирования в случае невысоких
значений параметра eps.
На основе таких решателей будет разрабатываться
программа анализа динамических систем ПА10 (PA10), как
развитие программ анализа электронных схем ПА1-ПА9
(руководитель этих разработок – д.т.н., проф. Норенков И.П.) и
альтернатива OrCAD, MULTISIM, SYMICA и т.п.
Отличительные особенности ПА10 (PA10)
1. Три библиотеки математических моделей – аналитическая
(математические функции, алгебраические и дифференциальные
уравнения), схемная (электронные, тепловые, механические,
гидравлические, пневматические и др. схемы) и смешанная.
2. Новые методы и алгоритмы интегрирования систем ОДУ
(включая интегрирование кусочно-линейных функций с разрывами
производных).
3. Новые алгоритмы решения разреженных систем линейных
алгебраических уравнений (ЛАУ) (включая переход на вычисления
с повышенной точностью вычислений при необходимости).
4. Достоверность и точность выдаваемых пользователю результатов
решения систем ОДУ и ЛАУ или выдача сообщения о
невозможности решения соответствующих систем с заданной
точностью.
САЙТ: www.па10.рф или www.pa10.ru
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 1 в PA10-mini
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 2 в PA10-mini
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 3 в PA10-mini
РЕЗУЛЬТАТЫ РАСЧЕТА ТЕСТа 4 в PA10-mini

similar documents