Table of Contents Table of Contents
Previous Page  10 / 15 Next Page
Information
Show Menu
Previous Page 10 / 15 Next Page
Page Background

Д.В. Павлов, Д.С. Петров

10

Инженерный журнал: наука и инновации

# 8·2016

подпрограммы, обобщающие значения этих переменных. Так, для узла

электрической цепи требуется подпрограмма, суммирующая все токи в

присоединенных резисторах. Для ранее разработанных моделей [10–11]

потребовались обобщающие подпрограммы, выполняющие суммиро-

вание всех элементов массива и суммирование только положительных

элементов массива.

Формирование единой подпрограммы для вычисления вектора

( )

,

f y

 

служащей для решения явных алгебраических уравнений,

реализовано следующим образом. Алгоритм анализа структуры модели

составлял массивы

,

i

Ψ

содержащие индексы переменных в едином

массиве переменных, передаваемые в каждую расчетную подпро-

грамму. Подпрограмма для вычисления вектора

( )

f y

 

осуществляла

вызов всех подпрограмм этого типа

( )

,

i

f

передавая на вход каждой

выборку из общего массива переменных в соответствии с массивами

индексов

.

i

Ψ

Переменные, рассчитанные подпрограммами

( )

,

i

f

объединялись в общий массив согласно массивам индексов

,

i

Ψ

который использовался для дальнейших вычислений (рис. 5).

Рис. 5.

Организация вычислений в новой версии расчетного ПО:

ВС всей системы хранится в едином массиве ; при вычислениях используются специальные

массивы

,

k

Ψ

содержащие индексы параметров, подаваемых на вход функций

k

f

и возвращаемых этими функциями

Единые подпрограммы

( )

F y

 

и

( )

,

g y

 

служащие для решения

неявных алгебраических и обыкновенных дифференциальных урав-

нений, были реализованы аналогично. Для обеспечения возможности

отладки модели и вывода переменных на внешние средства