Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование / Системно-динамическое моделирование в среде Powersim.pdf
Скачиваний:
168
Добавлен:
02.06.2015
Размер:
2 Мб
Скачать

1.5 Подготовка и проведение имитационных экспериментов

Для подготовки и проведения имитационных экспериментов (имитаций) необходимо:

1.Определить все уравнения для переменных модели.

2.Задать все начальные условия и константы модели.

3.Выбрать период моделирования и размерность единицы времени.

4.Выбрать метод и шаг интегрирования (метод Эйлера, Рунге-Кутта с постоянным или переменным шагом).

5.Выбрать тип имитационного эксперимента (непрерывный, пошаговый, игровой) и провести сам имитационный эксперимент.

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

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

1.5.1Подготовка имитационного эксперимента

Для проведения имитационных экспериментов необходимо определить все переменные модели, а также задать начальные условия и константы. Это означает, что на структурной (потоковой) диаграмме не должно оставаться никаких пиктограмм, внутри которых были бы вопросительные знаки. Кроме того, никакие динамические объекты для ввода значений переменной (например ползунки) не должны быть соединены со вспомогательными переменными с включенной опцией Allow Input (Разрешить Ввод). Если любое из упомянутых условий не будет выполнено до начала имитации, Powersim выдаст сообщение об ошибке.

Кроме того, важно на данном этапе выбрать общий для всех объектов формат отображения (по умолчанию) числовых данных в меню диалогового окна Options (Настройки), возникающего при выборе одноименной команды из меню Format (Формат). Здесь возможны следующие варианты:

1,234.5

Запятая – разделитель тысяч. Точка – разделитель целой и дробной

 

частей числа.

1.234,5

Точка – разделитель тысяч. Запятая – разделитель целой и дробной

 

частей числа.

1234.5

Нет разделителя тысяч. Точка – разделитель целой и дробной частей

 

числа.

1234,5

Нет разделителя тысяч. Запятая – разделитель целой и дробной частей

 

числа.

С Панели

Используются национальные настройки оболочки Windows как для

управления

разделителя тысяч, так и для разделителя целой и дробной частей

 

числа. Эти настройки считываются с Панели управления Windows

 

(Язык и стандарты).

Для отдельного объекта формат отображения числовых данных можно менять, редактируя соответствующее свойство этого объекта при помощи диалогового окна Format Number (Формат числа), представленного на рис. 1.23. Данное свойство доступно из диалогового окна Define ... (Определение ...) при нажатии кнопок, имеющих в своем названии слово Format (Формат), или кнопок с названием Axis (Оси координат). При нажатии кнопок последнего типа появляются диалоговые окна, содержащие кнопки с названием Format (Формат).

26

Рисунок 1.23 Окно диалога Format Number (Формат числа)

Такие установки до начала моделирования проводить не обязательно (т.е. не будут выдаваться сообщения об ошибках), но желательно, поскольку это повышает "читаемость" модели (особенно пользователями модели, а не разработчиками).

Выбор периода моделирования и размерности единицы времени

Период моделирования или временной горизонт в моделях Powersim по умолчанию составляет 100 единиц времени. При этом период моделирования начинается в момент времени 0 и заканчивается в момент времени 100. В большинстве случае период моделирования выбирается так, чтобы можно было отследить переход моделируемой системы из одного состояния в другое, а также начальное и конечное состояние. Например, в классической модели Дж. Форрестера "Мировая динамика" период моделирования составляет 200 лет, а начальный и конечный моменты времени равны соответственно 1900 и 2100 лет. За этот период можно отследить не только переходные процессы в моделируемой системе, но начальное и конечное состояния. Установка начального (Start Time) и конечного (Stop Time) моментов времени осуществляется через диалоговое окно Simulation Setup (Установки моделирования), как показано на рис. 1.24.

Рисунок 1.24 Часть окна диалога Simulation Setup (Установки моделирования) для выбора начального и конечного моментов интервала моделирования

Выбор размерности единицы времени (час, день, неделя, месяц, год и др.) производится сначала через диалоговое окно Edit Define Unit (Правка единиц размерности) путем добавления новой единицы размерности, а затем – через диалоговое окно Simulation Setup (Установки моделирования) путем выбора соответствующей размерности из выпадающего списка Time Unit (Единица времени). Выбранная единица времени по умолчанию будет отражаться на всех графиках со временем по оси абсцисс.

27

Выбор метода и шага интегрирования (моделирования)

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

Если требуется более высокая точность вычислений, то следует использовать методы Рунге-Кутта 2-го, 3-го и 4-го порядка с постоянным или переменным шагом. В Powersim переменный шаг интегрирования можно установить только для метода Рунге-Кутта 4-го порядка. Точность этих методов пропорциональна соответственно шагу моделирования в квадрате, кубе и в четвертой степени, а переменный шаг позволяет уменьшать шаг на интервалах, где переменная меняется быстро, и увеличивать его на интервалах, где переменная меняется медленно. Алгоритмы работы указанных методов интегрирования можно пояснить при помощи следующей простой модели:

L

F

Рисунок 1.25 Потоковая диаграмма для иллюстрации методов интегрирования

описываемой следующим образом:

init

L = 0

flow

L

=

+dt*F

aux

F

=

f(L)

В данной системе уравнений L, F – соответственно значения переменных уровня и темпа в момент времени t, f – функция, определяющая зависимость F от L. Тогда имеем следующие алгоритмы интегрирования:

Метод Эйлера

Шаг 1: Вычисление значения переменной темпа F в момент времени t = T FT = f(LT),

где f – функция, определяющая зависимость FT от LT.

Шаг 2: Вычисление значения переменной уровня L в момент времени t = T + t на основе имеющихся значений переменных уровня и темпа в предыдущий момент времени

LT+ t = LT + t * FT,

где t – шаг интегрирования. Таким образом, в методе Эйлера используется информация о значении переменной темпа (т.е. производной функции L по времени) в одной, а именно, начальной точке временного интервала [T, T+ t].

Метод Рунге-Кутта 2-го порядка с постоянным шагом

Шаг 1: Вычисление значения переменной темпа F в двух точках интервала [T, T + t] в моменты времени t = T и t = T + 3/4* t

F1T = f(LT)* t, F2T+3/4* t = f(LT +F1T)* t,

где f – функция, определяющая зависимость F от L, а t – шаг интегрирования.

Шаг 2: Получение оценки 2-го порядка значения переменной уровня L в момент времени t = T + t на основе средневзвешенного значений F1 и F2 (временные индексы для простоты записи опущены).

LT+ t = LT + 1/3*F1 + 2/3*F2.

28

Метод Рунге-Кутта 3-го порядка с постоянным шагом

Шаг 1: Вычисление значения переменной темпа F в трех точках интервала [T, T + t] в моменты времени t = T, t = T + 1/2* t и t = T + 3/4* t

F1T = f(LT)* t, F2T+1/2* t = f(LT + 1/2*F1)* t,

F3T+3/4* t = f(LT + 3/4*F2)* t,

где f – функция, определяющая зависимость F от L, а

t – шаг интегрирования.

Шаг 2: Получение оценки 3-го порядка значения переменной уровня L в момент времени t = T + t на основе средневзвешенного значений F1, F2 и F3.

LT+ t = LT + 2/9*F1 + 3/9*F2 + 4/9*F3.

Метод Рунге-Кутта 4-го порядка с постоянным шагом

 

Шаг 1: Вычисление значения переменной темпа F в четырех точках интервала [T, T +

t],

а именно по одному разу в моменты времени t = T, t = T + t и два раза в точке t = T + 1/2*

t

F1T = f(LT)* t, F2T+1/2* t = f(LT + 1/2*F1)* t,

 

F3T+1/2* t = f(LT + 1/2*F2)* t, F4T+ t = f(LT + F3)* t,

 

где f – функция, определяющая зависимость F от L, а t – шаг интегрирования.

 

Шаг 2: Получение оценки 4-го порядка значения переменной уровня L в момент времени t = T + t на основе средневзвешенного значений F1, F2, F3 и F4.

LT+ t = LT + 1/6*F1 + 2/6*F2 + 2/6*F3 + 1/6*F4.

Метод Рунге-Кутта 4-го порядка с переменным шагом

 

Шаг 1: Вычисление значения переменной темпа F в четырех точках интервала [T, T +

t],

а именно по одному разу в моменты времени t = T, t = T + t и два раза в точке t = T + 1/2*

t

F1T = f(LT)* t, F2T+1/2* t = f(LT + 1/2*F1)* t,

 

F3T+1/2* t = f(LT + 1/2*F2)* t, F4T+ t = f(LT + F3)* t,

 

где f – функция, определяющая зависимость F от L, а t – шаг интегрирования.

 

Шаг 2: Получение оценки 4-го порядка значения переменной темпа F на основе средневзвешенного значений F1, F2, F3 и F4.

С4 = 1/6*(F1 + 2*F2 + 2*F3 + F4).

Шаг 3: Получение оценки 3-го порядка значения переменной темпа F на основе средневзвешенного значений F2 и F3.

С3 = 1/3*(F2 + 2*F3).

Шаг 4: Вычисление ошибки оценок 3-го и 4-го порядка значения переменной темпа F E = ABS(C4 – C3),

где ABS – функция, значение которой равно абсолютному значению выражения C4 – С3. Шаг 5: Вычисление пределов приемлемой ошибки

A = AbsError + ABS(RelError*C3),

где AbsError, RelError – соответственно величины абсолютной и относительной ошибок, задаваемые пользователем в диалоговом окне Simulation Setup (Установки моделирования).

Шаг 6: Повторение шагов 1-5 с уменьшающимся шагом интегрирования t, если хотя бы для одной из переменных уровня выполнено условие E > A. Максимальное число, определяющее количество этапов дробления шага интегрирования, по умолчанию равно 3 и записано в файле

POWERSIM.INI в строке VariableStepLimit=3 раздела [SimulationEngine].

Шаг 7: Получение оценки 4-го порядка значения переменной уровня L в момент времени t = T + t.

LT+ t = LT + C4.

29

Соседние файлы в папке Моделирование