Научная статья на тему 'Расчет устойчивости оболочечной конструкции с применением алгоритма оптимизации'

Расчет устойчивости оболочечной конструкции с применением алгоритма оптимизации Текст научной статьи по специальности «Математика»

CC BY
98
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Проблемы науки
Область наук
Ключевые слова
PYTHON / ФУНКЦИОНАЛ / АЛГОРИТМ / СЛОВАРЬ / ИНТЕГРАЛ / ОПТИМИЗАЦИЯ / МЕТОД РИТЦА / ОБОЛОЧКИ

Аннотация научной статьи по математике, автор научной работы — Шаранин Виталий Юрьевич

В работе исследуется устойчивость тонкостенных оболочечных конструкций на основе геометрически нелинейной теории оболочек. Математическая модель деформирования оболочки представляет собой функционал полной энергии, для минимизации которого применяется метод Ритца. Автором приводится обоснование методики оптимизации вычислительного процесса для данного класса задач, основанной на использовании словарей рассчитанных подынтегральных частей функционала. Созданный словарь сохраняется в отдельную базу данных для дальнейшего применения в расчетах.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Расчет устойчивости оболочечной конструкции с применением алгоритма оптимизации»

РАСЧЕТ УСТОЙЧИВОСТИ оболочечнои конструкции С ПРИМЕНЕНИЕМ АЛГОРИТМА ОПТИМИЗАЦИИ Шаранин В.Ю.

Шаранин Виталий Юрьевич - магистр, направление: прикладная математика и информатика, кафедра информационных технологий, Санкт-Петербургский государственный архитектурно-строительный университет,

г. Санкт-Петербург

Аннотация: в работе исследуется устойчивость тонкостенных оболочечных конструкций на основе геометрически нелинейной теории оболочек. Математическая модель деформирования оболочки представляет собой функционал полной энергии, для минимизации которого применяется метод Ритца. Автором приводится обоснование методики оптимизации вычислительного процесса для данного класса задач, основанной на использовании словарей рассчитанных подынтегральных частей функционала. Созданный словарь сохраняется в отдельную базу данных для дальнейшего применения в расчетах.

Ключевые слова: Python, функционал, алгоритм, словарь, интеграл, оптимизация, метод Ритца, оболочки.

DOI: 10.24411/2413-2101-2020-10504

Оболочечные конструкции широко применяют практически во всех отраслях промышленности: в судо- и самолетостроении, в гидротехнике, в объектах АЭС, в мостостроении, при возведении самых разнообразных промышленных, сельскохозяйственных и гражданских объектов, в дорожном и подземном строительстве, в горнодобывающей и перерабатывающей промышленности. Как отмечал М. Санчес-Аркас, «железобетонные оболочки, складки и висячие покрытия, как новый тип конструкций, принадлежат к интереснейшим явлениям современного инженерного искусства» [1].

При повышении сложности конструкции в разы повышается как сложность расчета, так и затраченное на него время. В основе математической модели для таких конструкций часто используется функционал полной энергии деформации, который при статическом нагружении будет представлять собой разность потенциальной энергии (получаемой произведениями усилий и моментов на компоненты вектора деформаций) и работы внешних сил [2, 3].

В данной статье будет показан пример проведения вычислительного эксперимента при оптимизации скорости расчета интегралов в функционале полной энергии деформации оболочки.

Именно скорость расчета оказалась проблемой при решении задачи по устойчивости оболочки, а время существенный и дорогостоящий ресурс.

Функционал полной энергии деформации

Функционал полной потенциальной энергии деформации представляет собой разность работ внутренних и внешних сил, который при действии внешней равномерно распределенной нагрузки можно записать в виде:

E = Ep -А,

где

1 a b ~ i

EP = ~ii x + Nys y + 1 (Nxy + Nyx Vxy + Mx1\ + My%2 + ((Mxy + Myx )xi2 +

2 0 0 2

+ Qx(Px -0\)+ Qy(Py -02)\iBdxdy,

a b

A = JJ qWABdxdy.

0 0

Здесь Es - функционал полной энергии для задачи статики; Бp - потенциальная

энергия; А - работа внешних сил; и, V,W, , ^у - неизвестные функции

перемещений и углов поворота нормали; 8 х, 8у - деформации удлинения вдоль

координат х, у срединной поверхности; у ху, у хг, у у^ - деформации сдвига в

плоскостях XOY, XOZ, УО2 соответственно; Ых, Ыу - нормальные усилия в

направлении осей х, у; Ыху - сдвиговое усилие в плоскости ХОУ ; Мх, Му -

изгибающие моменты в направлении осей х, у; Мху, Мух - крутящие моменты в

плоскости ХОУ , Qx, Qy - перерезывающие силы осей х, у; функции изменения

кривизн , и кручения Х12 • На рис. 1 изображено действие усилий и моментов в оболочке. Более подробно функционал был рассмотрен в работах [1, 2].

Рис. 1. Усилия и моменты, приведенные к серединной поверхности оболочки Рассмотрим стальную пологую оболочку двоякой кривизны с параметрами

a = b = 60h, h = 0.01 м, ц12 = ц21 = 0.3, E = E2 = 2.1-105МПа, A = B = 1, R = R2 = 20.25 м.

После применения к функционалу метода Ритца, примем количество слагаемых в разложениях функций в ряды П = 1, и получим выражение

a b г

JJ[6.035m121 sin(1.16x)2 sin(0.58y)2+837.69w121 cos(0.58x)2 sin(0.58y)2 -

0 0

- 451.28^3 sin(0.58x)2 sin(0.58y)3 cos(0.58x)2 -

- 451.28w131 sin(0.58x)3 cos(0.58y)2 sin(0.58y)+

+ 58.93u3 cos(l.16 л) sin(0.58y)3sin(1.16 x)2 + + 58.93v131 sin(0.58x)3 cos(l.16355 y)sin(1.16355 y)2 + + 2.84Yx11 sin (0.58x)2 sin(0.58y )2 ¥yn+ +1.35 Yy11 cos(0.58 x)2 cos(0.58 y)2 ¥x11 +

Данное выражение насчитывает в себе 71 слагаемое. При увеличении порядка приближения (параметр П ) это число увеличивается в разы (Табл. 1).

Таблица 1. Количество слагаемых при увеличении числа П

n Количество элементов

1 71

2 3 561

3 56 874

4 467 236

5 2 524 375

При рассмотрении функционала, невооруженным глазом видно, что разные вариации производных аппроксимирующих функций повторяются, и каждый раз затрачивается драгоценное время на расчет.

Под оптимизацией расчета подразумевается, что ЭВМ будет отслеживать одинаковые подынтегральные функции в функционале и при помощи созданного алгоритма сокращать время расчета.

При реализация алгоритма мы учитываем правила вычисления интегралов, которые, в свою очередь, вытекают непосредственно из правил вычисления производных [3, 4].

Правило 1. Справедливо равенство (где k - любое число)

J k • f (x)dx = k • J f (x)dx,

другими словами, интеграл от произведения числа на функцию равен произведению этого числа на интеграл от функции.

Правило 2. Интеграл от суммы функций вычисляется по формуле

J f (x) + Я (x)dx = J f (x)dx + J g (x)dx,

то есть, интеграл от суммы функций равен сумме интегралов от этих функций.

Правило 3. Интеграл от разности функций вычисляется по формуле

J f (x) - g (x)dX = J f (x)dX - J g (x)dx,

то есть, интеграл от разности функций равен разности интегралов от этих функций.

Применяя данные правила, функционал можно привести к виду:

a b

6.035u121 J J sin(0.58x)2 sin(0.58y)2 dxdy +

0 0

a b

+ 837.69^1 JJsin(0.58x)2 sin(0.58y)2dxdy -

0 0 a b

- 451.28^1 JJ sin (0.58 x)2 sin (0.58y)3 cos(0.58x)2 dxdy -

0 0

451.28^3 j j cos(0.58x)2 cos(0.58y)2dxdy -

0 0 a b

58.93u131 j j sin(0.58x)2 sin(0.58y)3 cos(0.58x)2dxdy+

+

00 ab

0 0 a b

+ 58.93v^ jjsin(0.58x)2 sin(0.58y)3 cos(0.58x xfdxdy+ 0 0

a b

+ 2.84¥x11¥ j j sin(0.58x)2 sin(0.58y fdxdy+ 0 0 a b

+ 1.35¥yn¥x11 j j cos(0.58 x )2 cos(0.58 y )2 dxdy + ... .

0 0

Можно наблюдать, что в полученном выражении sin(0.58x)2 sin(0.58y)2

встречается 3 раза, sin(0.58x)2 sin(0.58y)3 cos(0.58x)2 также встречается 3 раза, a

cos(0.58x)2 cos(0.58y)2 лишь два раза, и по данному примеру необходимо вычислить 8 интегралов.

В данной работе предлагается вычислить лишь три интеграла, и поместить интеграл и его проинтегрированное значение в словарь в виде ключ/значение (key/value). Словари в Python реализуются с помощью хэш-таблиц, представляющие собой массивы, индексы которых вычисляются с помощью хэш-функций [4, 5].

Цель хэш-функции - равномерно распределить ключи в массиве. Хорошая хэш-функция минимизирует количество коллизий, т.е. вероятность того, что разные ключи будут иметь один хэш.

d = {sin(0.58x)2 sin(0.58y)2 : 7.29003, sin(0.58x)2 sin(0.58y)3 cos (0.58x)2 :1.54699, cos(0.58x)2 cos(0.58y)2 : 7.28996}

Таким образом, при обнаружении повторяющихся интегралов, программа будет автоматически заменять их на значение, соответствующее ключу в словаре, и функционал примет вид:

44.001u2 + 6106.79981^ - 698,1287w131 - 3289,82w131 + 91,16u131 + + 32,235vf1+20.9732¥r11¥v +9.893¥v ¥r11.

' 11 x11 уц уц x11

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

Алгоритм можно представить в виде блок-схемы (рис. 2):

Рис. 2. Блок-схема

Сравнение времени выполнения расчета, можно наблюдать на рис. 3.

Время выполения расчета

6:00:00 4:48:00 3:36:00 2:24:00 1:12:00 0:00:00

5:36:49

5 3 2

:0 :0 :0

0: 0: 0:

:0 :0 :00

0: 0: 0:0

n=1, 71 элемент

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

n=2, 3561 элемента

n=3, 56874 элемента

Н Без использования словаря U С пустым словарем U С заполненным словарем В Maple

Рис. 3. Время выполнения расчета

На рис. 4 показано сравнение прогибов в центре и в четверти оболочки от нагрузки при различных приближениях.

Рис. 4. График нагрузки-прогиб, при различных приближениях

На данной диаграмме видно, насколько существенно предложенная оптимизация влияет на время проведения расчета. При первом приближении процесс ускоряется в 2 раза, а на третьем приближении в 14 раз.

Вывод

В данной работе показано, насколько оптимизация процесса снижает временные затраты. Перспективность данного процесса безгранична, чему будет способствовать дальнейшее усовершенствование ЭВМ, их самообучение. Выкладывание БД в открытый доступ поможет решать задачи широкому кругу специалистов не только в строительной индустрии.

Список литературы

1. Леденев В.В., Худяков А.В. Оболочечные конструкции в строительстве. Теория, проектирование, конструкции, примеры расчета: учебное пособие для проектировщиков, бакалавров, магистров и аспирантов строительных специальностей. Тамбов.: Изд-во ФГБОУ ВО «ТГТУ», 2016. 272 с.

2. Карпов В.В. Прочность и устойчивость подкрепленных оболочек вращения. В 2 ч. Ч. 1. Модели и алгоритмы исследования прочности и устойчивости подкрепленных оболочек вращения. М.: Физматлит, 2010. 288 с.

3. Карпов В.В. Прочность и устойчивость подкрепленных оболочек вращения. В 2 ч. Ч. 2. Вычислительный эксперимент при статическом механическом воздействии. М.: Физматлит, 2011. 248 с.

4. Хайнеман Дж., Пояяис Г., Сеяков С. Алгоритмы. Справочник с примерами на С, C++, Java и Python, 2-е изд.: Пер.с англ. СПб.: ООО «Альфа-книга», 2017. 432 с. ISBN 978-5-9908910-7-4 (рус.).

5. Стивенс Р. Алгоритмы. Теория и практическое применение. М.: Издательство «Э», 2016. 544 с. ISBN 978-5-699-81729-0.

i Надоели баннеры? Вы всегда можете отключить рекламу.