- •Глава 2
- •Порядок Размер Шага Сокращение
- •Рунге-Кутта 2-го порядка с фиксированным шагом;
- •Колебание
- •Петли обратной связи На рис. 2.6. Представлены конструкции системы Powersim, реализующие петли отрицательной и положительной обратной связи.
- •Яйца, курицы, пересечения дорог
- •Производство - реализация
- •На рис.2.17 изображены петли положительной обратной связи модели «Производство – реализация»:
Порядок Размер Шага Сокращение
2 фиксированный RK2
3 фиксированный RK3
4 фиксированный RK4-Fixed Step
4 Переменный RK4-Var Step
Интегрирование методом Рунге-Кутта 2-го порядка с фиксированным шагом
Метод Рунге-Кутта 2-го порядка самый простой. В основном, этот алгоритм использует два вычисление потока в пределах данного t, чтобы вычислить изменения в уровне по t.
Шаг 1: Вычисляется поток в двух точках интервала от T до T + t
F1 = t * F ( LT, T)
F2 = t * F ( LT + F1, T + 3/4 * t )
Шаг 2: Вычисляеся оценка второго порядка LT + t , используя взвешенное среднее число F1 и F2
L T + t = LT + 1/3 * F1 + 2/3 * F2
Интегрирование методом Рунге-Кутта 3-го порядка с фиксированным шагом
Метод 3-го порядка работает подобно методу 2-го порядка, но использует три вычисления потока в пределах данного t. Он использует среднее взвешенное значение этих вычислений как оценку для изменения в уровне.
Шаг 1: Вычисляется поток в трех точках интервала (T, T + t)
F1 = t * F ( LT, T)
F2 = t * F ( LT + 1/2 * F1, T + 1/2 * t )
F3 = t * F ( LT + 3/4 *F2, T + 3/4 * t )
Шаг 2: Вычисляется оценка 3-го порядка LT + Dt, используя среднее взвешенное значение оценок потока
L3 T + t = LT + 2/9 * F1 + 3/9 * F2 + 4/9 * F3
Интегрирование методом Рунге Кутта 4-го порядка с фиксированным шагом
Метод 4-го порядка работает подобно методу 2-го порядка, за исключением того, что он использует четыре вычисления потока в пределах данного t. В каждом t производная оценена четыре раза: один раз в начальной точке, два при испытании средних точек, и один раз при проверке конечной точки. От этих производных рассчитывается конечное значение функции. Среднее взвешенное значение этих вычислений используется как оценка для изменения в уровне. (Взвешенное составляющее в среднем основано на расширении ряда Тейлора для функции двух переменных.)
Шаг 1: Оценивается поток в четырех точках интервале (T, T + t)
F1 = t * F ( LT, T)
F2 = t * F ( LT + 1/2 * F1, T + 1/2 * t )
F3 = t * F ( LT + 1/2 * F2, T + 1/2 * t )
F4 = t * F ( LT + F3, T + t)
Шаг 2: Вычисляется оценка 4 -го порядка LT + t , используя среднее взвешенное значение оценок потока
LT + t = LT + 1/6 * F1 + 2/6 * F2 + 2/6 * F3 + 1/6 * F4
Интегрирование методом Рунге Кутта 4-го порядка с переменным шагом
Главная цель метода переменного шага состоит в том, чтобы достигнуть некоторой предопределенной точности в решении с минимальным использованием вычислительной мощности.
Шаг 1: Оценивается поток в четырех точках интервала ( T, T + t)
F1 = t * F ( LT, T)
F2 = t * F ( LT + 1/2 * F1, T + 1/2 * t )
F3 = t * F ( LT + 1/2 * F2, T + 1/2 * t )
F4 = t * F ( LT + F3, T + t )
Шаг 2: Вычисляется оценка 4-го порядка потока, используя среднее взвешенное значение оценок потока
C4 = 1/6 * ( F1 + 2 * F2 + 2 * F3 + F4 )
Шаг 3: Вычисляется оценка 3-го порядка потока, используя среднее взвешенное значение оценок потока
C3 = 1/3 * ( F2 + 2 * F3 )
Шаг 4: Вычисляется оценка ошибки от различия между оценками 3-го и 4-го порядка
E = ABS ( C4 - C3 )
Шаг 5: Вычисляется приемлемый предел ошибки
A = AbsError + ABS ( RelError * C4 )
Шаг 6: Повторяются шаги 1 - 5 с меньшим t, если E > A для одного или более уровней
Шаг 7: Вычисляется оценка 4-го порядка LT + t:
LT + t = LT + C4
Интервал t установлен согласно оценке ошибки и пределам ошибки заданных в параметрах моделирования. Если оценка ошибки слишком высока, расчетный результат и результат моделирования сильно отклоняются, то интегрирование повторяется используя меньший t. Вычисления производятся заново с начальной точки текущего шага времени и процесс повторится начиная с Шага 1.
Хотя t используется для вычисления, результаты могут измениться, но временой шаг между каждым полученным результатом будет всегда равен временному шагу заданному в параметрах моделирования. Powersim не будет вычислять используя t более, чем это задано. Powersim также регулирует t в известном смысле, что гарантирует то, что данные будут представлены точно в каждый указанный пользователем временной шаг.
Сравнение методов интегрирования
При моделировании иногда используется то свойство, что в алгоритме Эйлера значение потока в начале временного шага применяется для целого временного шага. Это используется, например, для того чтобы «очистить» уровень. Для этого обычно применяется пульсирующий выходящий поток с тем же самым объемом как текущее значение уровня. Диаграмма (рис. 2.4) иллюстрирует эту технику.
Рис. 2.4. «Пульсирующий» выходящий поток
Уравнения:
Init L = 10
Flow L = -dt * (EmptyL)
Aux EmptyL = PULSEIF(TIMEIS(2), L)
Эта модель имитирует очистку уровня L, в момент t=2. Графики (рис.2.5) иллюстрируют фактическое поведение уровня L при моделировании при использовании пяти различных методов интегрирования:
Рис. 2.5. Результаты «очистки» уровня с помощью различных методов интегрирования
Кривые на графике соответствуют следующим методам: