Научно-технический журнал
12. Хайруллин Р. З. Оптимизация процессов эксплуатации и обновления парка измерительной техники / Р. З. Хайруллин // Измерительная техника. - 2022. - № 8. - С. 28-34.
13. Хайруллин Р. З. Диффузионная модель дрейфа метрологических характеристик измерительной техники / Р. З. Хайруллин // Научно-технический вестник Поволжья. - 2022. - № 12. - С. 79-82.
14. Азарсков В. Н. Надежность систем управления и автоматики / В. Н. Азарсков, В. П. Стрельников. - Киев : НАУ, 2004. - 64 с.
16. Казаков В. А. Введение в теорию марковских процессов и некоторые задачи радиотехники / В. А. Казаков. -Москва : Советское радио, 1973. - 232 с.
17. Колмогоров А. Н. Аналитические методы теории вероятностей / А. Н. Колмогоров // Успехи математических наук. - 1938. - Вып. V. - С. 5-41.
18. Араманович И. Г. Уравнения математической физики / И. Г. Араманович, В. И. Левин. - Москва : Наука, 1969. - 288 с.
© Р. З. Хайруллин
Ссылка для цитирования:
Хайруллин Р. З. К построению функции плотности распределения вероятности безотказной работы контрольно-измерительных приборов // Инженерно-строительный вестник Прикаспия : научно-технический журнал / Астраханский государственный архитектурно-строительный университет. Астрахань : ГАОУ АО ВО «АГАСУ», 2023. № 2 (44). С. 128-133.
УДК 539.3+004.021+004.94
DOI 10.52684/2312-3702-2023-44-2-133-140
АЛГОРИТМ БЫСТРОГО ЧИСЛЕННОГО ИНТЕГРИРОВАНИЯ В ЗАДАЧАХ УСТОЙЧИВОСТИ ОБОЛОЧЕЧНЫХ КОНСТРУКЦИЙ
В. Ю. Шаранин, А. А. Семенов
Шаранин Виталий Юрьевич, аспирант, Санкт-Петербургский государственный архитектурно-строительный университет, г. Санкт-Петербург, Российская Федерация, тел.: +7 (812) 575-05-49; email: [email protected];
Семенов Алексей Александрович, кандидат технических наук, доцент, заведующий кафедрой информационных технологий, Санкт-Петербургский государственный архитектурно-строительный университет, г. Санкт-Петербург, Российская Федерация, тел.: +7 (812) 575-05-49; email: [email protected]
В работе предложен алгоритм реализации численного интегрирования в задачах расчета тонкостенных оболочечных конструкций. В основе исследования используется геометрически нелинейная математическая модель типа Тимошенко - Рейснера, учитывающая ортотропию материала, поперечные сдвиги и возможность расчета конструкций разных форм (пологих оболочек двоякой кривизны, цилиндрических и конических панелей и др.). Модель записана в форме функционала полной потенциальной энергии деформации оболочки. К модели применяется метод Ритца для сведения вариационной задачи о минимуме функционала к решению системы нелинейных алгебраических уравнений. В процессе формирования системы возникает необходимость вычисления большого количества интегралов. Предлагается, выделив среди них повторяющиеся, записывать значения в базу данных, что позволяет достигнуть высокой производительности по сравнению с обычным вариантом расчета. Программная реализация выполнена на языке Python. Приведены примеры исследования пологой оболочки двоякой кривизны на устойчивость.
Ключевые слова: оболочки,устойчивость, алгоритм, интегрирование, Python, хэш, быстродействие, нелинейная задача.
ALGORITHM FOR FAST NUMERICAL INTEGRATION IN PROBLEMS OF BUCKLING OF SHELL STRUCTURES
V. Yu. Sharanin, A. A. Semenov
Sharanin Vitaliy Yuryevich, postgraduate student, St. Petersburg State University of Architecture and Civil Engineering, St. Petersburg, Russian Federation, phone: +7 (812) 575-05-49; email: [email protected];
Semenov Aleksey Aleksandrovich, PhD in Tech. Sci., Associate Professor, Head of Department of Computer Science, St. Petersburg State University of Architecture and Civil Engineering, St. Petersburg, Russian Federation, tel.: +7 (812) 575-05-49; email: [email protected]
The paper proposes an algorithm for the implementation of numerical integration in the problems of calculating thin-walled shell structures. The study is based on a geometrically nonlinear mathematical model of the Timoshenko-Reissner type, which takes into account the orthotropy of the material, transverse shifts and the possibility of calculating structures of various shapes (double-curved shallow shells, cylindrical and conical panels, etc.). The model is written
in the form of a functional of the total potential energy of the shell deformation. The Ritz method is applied to the model to reduce the variational problem of the minimum of the functional to the solution of a system of nonlinear algebraic equations. In the process of system formation, it becomes necessary to calculate a large number of integrals. It is proposed, having singled out the repeating ones among them, to write the values to the database, which makes it possible to achieve high performance compared to the usual calculation option. The software implementation is made in Python. Examples of buckling studies of a shallow shell of double curvature are given.
Keywords: shells, buckling, algorithm, integration, Python, hash, speed, nonlinear problem.
Введение
Оболочечные конструкции широко используются практически во всех отраслях промышленности: в судо- и самолетостроении, в гидротехнике, в объектах АЭС, в мостостроении, при возведении самых разнообразных промышленных, сельскохозяйственных и гражданских объектов [1-3], в дорожном и подземном строительстве, в горнодобывающей и перерабатывающей промышленности.
Одной из наиболее важных задач, связанных с обеспечением безопасной работы оболочеч-ных конструкций, является анализ их устойчивости [4-7]. Поэтому нахождение значений критических нагрузок, при которых оболочка резко проваливается, и очагов концентрации напряжений является актуальной задачей.
Потеря устойчивости оболочки связана с возникновением больших деформаций, которые возможно исследовать, учитывая геометрическую нелинейность [8-11]. В результате это приводит к необходимости выполнения ресурсоемких вычислений [12-14], как в отношении решения нелинейных систем уравнений, так и в отношении численного интегрирования.
Целью данной работы является разработка наиболее эффективного по времени расчета алгоритма численного интегрирования применительно к задаче анализа устойчивости оболо-чечной конструкции.
1. Теория и методы
1.1. Математическая модель
Математическая модель деформирования оболочечной конструкции состоит из трех групп соотношений: геометрических, связывающих деформации и перемещения; физических, связывающих напряжения и деформации; функционала полной потенциальной энергии деформации оболочки.
Деформации в координатной поверхности оболочки выражаются через перемещения и, V, Ш вдоль осей х, у, г (с учетом геометрической нелинейности) следующим образом: 1ди 1 дА 1 ,
^ =-— + —V—-kxW+-в1í■,
А дх АВ ду ldV 1 дВ
ВдУ + АВ дХ
Ev =-— + — U—-kvW + -e22,
1 dV , 1 T.dU 1 ..дА 1 дБ.. , _ _
Yxv=~ir + -V----U-----~V + eie2, (1)
,ху А дх Б ду АБ ду АБ дх 12 J
кх = ±, ку=±
х V У п2' где и — и(х,у), V — V(x,y), Ш — Ш(х,у) -неизвестные функции перемещений; ех,еу - деформации удлинения вдоль координат х, у срединной поверхности; уху,ух2,уу2 - деформации сдвига в плоскостях xOy.xOz.yOz соответственно. Деформации для слоя, отстоящего от срединного на расстояние , тогда будут выражаться соотношениями:
£Х = £х+ гх1 £у = £у+ 2X2 У^у = Уху + 22X12, (2) где функции изменения кривизны Х\> Х2 и кручения х12 принимают вид:
Х1 А дх + АВ ду ^у. Х2 В ду + АВ дх х (3)
_1 1дУу 1дУу 1 /дА дВ
1 /дА
д В
2\А дх В дх АВКду
))
где 1¥х — 1¥х(х,у), Уу — Фу(х,у) - неизвестные функции углов поворота нормали (таким образом, в математической модели присутствует 5 неизвестных функций).
Усилия Мх,Му, Nху,Nух, моменты Мх,Му, Мху,Мух и поперечные силы Qх, Qу, приходящиеся на единицу длины сечения и приведённые к координатной поверхности:
N = Eh
. е х +ц21е y )-Ny =--2-(6 y +ц12е ^ )
1 -Hi2^2i y y 1-Н-12Н-21 y
Nxy = Nyx = G12 hY ^, Mx h3 (%1 +Ц21Х2 )'
1 — ^21 12
Eh
(б y +Ц126 x )'
E2 h\ ч
My =,-2-тттШ + Ц12Х1)'
y 1 — M-12^21 12
(4)
Му = Мх = 012 ^Х12, вх = Сп^х-9),
бу = С23к^у -92 ),
где Е1,Е2 - модули упругости в направлениях х, у; в12,С13,С23 - модули сдвига в плоскостях xOy.xOz.yOz соответственно; ^2, ^21 - коэффициенты Пуассона. В случае изотропного материала необходимо принять Е1 — Е2 — Е, ^12 — ^21 — ^, в12 — в13 — в23 — в. Функционал полной потенциальной энергии деформации оболочки, представляющий собой разность потенциальной энергии системы и работы внешних сил, будет иметь вид:
Es = Ev А,
= 1/- fi [Nx£x + Ny£y +1 (N*y + Nyx)Yxy + M*Xl + MyXj + (Mxy + Myx)Xl2
+(¿ЛУХ - вг) + (у(^у - в2)]АВйхйу, А = !аХчПАВс1хс1у. 1.2. Численные методы Для выполнения расчетов, уравнения равновесия, которые представляют в совокупности систему дифференциальных уравнений в частных производных, можно не находить. Для определения неизвестных функций можно применить к функционалу полной потенциальной энергии деформации метод Ритца.
Метод Ритца позволяет свести вариационную задачу о нахождении минимума функционала к решению системы нелинейных алгебраических уравнений. Согласно этому методу, неизвестные функции и(х,у), У(х,у), Ш(х,у), 1Рх(х,у),1Ру(х,у), аппроксимируются в виде [15]:
+
(6)
W(x,y) =
k=1 1 = 1 n
%(x,y)
k=11=1 n n
VyOc.y)
(7)
k
'Xkl Л4 r4
y k
лку}
Xkl
k=11=1
где иы, Vki, Wki, t вые параметры^ — ЛY} — Y*
y k
искомые число-
известные ап-
U(x,y)=^^
ukl
г - ^ 15
проксимирующие функции, которые удовлетворяют краевым условиям на контуре оболочки.
Предположим, что конструкция обладает симметрией относительно середины осей л и у. Тогда в качестве аппроксимирующих функций для шарнирно-неподвижного закрепления будем использовать следующие тригонометрические функции:
Лk = sin ( (2k — ), Л3 = sin ( (2k — 1)пХ--1),
x-a-a—a-
Лk = sin(2knx-a-),
1 \ a—a-/
Yj = sin(2lny), Yj = sin ((21 —liny], Yi = sin((2l — liny], Y^ = cos ((21 — liny].
Л% = cos |
Согласно методу Ритца, аппроксимирующие функции подставляются в функционал и находятся производные по неизвестным параметрам. Полученные выражения приравниваются к нулю. В результате получается система нелинейных алгебраических уравнений [15].
2. Алгоритм и программная реализации
Основные этапы вычислительного алгоритма включают в себя:
1) составление функционала полной потенциальной энергии деформации для рассматриваемой задачи;
2) поэлементное вычисление интегралов и запись результатов в словари;
3) нахождение вектора-градиента и матрицы Гессе;
4) выполнение итерационного процесса метода Ньютона;
5) построение графиков и сохранение их в файл.
Основная идея предлагаемого подхода заключается в разбиении полученного в ходе подстановки аппроксимации выражения на отдельные слагаемые, каждое из которых является двойным интегралом. Результаты вычисления этих интегралов предлагается сохранять в базе данных - поскольку тригонометрические функции разных аргументов будут повторяться, исчезнет необхо-
(8)
димость в их повторном вычислении, что дает значительный прирост в производительности ПО. Далее это будет показано на конкретном примере.
Входные параметры конструкции
Рассмотрим пологую оболочку двоякой кривизны (параметры Ляме А = 1, В = 1, радиусы главных кривизн R1 = const, R2 = const, рис. 1). Линейные размеры вдоль осей координат а =
b = 5.4 м, толщина h = 0.01 м, радиусы кривизны R1 = R2 = 20.25 м, материал - сталь с модулями упругости Е1= Е2 = 2.1 • 105 МПа и коэффициентами Пуассона ц12 = ^21 = 0.3.
Рис. 1. Пологая оболочка двоякой кривизны
Поэлементное вычисление интегралов и запись результатов в словари. Для примера возьмем минимально возможное число неизвестных (пять), т.е. примем N = 1. После подстановки (8) в (7), а (7) в (6), получим выражение:
k
k=11=1
k=1 1 = 1
a b г
JJ[0.031u4 sin(1.164x)4 sin(0.582y)4 +0.031 v4 sin(1.164x)4 sin(0.582y)4 +
0
x I2 +
0.036v2и2 sin(1.164x)2sin(1.164y)2sin(0.582y)2sin(0.584x)2 + 0.679 y 21 cos (0.582 y )2 cos (0.582 x)2 + 0.679 y ^ j cos (0.582 y )2 cos (0.582 x) 0.853 wuv 2 m jsin (1.164 x )sin (1.164 y )2sin (0.582 y )2sin (0.582 x )2cos(0.582 x) + 0.853 w i V M 2 sin (1.164 x )2 sin (1.164 y )sin (0.582 y )2 cos (0.582 y )sin (0.582 x)2 + 1.357 y yi xl jcos(0.582 y )2cos(0.582 x )2 + +1.455 wM 3sin (1.164 x)3 sin (0.582 y )4cos(0.582 x) + 1.455 w jvfjsin (1.164 y )3 cos(0.582 y )sin (0.582 x )4 + +1005.236 и „sin (1.164 x)2cos(0.582 y )2 + ...[58 слагаемых ]... -
- 76.612 w 2 и ^in (1. 164 x )sin (0.582 y )3 sin (0.582 x)cos(0.582 x) -
- 76.612 w 2 v jsin (1.164 y )sin (0.582 y )cos(0.582 y )sin (0.582 x )3 \dydx .
(9)
В общей сложности, под знаком интегралов получилось 71 слагаемое. При повышении точ-
притом каждый раз на их вычисление затрачивается машинное время. В предлагаемом алго-
порядки (табл. 1).
Таблица 1
ности расчетов, их количество увеличивается на ритме расчета заложено отслеживание одинаковых подынтегральных выражений.
Для реализации алгоритма был выбран язык Python. Кроме того, учитывались правила вычисления интегралов, которые, в свою очередь, вытекают непосредственно из правил вычисления производных:
J kf(x)dx = k J f(x)dx,
Количество слагаемых в зависимости от числа N
n = VN N Количество элементов
1 1 71
2 4 3561
3 9 56874
4 16 467236
5 25 2524375
При детальном рассмотрении выражения (9) видно, что разные сочетания аппроксимирующих функций и их производных повторяются,
j f(x) + g(x)dx = J f(x)dx + J g(x)dx,
j f(x) — g(x)dx = j f(x)dx — j g(x)dx.
Применяя данные правила, выражение можно привести к виду:
J-a rb ra rb
sin(1.164x)4 dx j sin(0.582y)4 dy + 0.031v41 j sin(1.164x)4 dx j sin(0.582y)4 dy +
a1 Jo Ja1 Jo
ra rb
+ 0.036v:21u^1 j sin(1.164x)2 sin(0.584x)2dx j sin(1.164y)2sin(0.582y)2 dy +
Ja1 Jo
J ra rb ra rb
cos(0.582x)2dx j cos(0.582y)2dy + 0.679ipy^ j cos(0.582x)2dx j cos(0.582y)2dy +
a1 'o 'a1 'o
J-a rb
sin(1.164x)sin(0.582x)2cos(0.582x)dx j sin(1.164y)2sin(0.582y)2dy +
a1 Jo
J-a rb
sin(1.164x)2sin(0.582x)2dx j sin(1.164y)sin(0.582y)2cos(0.582y)dy +
a1 Jo
J-a rb
cos(0.582x)2 dx j cos(0.582y)2 dy +
a1 Jo
J-a rb
sin(1.164x)3 cos(0.582x) dx j sin(0.582y)4 dy +
a1 Jo
J ra rb
sin(0.582x)4 dx j sin(1.164y)3 cos(0.582y) dy +
a1 Jo
J ra rb
sin(1.164x)2 dx j cos(0.582y)2 dy+...[ 58 слагаемых ]... —
a1 Jo
Научно-технический журнал i
JrU rD
sin(1.164x)sin(0.582x)cos(0.582x)dx I sin(0.582y)3dy -
a1 Jo
J-a rD
sin(0.582x)3dx I sin(1.164y)sin(0.582y)cos(0.582y)dy.
a1 0
При обработке подынтегральных выражений, программа определяет одинаковые. Их количество представлено в таблице 2.
При п = 1 надо вычислить 71 интеграл, но программа рассчитает лишь 23 и запишет их в
словарь (diet) в виде ключ/значение (key/value), где ключом выступит сам интеграл, а значением ключа будет результат его вычисления.
Таблица 2
Количество повторений подынтегральных выражений
Подынтегральное выражение Кол-во повторений Подынтегральное выражение Кол-во повторений
sin(1.164x)sin(0.582x)cos(0.582x) 5 sin(1.164x)2sin(0.582x)2 3
sin(0.582x)2sin(1.164x)cos(0.582x) 3 sin(1.164x)3cos(0.582x) 1
sin(1.164x)cos(1.164x)cos(0.582x) 1 sin(1.164x)2cos(1.164x) 1
cos(0.582x)3sin(1.164x) 1 cos(0.582x)2 7
sin(1.164x)2cos(0.582x)2 1 sin(0.582x)3 6
sin(1.164x)cos(0.582x) 3 sin(0.582x)2 12
cos(0.582x)2sin(0.582x) 4 sin(0.582x)4 5
sin(1.164x)2sin(0.582x) 4 cos(0.582x)4 1
cos(1.164x)sin(0.582x) 2 cos(1.164x)2 1
sin(0.582x)2cos(1.164x) 3 sin(1.164x)2 2
sin(0.582x)2cos(0.582x)2 3 sin(1.164x)4 1
cos(0.582x)2cos(1.164x) 1
Примечание: аналогично для y.
которых вычисляются с помощью хэш-функций. Цель хэш-функции - равномерно распределить ключи в массиве. Хорошая хэш-функция минимизирует количество коллизий, то есть вероятность того, что разные ключи будут иметь один хэш [16, 17]. Пример записи словаря:
Порядок элементов в словаре не имеет значения, так как поиск происходит не методом перебора (смещения), а с помощью связанного с элементом уникального ключа (хэш). Словари в Python реализуются с помощью хэш-таблиц, представляющие собой массивы, индексы
Dict_x = jsm(0.582х)2 :2.70000228 0, ^(0.582х)2 :2.69999771 94, sin(1.164х)2 : 2.70000228 0, cos(1.164x)2 :2.69999771 9, sin(1.164х)4 : 2.02500171 04, sin(0.582х)4 : 2.02500171 04, cos(0.582x)4 : 2.02499714 9, sin(0.582х)3 : 2.29183311 6, sin(1.164х)2^(1.164х): -5.1020901 199e -17,
^(0.582х)^т(0.582х) : 1.14591655 81, sin(1.164х)^(0.582х) : 2.29183311 63, ^(1.164х>т(0.582х) : -1.1459165 581, sin(1.164х)^т(0.582х) : 1.83346649 3, sin(1.164х)3^(0.582х) : 1.57154270 83,^(0.582х)2^(1.164х) : 1.34999657 9, sin(1.164х)2^(0.582х)2 : 1.35000114 0, ^(0.582х)^т(1.164х) : 1.37509986 97, sin(0.582х)2^(0.582х)2 : 0.67500057 01, sin(0.582х)2^(1.164х) : -1.3500011 40, sin(1.164х)^т(0.582х)2 : 1.35000114 , sin(1.164x)cos(1.164x)cos(0.582x): 0.45836662 32: sin(1.164x)sin(0.582x)cos(0.582x): 1.35000114 02, sin(0.582x)2sin(1.164x)cos(0.582x): 0.91673324 65}
Таким образом, при обнаружении повторяющихся интегралов, программа будет автомати-
чески заменять их на значение, соответствующее ключу в словаре, и выражение примет вид:
Esf = 15.3238252 7068 у
ухи + 756.305567 2161unу + 756.305567 2161 vху+
2 1 1 «тип тт ..2 ,
yn Y Х11
У11
+16356.9230 7698- 11.4507219 2272 vnuП -11.4507219 2272 v2 un + + 0.03297814 3009v^u2 +10496.8375 8749w1 ^ +10496.8375 8749 wnу + + 5240.00442 6065 wnun + 826.809547 9374 wnu2 + 2.31538204 8877wnuh + + 5240.00442 6065 wnvn + 826.809547 9374w^i + 2.31538204 8877 w^i + +11541.4806 4747w^lull +37.4366998 2147w^u^ +11541.4806 4747w^ + + 37.4366998 2147w^ + 317.801618 1330w^un +317.801618 1330w^vn -- 578.257591 1920 wnvnun +0.52764984 2471 w^u^ +0.52764984 2471 wnv'2lun + + 8.44239034 856w2vnun +9041.14378 5527 ух2 +9041.14378 5527 уу2 + + 106177.957 0421 u2 - 3.44553938 6687e -15u3 + 0.06331128 137574 u4 + +106177.957 0421 v^ - 3.44553938 6687e -15v^ + 0.06331128 137574 v^ + + 6586.80821 7635w^ -1185.18518 5178w^ +2597.93445 7778wn4.
1 8002 7d71 0028 6373 796d 7B79 2e63 6f72 19 8171 1228 500b 00B0 0063 6f6d 6d75 7461
2 652e 706f 7765 72Эа 506f 77Эа 7101 6373 20 7469 7665 7113 8S58 0400 0000 7a65 726f
3 796d 7079 2e66 756e 6374 696f 6e73 2e65 21 7114 4a58 0B00 0000 706f 7369 7469 7665
4 6c65 6d65 6e74 Б172 792e 7472 6967 6f6e 22 7115 4г58 0600 0ЭЭЭ 6669 6e69 7465 7116
5 6f6d 6574 7269 63Эа 7369 беЭа 7102 6373 23 4eS8 080Э 0000 6a65 6761 7469 7665 7117
6 796d 7079 2e63 Sf72 652e 6d75 6c0a 4d75 24 4eS8 1100 0000 6578 7465 6e64 6564 5f6e
7 6с0э 71G3 6373 796d 7079 2e63 6f?2 SS2e 25 6567 6174 6976 6571 lB4e SB11 0000 0065
8 £e75 6d62 6S72 730a 466c Sf61 740a 7104 36 7874 656e 6465 645f 706f 7369 7469 7665
9 284b 0958 0a00 0000 3134 3162 3265 3539 27 7119 4a58 1400 0000 6S78 7465 6a64 6S64
10 6166 3965 6266 7105 4ac9 ffff -f4b 3574 28 5f6e 6f6e 706f 7369 7469 7665 711a 4»58
11 7106 8571 07S2 7108 7d71 0958 0500 000Э 29 1400 6000 6578 7465 6e64 6564 5f6e 6f6e
12 5f70 7265 6371 0a ib 3573 S263 7379 6d70 30 6e65 6761 7469 7S65 711b 4e58 0800 0000
13 792e 636f 7265 2=73 796d 526f 6c0a 5379 31 696e 6669 6e69 7465 711c 4e58 0d00 0000
14 6d62 6f6c 0a71 0Ь58 0100 0000 7871 0c85 32 616e 7469 6865 726d 6974 6961 6e71 ld4e
15 710d 5271 0e7d 713f 580c 0000 005f 6173 33 5309 00Э0 0068 6572 6d69 7469 616e 711e
16 7375 6d70 7469 6f6e 7371 1063 7379 6d70 34 4e58 07ЭЭ 0000 636f 6d70 6c65 7871 lf4e
17 792e 636f 7265 2e61 7373 756d 7074 696f 35 5809 0009 0069 6d61 6769 6e61 7279 7120
18 6e73 0a53 7464 4661 6374 4Ь42 0a71 1129 36 4e58 0d00 0000 6578 7465 6e64 6564 5f72
Рис. 2. Пример записи в файл с применением модуля Pickling
1570795 *х)* «2:10.000008446645785 1570795*х)»*4:7.50000633498434 1570795«х)*«2:9.999991553354215 314159»х)«*2:9.999991553354214 1570795«x)«cos(0.1570795»х)""2:4.244135400629273 1570795«x)**2*cos(0.314159«x):4.999987330031323 314159*x)*cos(0.1570795*x>:8.488270801258546 1570795*х)**4:7,499989441692769 1570795»x)-*2«cos(0.314159*x):-5.000004223322891 1570795»x)'cos(0.314159"):): -4.244135400674099 1570795*>c)«»2-cos<0.1570795">t)-"2:2.S000021116S1446 157079S'x)«sin(0.314159»x)«cos(0.157079S«x):5.№0004223322892 157079S«x) "3:8.488270801303374 Э14159'х)*«2:10.00000844664578Б 58177592S92S926«x)»«2:2.6999977194056384 581775925925926**)**3:2.291333116351911 581775925925926«*)««4:2.024997149257048
l&355185185185»x)»cos(e.581775925925926«x)«',3:1.3750998697990493 16355185185185»x)»«2*cos(0.581775925925926*x)«*2:1.350001140297186 581775925925926*x)»«2:2.700002280594362
581775925925926*x)*cos{0.581775925925926*x)**2:1.1459165581699038 581775925925926*x)**2*cos(l. 16355185185185*x):1.349996579108452 581775925925926*x)«*2*sin(l.16355185185185*x)«*2:1.35000114029718 163551851SS185*x)**3«cos(0.581775925925926*x):1.5715427083556006 581775925925926«x)«*2*a>s(0.581775925925926,x)'*2:0.6750005701485904 581775925925926*x)*sin{1.16355185185185*x)*»2:1.833466493081529
581775925925926*x)*sin{l.16355185185185*x)*cos(0.5S1775925925926*x):1.3500011402971823 581775925925926«x)»cos{1.16355185185185«x):-1.1459165581820123
1635S18S185185*X)»CO5(0.581775925925926«x)«cos(l.16355185185185**):0.4583666232582795 16355185185185'x)>«2;2.699997719405631
58177S925925926,x),«2,sin(1.1635518S185185«x)*cos(0.5S1775925925926,x):0.9167332465407643 581775925925926-х) "2'cos(l-16355185185165-x):-1.350001140297184 16355185185185-x)'cos(0.581775925925926-x):2.2918331163398142 1635518518518S*x)**2:2.700002230S94367 581775925925926«x)»«4:2.0250017104457716
16355185185185"x)*«2*co5(l.1635518518S185«x):-5.1020901199431716e-17 16355185185185«x)»»4:2.0250017104457747
1570795«x)»i:os(0.314159«x)«cos(0.4712385»x):4.999987330031322
1570795*x)*bin(0.4712385*x)*cos(0.1570795«x)«cos(0.4712385«x):-2.5153490401663703s-16 1570795«x)*sin(0.4712385*x):-9.020562075079397e-16 1570795«x)""2«5ln(0.4712385"x}"«2:5.000004223322892 47123S5*x)*«2:10.000008446645783
Рис. 3. Пример записи в текстовый файл
1 sin 0
2 sin ;e
3 CDS ;e
4 CDS ;e
5 sin ;o
6 COS a
7 Sin 0
3 COS 0
9 sin 0
10 sin ;e
1 1 sin в
1? sin 0
13 sin 0
1-1 sin 0
15 COS 0
16 sin 0
17 cos 0
13 sin 1
19 sin 1
23 sin ;в
21 sin
22 CDS в
23 sin в
24 sin 1
25 sin ;в
26 sin !0
27 sin 0
23 sin 0
29 sin 1
53 COS 1
31 sin 0
V) sin 0
JJ sin '1
34 sin 1
35 sin в
36 sin 1
37 sin 1
33 COS ;в
39 sin |0
43 sin
41 sin
42 sin
Для ускорения данного процесса, расчет интегралов по переменной x и y происходит параллельно. Словарь также записывается в файл решенных интегралов, что в дальнейшем позволит подгружать этот файл в проект и производить многопоточную замену. При отсутствии интеграла в файле, он будет автоматически добавлен в него.
Для записи словаря в файл используется модуль pickle. Модуль pickle реализует алгоритм се-риализации и десериализации объектов Python. «Pickling» - процесс превращения объекта Python в поток байтов, а «unpickling» - обратная операция, в результате которой поток байтов преобразуется обратно в Python-объект. Так как поток байтов легко можно записать в файл, модуль pickle широко применяется для сохранения и загрузки сложных объектов в Python. Пример того, как словарь храниться в файле, показан на рисунке 2. Паралельно словарь записывается в текстовый файл для удобства прочтения (рис. 3).
Алгоритм можно представить в виде блок-схемы (рис. 4).
Рис. 4. Блок-схема алгоритма
На рисунке 5 показано сравнение времени выполнения расчета для рассматриваемой задачи:
Рис. 5. Время выполнения расчета
3. Расчеты
Результатом исследования оболочечной конструкции на устойчивость является график зависимости «нагрузка - прогиб», где критической нагрузке соответствует момент разрыва кривой (переход на новое равновесное
График прогиба = 1
состояние). Для указанной ранее пологой оболочки двоякой кривизны были получены следующие данные: при п = 1, п = 2 (рис. 6), п = 3 (рис. 7). На рис. 8 показано их сравнение друг с другом. Значения критических нагрузок потери устойчивости показаны в таблице 3.
f г i I
i t
ГУ
А t t ^ 4
i i
if I I 3 3 Г t
—l—l-— { t 3.2 If 11 ^. - ■** _.____ --------
j i
If Ji f I
ft » * j i
i i
г t T i J
0 0 0.1 0.2 0.3 0.4
Рис. 6. Графики «нагрузка - прогиб» при п = 1 и п = 2
График прогиба W
II ii i ij
_____■ t ii _ г ------- ii
f i >
I i 1
i" -------
- ч 1f____ -г:.--------- _____ — ------ W(a/2.b/2) N=9
к а i - W(a/2.0/2) N= 4 - W(a/4,0/4) N= 4 — waa.ba) N= i W la/4.6.4) N= 1
2.7
0.1 0.2 0.3 0.4
W.M
Рис. 7. График «нагрузка - прогиб» при п = 3
Таблица 3
Значения критических нагрузок потери устойчивости
п = *Jn qcr, МПа
1 3.19
2 2.86
3 2.86
Заключение
Снижение времени на обработку информации более чем в 100 раз является экономическим обоснованием для разработки эффективных алгорит-
О.ОО 0.05 0.10 0.15 0.20 0.25 0 30 0.35 0.40 0.45 W.M
Рис. 8. Сравнение кривых при разных п мов. В данной работе было предложено решение по снижению временных затрат при исследовании тонкостенных оболочечных конструкций.
Предложенный алгоритм на основе применения словаря вычисленных интегралов, хэш-функций и базы данных, реализованный в Python, может быть использован в задачах расчета тонкостенных оболочечных конструкций и дальнейших исследованиях.
Список литературы
1. Raeesi A. Failure analysis of steel silos subject to wind load / A. Raeesi, H. Ghaednia, J. Zohrehheydariha, S. Das // Engineering Failure Analysis. - 2017. - Vol. 79. - Pp. 749-761. - DOI 10.1016/j.engfailanal.2017.04.031.
2. Krivoshapko S. N. Shell structures and shells at the beginning of the 21st century / S. N. Krivoshapko // Structural Mechanics of Engineering Constructions and Buildings. - 2021. - Vol. 17, № 6. - Pp. 553-561. - DOI 10.22363/1815-5235-2021-17-6-553-561.
3. Селиванов А. В. Результаты экспериментальных исследований железобетонной плиты-оболочки / А. В. Селиванов, Ф. Ф. Ре-гер / / Вестник Сибирского государственного автомобильно-дорожного университета. - 2019. - Т. 16, № 3(67). - С. 378-392.
4. Панин А. Н. Устойчивость пологих железобетонных ребристых оболочек / А. Н. Панин / / Вестник гражданских инженеров. - 2012. - № 2(31). - С. 101-106.
5. Gavryushin S. S. Method of change of the subspace of control parameters and its application to problems of synthesis of nonlinearly deformable axisymmetric thin-walled structures / S. S. Gavryushin, A. S. Nikolaeva // Mechanics of Solids. - 2016. -Vol. 51, № 3. - С. 339-348. - DOI 10.3103/S0025654416030110.
6. Stupishin L. Numerical research orthotropic geometrically nonlinear shell stability using the mixed finite element method / L. Stupishin, K. Nikitin, A. Kolesnikov / / IOP Conference Series: Materials Science and Engineering. - 2017. - Vol. 201. - Pp. 012019. -DOI 10.1088/1757-899X/201/1/012019.
7. Алаева Д. Р. Методика исследования докритического и закритического деформирования оболочек при шарнирно-по-движном закреплении контура / Д. Р. Алаева, А. А. Семенов, В. В. Карпов // Инженерно-строительный вестник Прикаспия. -2020. - № 2 (32). - С. 49-53.
8. Stability analysis of acrylic glass pressure cylindrical shell considering creep effect / S. Xu и др. / / Thin-Walled Structures. -2022. - Vol. 181. - Pp. 110033. - DOI 10.1016/j.tws.2022.110033.
9. Wang J. Structural similitude for the geometric nonlinear buckling of stiffened orthotropic shallow spherical shells by energy approach / J. Wang, Z. L. Li, W. Yu // Thin-Walled Structures. - 2019. - Vol. 138. - Pp. 430-457. - DOI 10.1016/j.tws.2018.02.006.
10. Овчинников И. И. Коррозионно-механическое поведение оболочек вращения в силовом и температурном поле / И. И. Овчинников, В. С. Мавзовин // Инженерно-строительный вестник Прикаспия. - 2020. - № 1 (31). - С. 38-43.
11. Бадриев И. Б. Осесимметричные задачи о геометрически нелинейном деформировании и устойчивости трехслойной цилиндрической оболочки с контурными подкрепляющими стержнями / И. Б. Бадриев, М. В. Макаров, В. Н. Паймушин, С. А. Холмогоров / / Ученые записки Казанского университета. Серия: Физико-математические науки. - 2017. - Т. 159, № 4. - С. 395-428.
12. Згода Ю. Н. Высокопроизводительный расчет тонкостенных оболочечных конструкций с использованием параллельных вычислений и графических ускорителей / Ю. Н. Згода, А. А. Семенов // Вычислительные технологии. - 2022. - № 6. -С. 45-57. - DOI 10.25743/ICT.2022.27.6.005.
13. Kumar Y. The Rayleigh-Ritz method for linear dynamic, static and buckling behavior of beams, shells and plates: A literature review / Y. Kumar // Journal of Vibration and Control. - 2017. - Vol. 24. The Rayleigh-Ritz method for linear dynamic, static and buckling behavior of beams, shells and plates, № 7. - Pp. 1205-1227. - DOI 10.1177/1077546317694724.
14. Kalitkin N. N. Solving the Cauchy problem with guaranteed accuracy for stiff systems by the arc length method / N. N. Kalitkin, I. P. Poshivaylo // Mathematical Models and Computer Simulations. - 2015. - Vol. 7, № 1. - Pp. 24-35. - DOI 10.1134/S2070048215010044.
15. Карпов В. В. Прочность и устойчивость подкрепленных оболочек вращения : в 2 ч. / В. В. Карпов. - Ч. 1. Модели и алгоритмы исследования прочности и устойчивости подкрепленных оболочек вращения. - Москва : Физматлит, 2010. - 288 с.
16. Стивенс Р. Алгоритмы. Теория и практическое применение / Р. Стивенс. - Москва : Э, 2016. - 544 с.
17. Любанович Б. Простой Python. Современный стиль программирования / Б. Любанович. - Санкт-Петербург : Питер, 2016. - 480 с.
© В. Ю. Шаранин, А А Семенов
Ссылка для цитирования:
Шаранин В. Ю., Семенов А. А. Алгоритм быстрого численного интегрирования в задачах устойчивости оболочечных конструкций // Инженерно-строительный вестник Прикаспия : научно-технический журнал / Астраханский государственный архитектурно-строительный университет. Астрахань : ГАОУ АО ВО «АГАСУ», 2023. № 2 (44). С. 133-140.