Д.В. Павлов, Д.С. Петров
6
Инженерный журнал: наука и инновации
# 8·2016
чиком библиотеки стандартных элементов и в меньшей — разработчи-
ком конкретной модели при задании связей между параметрами со-
ставных частей какого-либо компонента.
При подготовке работ [10, 11] разработка стандартных элементов
проводилась в два этапа. На первом этапе разрабатывались модели
ФВ, включая классы фрагментов, связи между фрагментами по
одному и тому же ФВ и связи между фрагментами, моделирующими
различные ФВ, входящие в состав одной ПМ, на втором — модели
элементов, т. е. компоненты. Каждый компонент содержал в себе
вложенную структуру ПМ, ОС и компонентов низшего уровня
иерархии, а также алгоритмически оформленные зависимости между
параметрами вложенных элементов.
Для каждого класса фрагментов разработан перечень параметров,
содержащий ВС фрагмента, и подпрограммы, реализующие зависи-
мости между компонентами ВС. Подпрограммы разделены на три
группы: обеспечивающие решение явных алгебраических уравнений,
неявных алгебраических уравнений и обыкновенных дифферен-
циальных уравнений первого порядка, соответственно имеющих
следующий вид:
(
)
1
,
0;
i
i
i
N
i
f
y f y y
y
∂
= … =
∂
(1)
(
)
1
0;
j
N
F y y
… =
(2)
(
)
k
1
.
k
N
y g y y
= …
(3)
Здесь
( 1, ..., )
p
y p
N
=
— компоненты ВС;
,
i
f
,
j
F
k
g
— заданные
функции.
Для осуществления расчетов разработаны подпрограммы, вычис-
ляющие значения функций
,
i
f
,
j
F
k
g
для заданного ВС
1
... ,
.
,
N
y
y
Явные алгебраические и дифференциальные уравнения вида (1) и (3)
решались путем соответствующего изменения значений компонентов
ВС и
, а для решения неявных алгебраических уравнений (2)
использовалась стандартная реализация алгоритма Бройдена —
Флетчера — Гольдфарба — Шанно (BFGS) (см., например, [12]) из
библиотеки SciPy. На ее вход подавался вектор невязок
(
)
1
,
...,
j
j
N
F y
y
δ =
, рассчитанный с помощью разработанных подпро-
грамм, на выходе алгоритм выдавал коррекцию ВС;
j
F
— компоненты
вектора
.
F
Общая схема работы алгоритма расчета всей модели приведена
на рис. 2.