Научная статья на тему 'ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ CALFEM ДЛЯ МОДЕЛИРОВАНИЯ НАГРУЖЕНИЯ АМОРТИЗИРУЮЩЕЙ КОНСТРУКЦИИ'

ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ CALFEM ДЛЯ МОДЕЛИРОВАНИЯ НАГРУЖЕНИЯ АМОРТИЗИРУЮЩЕЙ КОНСТРУКЦИИ Текст научной статьи по специальности «Математика»

CC BY
199
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
E-Scio
Область наук
Ключевые слова
МЕТОД КОНЕЧНЫХ ЭЛЕМЕНТОВ / НАПРЯЖЁННО-ДЕФОРМИРОВАННОЕ СОСТОЯНИЕ / БИБЛИОТЕКА CALFEM / ЯЗЫК PYTHON / ВИЗУАЛИЗАЦИЯ

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

Статья посвящена рассмотрению методики применения функций библиотеки CALFEM языка Python, предназначенной для создания моделей геометрии, закрепления и нагружения систем и использования метода конечных элементов (МКЭ) для исследования их напряжённо-деформированного состояния. Также рассматриваются процедуры визуализации всех стадий использования библиотеки CALFEM. Приведён пример расчёта одного из видов амортизирующих конструкций с помощью указанной библиотеки, по результатам расчёта сделаны выводы.The article is devoted to the consideration of the methodology for applying the functions of the CALFEM library of the Python language, designed to create models of geometry, fixing and loading systems and using the finite element method (FEM) to study their stress-strain state. Procedures for visualizing all stages of using the CALFEM library are also discussed. An example of calculating one of the types of damping structures using the specified library is given, based on the results of the calculation, conclusions are made.

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

Текст научной работы на тему «ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ CALFEM ДЛЯ МОДЕЛИРОВАНИЯ НАГРУЖЕНИЯ АМОРТИЗИРУЮЩЕЙ КОНСТРУКЦИИ»

УДК 004.432.2

Технические науки

Ильичев В. Ю., к.т.н., доцент кафедры «Тепловые двигатели и гидромашины» Калужский филиал ФГОУ ВО «Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский

университет), г. Калуга, Россия Чухраев И. В., к.т.н., доцент кафедры «Информационные системы и сети» Калужский филиал ФГОУ ВО «Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский

университет), г. Калуга, Россия

ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ CALFEM ДЛЯ МОДЕЛИРОВАНИЯ НАГРУЖЕНИЯ АМОРТИЗИРУЮЩЕЙ КОНСТРУКЦИИ

Аннотация: Статья посвящена рассмотрению методики применения функций библиотеки CALFEM языка Python, предназначенной для создания моделей геометрии, закрепления и нагружения систем и использования метода конечных элементов (МКЭ) для исследования их напряжённо -деформированного состояния. Также рассматриваются процедуры визуализации всех стадий использования библиотеки CALFEM. Приведён пример расчёта одного из видов амортизирующих конструкций с помощью указанной библиотеки, по результатам расчёта сделаны выводы.

Ключевые слова: метод конечных элементов, напряжённо-деформированное состояние, библиотека CALFEM, язык Python, визуализация.

Annotation: The article is devoted to the consideration of the methodology for applying the functions of the CALFEM library of the Python language, designed to create models of geometry, fixing and loading systems and using the finite element method (FEM) to study their stress-strain state. Procedures for visualizing all stages of using the CALFEM library are also discussed. An example of calculating one of

the types of damping structures using the specified library is given, based on the results of the calculation, conclusions are made.

Keywords: finite element method, stress-strain state, CALFEM library, Python language, visualization.

Введение

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

Очень удобна для изучения принципов МКЭ и выполнения предварительных расчётов программа CALFEM [3], первоначально созданная для изучения МКЭ в рамках среды MATLAB. При работе с ней используется интерактивный подход - то есть все стадии применения МКЭ являются визуальными, наглядными. В настоящее время всё чаще используется непрерывно совершенствуемая версия CALFEM для высокоуровневого языка программирования Python [10] благодаря тому, что данный язык и его библиотеки являются свободно распространяемыми и сейчас уже образуют быстро растущую «экосистему», в которой достаточно просто сориентироваться даже начинающему пользователю. Поэтому все дальнейшие исследования проводятся и описываются именно для версии CALFEM для Python.

Целью данной работы является моделирование и расчёт напряжённо-деформированного состояния [8] одного из широко распространённых видов амортизирующих конструкций, выполненной в виде жёсткого центра, окружённого массивом, обладающим малой жёсткостью. Данное

моделирование и расчёт должны быть реализованы в виде программы, написанной на языке Python с использованием модуля CALFEM (в работе использован релиз модуля от 4 мая 2021 г.).

Методы и материалы

На рисунке 1 представлена модель рассматриваемой системы (амортизирующей конструкции).

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

Для наглядности рассматривается система, имеющая сечения квадратной формы. Внутри находится стальная основа с большим значением модуля упругости, окружённая с целью её амортизации резиновым массивом с очень маленьким модулем упругости. Также на схеме представлены основные размеры сечения конструкции. Сверху на систему действует распределённая нагрузка q, Па, значение которой, а также другие не указанные на рис. 1 параметры будут указаны в дальнейшем.

Далее в статье последовательно рассмотрены стадии применения модуля CALFEM для исследования представленной амортизирующей конструкции в рамках программы, написанной на языке Python.

В начале программы осуществляется импорт необходимых для создания модели функциональных блоков библиотеки CALFEM - сборки матрицы конечных элементов и вычисления матрицы жёсткости са^ет.соге, хранения созданной геометрии модели calfem.geometry, создания сетки конечных элементов calfem.mesh, визуального отображения результатов calfem.vis, задания нагрузок и прочих параметров, а также реализации функции решения созданной задачи calfem.utils. Также загружается библиотека Numpy [4] для работы с матрицами (так как параметры конечно-элементной модели хранятся в матрицах, над которыми производятся операции во время вычислений) и функция Lil_matrix из библиотеки Scipy.sparse для специального преобразования матриц.

Далее в программе задаются основные геометрические и прочностные переменные системы (характерные размеры, модули упругости, шаг конечно-элементной сетки и др.). Затем с помощью функции calfem.geometry создаётся геометрический объект для дальнейшего исследования и задаются координаты его характерных точек (согласно размерам, указанным на рис. 1). Точки соединяются сплайнами [7] (в данном случае они являются отрезками прямых); точки внутренней области геометрии и почти все соединительные линии, которые маркируются числами от 0 до 7. Обозначенный таким образом геометрический объект выводится для контроля на экран (рис. 2).

Рис. 2. Созданная геометрия модели исследуемого объекта.

Таким образом, первичные элементы исследуемой системы определены. После этого обозначаются роли уже не отдельных линий, а целых поверхностей в пределах модели - в программе указывается, что линии 0-3 формируют поверхность с отверстием в резиновом массиве, образованном линиями 4-7. При этом линии 4-7 также являются и внешней поверхностью стального центра модели. Каждой поверхности также присваиваются уникальные маркеры для того, чтобы в дальнейшем можно было указать свойства материалов, а также области приложения сил и создания закреплений.

Далее с использованием функции calfem.mesh для созданной системы формируется сетка конечных элементов. В рассматриваемом примере заданы следующие аргументы функции: расстояние между ячейками сетки в среднем составляет 0,05 мм (более точное значение подбирается с помощью самой функции для каждой ячейки в зависимости от места её расположения) и четырёхугольная форма конечных элементов.

Результат выполнения функции также выводится на экран (рис. 3).

Mesh

1 .floe 0.60.4 0.20.0

-0.2 0.0 0.2 0.4 0.6 0.В 1,0 1.2 Рис. 3. Конечно-элементная сетка модели.

Наглядно видно, что размер отдельных конечных элементов «собранной» программой сетки несколько различается (согласно алгоритму применённой функции), однако в среднем соответствует указанному.

Далее задаются граничные условия модели: какая именно поверхность модели закреплена и в каких направлениях, а также указывается тип и величина прикладываемой нагрузки, и поверхность, на которую она воздействует (согласно рис. 1). Также задаётся толщина модели (в примере она равна 0,3 м) и из исходных данных используются модули упругости материалов наружной области из резины (E=0,9-109 Па) и внутренней стальной области (E=210 109 Па), коэффициент Пуассона [9] (0,35). Присвоение материала первой и второй области ранее было осуществлено с помощью специальных маркеров.

Также указывается, что в данном случае решается не объёмная, а плоская задача (два направления действия сил, возникновения напряжений и деформаций).

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

В дальнейшем необходимо получить распределение напряжений в деформированной модели, поэтому создаётся пустой массив vonMises, который будет заполняться значениями напряжений в каждом конечном элементе.

Затем в цикле для каждого конечного элемента вычисляются напряжения в четырёхугольных элементах с помощью функции plants. В массивах содержатся нормальные напряжения по осям ох и о и напряжения сдвига т .

Эквивалентное значение [6] суммарного напряжения вычисляется по формуле

< = J°X - °x°y + 3тХу

Пример расчёта

По описанной методике с помощью программы был произведён расчёт представленной на рис. 1 системы при значении распределённой нагрузки q,

равной 105 и 505 Па. Результаты расчёта эквивалентного напряжения представлены в графическом виде на рис. 4.

Рис. 4. Результаты расчёта эквивалентного напряжения при разных значениях приложенной

нагрузки.

Цвета легенды изменения эквивалентного напряжения представлены на вертикальных столбчатых диаграммах. Из результатов расчёта можно сделать вывод, что напряжения в конечных элементах прямо пропорциональны приложенной распределённой нагрузке, и имеют максимальное значение в крайних точках внутренней области модели, выполненной из стали. Напряжения в наружной области, выполненной из резины, имеют гораздо меньшие значения (так как нагрузка в податливом материале распределяется более равномерно). Кроме того, на рис. 4 отображены в явном виде перемещения элементов системы, которые также выведены на отдельный рис. 5 для нагрузки q=105 Па.

г-ХШЛи ::-------- !

шш I

ЩИ! Z-ZZZ---4

-0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2

Рис. 5. Перемещения конечных элементов при приложении нагрузки.

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

Заключение

В результате выполненного исследования продемонстрирована технология применения библиотеки CALFEM для языка программирования Python [5] с целью исследования напряжённо-деформированного состояния амортизирующей конструкции. Та же методика может быть адаптирована для исследования любых простых систем.

Главным достоинством рассмотренной технологии является простота её освоения пользователем, имеющим минимальное представление о методе конечных элементов. Более того, данное исследование призвано обучить такого пользователя основам применения метода конечных элементов с использованием наглядного представления всего процесса - начиная с создания модели, её закрепления, нагружения, создания сетки конечных элементов, и заканчивая визуализацией полученных результатов: напряжений и деформаций

конечных элементов, полученных в результате решения задачи с помощью CALFEM. Поэтому представляется целесообразным использование данной методики при обучении основам МКЭ, чего в настоящее время крайне не хватает в учебных заведениях и даже НИИ, чаще всего широко использующих данный метод без понимания его основ. По этой причине, результат осуществлённых таким способом разработок далёк от оптимального, поэтому понимание основ МКЭ для расчётчика просто необходимо.

Авторами планируется дальнейшее применение описанного метода при исследовании более сложных и интересных по конфигурации моделей, подвергающихся комплексному нагружению.

Библиографический список:

1. Алферов И.В. Определение линейного перемещения в раме методом Максвелла-Мора и методом конечных элементов. // Инновации. Наука. Образование. 2021. № 26. С. 1422-1426.

2. Ильичев В.Ю. Использование алгоритма дифференциальной эволюции для решения оптимизационных задач. // Системный администратор. 2021. № 4 (221). С. 80-83.

3. Ильичев В.Ю. Создание параметрических конечно-элементных трехмерных объектов с использованием функций Python. // Системный администратор. 2021. № 5 (222). С. 82-85.

4. Ильичев В.Ю. Разработка программных средств увеличения изображений с использованием их фрактальных свойств. // Системный администратор. 2021. № 1-2 (218-219). С. 124-127.

5. Ильичев В.Ю., Юрик Е.А. Разработка программы для исследования термодинамического цикла Ренкина. // Научное обозрение. Технические науки. 2020. № 2. С. 32-36.

6. Матвеев А.Д. Анализ прочности с учетом характера распределения эквивалентных напряжений в конструкциях. // Известия Алтайского государственного университета. 2012. № 1-1 (73). С. 81-85.

7. Матрохин С.А., Сергиенко В.В., Агишева Д., Матвеева Т. Построение кусочно-квадратичной сплайн-интерполяции. // Международный студенческий научный вестник. 2015. № 3-4. С. 509-510.

8. Нагибин С.Д., Варнава А.В., Жуков И.А. Подготовка компьютерных моделей сложных конструкций для расчета напряженно-деформированного состояния методом конечных элементов. // Современные наукоемкие технологии. 2013. № 8-2. С. 267-268.

9. Подшивалов С.Ф., Токарева Л.В., Подшивалова К.С., Привалов И.И., Комолова Н.В. Результаты исследования по определению модуля упругости и коэффициента Пуассона стали на стенде 0СМ-8ЛР-09. // Наука и военная безопасность. 2019. № 2 (17). С. 71 -76.

10. Таршхоева Ж.Т. Язык программирования Python. Библиотеки Python. // Молодой ученый. 2021. № 5 (347). С. 20-21.

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