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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам


где  и р - N-мерные векторы; I - единичный N-мерный вектор-столбец;  - матрица коэффициентов размерности NхN.

Т. о., алгоритм МГЭ состоит из следующих этапов:

Этап 1. Формирование входных данных.

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

Этап 3. Составление разрешающей системы алгебраических уравнений.

Этап 4. Решение системы.

Этап 5. Подстановка найденных значений в интегральное уравнение и вычисление значений функций во внутренних точках области.

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

2. Алгоритмический анализ задачи

.1 Постановка задачи, описание исходных и результирующих данных

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

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

Результирующими данными являются: количество витков, необходимое для восприятия осевой сжимающей нагрузки, а также вектор смещений узлов элементов. [5]

Для решения системы линейных алгебраических уравнений используется метод Гаусса-Зейделя.

.2 Описание математической модели

Поверхность разбивается на конечные элементы треугольного типа, и нумерацией узлов по часовой стрелке (Рисунок 1).

Рисунок 3 - Конечный элемент

Данный элемент, имеет три узла, пронумерованных по часовой стрелке. Каждый узел имеет две компоненты перемещения: по х, по у.


а шесть компонент перемещений элемента образуют вектор


Перемещения внутри элемента должны однозначно определяться этими шестью величинами.

Рисунок 4 - Перемещения узлов элемента

Простейшим представлением являются линейные полиномы

(30)

Значения шести постоянных ai легко найти из двух систем, состоящих из трех уравнений, которые получаются в результате подстановки в (30) узловых координат и приравнивания значения перемещений соответствующим перемещениям узловых точек. Записав, например,


выражают a1, a2, a3 через величины узловых перемещений ui, uj, um и окончательно

                                                                                                                                                 



                         (32)

остальные коэффициенты получаются циклической перестановкой индексов i, j, m, а величина  определяется соотношением


Аналогично можно представить перемещение v в вертикальном направлении


Соотношения (31) и (32) в стандартной форме определяют перемещения любой точки внутри элемента


где I - единичная матрица размерности 2x2,  - координатные функции, которые называются функциями формы


Для каждого из элементов плоскости существуют матрицы, определяющие его поведение.

Матрица [E] - матрица механических характеристик.

Ее вид:






где G - модуль упругости материала, а µ- коэффициент Пуассона.

Матрица [Q] - матрица дифференциальных операторов.

Ее вид: .

Матрица [A] - матрица неизвестных при коэффициентах.

Ее вид:


где x1, y1 - координаты 1-го узла элемента;

x2, y2 - координаты 2-го узла элемента;

x3, y3 - координаты 3-го узла элемента.

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

ki=,

Где dx,dy - стороны треугольника

Далее, зная для каждого элемента локальную матрицу жесткости, находится глобальная матрица жесткости.

K=

Определяется вектор нагрузки R. Для плоской задачи для i-ого узла нагрузку можно задать в двух направлениях: по x и по y.

,

Где  - компонента вектора нагрузок для i-ого узла, определяющая давление, прикладываемое к узлу по оси абсцисс.

 - компонента вектора нагрузок для i-ого узла, определяющая давление, прикладываемое к узлу по оси ординат.

Далее необходимо задать граничные условия.

Для закрепленных узлов в матрице [K] необходимо сбросить значения в строках и столбцах, а на главной диагонали для них приравнять к 1.

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

.

Далее необходимо составить систему уравнений.


Или, если переписать в матричной форме

[K]{u}={R},

Где [К] - глобальная матрица жесткости. В данной системе элементы глобальной матрицы жесткости являются коэффициентами при неизвестных;

{u} - вектор столбец искомых значений.

{R} - Глобальный вектор столбец нагрузок. В данной системе элементы вектора выступают в роли свободных членов уравнения.

Решая данную систему, получают смещения узлов. Вектор {u} будет иметь вид:

 {δ}=,

где ui, vi - смещения узла относительно первоначального положения.

Для решения поставленной задачи вводится условие (33), при неудовлетворении которого, выводится результат.

 (33)

Где k - число витков;

P - шаг резьбы;

L - длина конца болта;

 - достаточная точность;

dli - длина абсолютного смещения i-ого узла элемента, принадлежащего болту, определяемая по формуле (34).

dli=,

где ui, vi -смещения узла по оси абсцисс и ординат, которые берутся из вектора {δ}.[6]

Рисунок 5 - Абсолютное смещение

.3 Графическая схема алгоритма решения задачи

Рисунок 6 - Графическая схема алгоритма решения задачи

3. Программная реализация

.1 Структура программного комплекса

Структура программного комплекса включает 6 пользовательских классов: Rezba, Uzl_Coord, matrAclass, matrKLOCclass, globindexes, GausMethod. Их элементы описаны в таблицах 3.1.1-3.1.6

Таблица 3.1.1 - Элементы класса Rezba

Имя

Вид элемента

Тип

Спецификатор

Описание

D

Поле

double

Static, Public

Диаметр шляпки

b

Поле

double

Static, Public

Ширина шляпки

l

Поле

double

Static, Public

Длина конца болта

d1

Поле

double

Static, Public

Внешний диаметр резьбы

d2

Поле

double

Static, Public

Средний диаметр резьбы

d3

Поле

double

Static, Public

Внутренний диаметр резьбы

bg

 Поле

double

Static, Public

Ширина гайки

p

 Поле

double

Static, Public

Шаг резьбы

H

Поле

double

Static, Public

Рабочая высота

Count_v

Поле

int

Static, Public

Количество витков

eps

Поле

double

Static, Public

Точность


Таблица 3.1.2 - Элементы класса Uzl_Coord

Имя

Вид элемента

Тип

Спецификатор

Описание

x1

Поле

double

 Public

Координата первого узла элемента по х

x2

Поле

double

 Public

Координата второго узла элемента по х

x3

Поле

double

 Public

Координата третьего узла элемента по х

y1

Поле

double

 Public

Координата первого узла элемента по у

Имя

Вид элемента

Тип

Спецификатор

Описание

y2

Поле

double

 Public

Координата второго узла элемента по у

y3

Поле

double

 Public

Координата третьего узла элемента по у

c

 Поле

Color

 Public

Цвет (в качестве материала)



Таблица 3.1.3 - Элементы класса matrAclass

Имя

Вид элемента

Тип

Спецификатор

Описание

A

Поле

double

Public

Матрица А для элемента


Таблица 3.1.4 - Элементы класса matrKLOCclass

Имя

Вид элемента

Тип

Спецификатор

Описание

K

Поле

double

Public

Матрица К локальная матрица жесткости


Таблица 3.1.5 - Элементы класса matrKLOCclass

Имя

Вид элемента

Тип

Спецификатор

Описание

ind

Поле

Public

Матрица глобальных индексов элемента


Таблица 3.1.6 - Элементы класса GausMethod

Имя

Вид элемента

Тип

Спецификатор

Описание

RowCount

Поле

int

Public

Строк в матрице

ColumnCount

Поле

int

Public

Столбцов в матрице

Matrix

Поле

double

Public

Матрица неизвестных при коэффициентах

RightPart

Поле

double

Public

Вектор свободных членов

Answer

Поле

double

Public

Вектор неизвестных


Программа состоит из следующих форм:

Form1 - главная форма программы (рисунок 7);

Form2 - форма для графического изображения элементов (рисунок 8).

Таблица 3.1.3- Таблица управляющих элементов формы Form1

Имя элемента

Тип элемента

Назначение

Button1

Button

Кнопка вызова расчетов.

Button2

Button

Кнопка открытия Form2 с исходными данными.

Button3

Button

Кнопка открытия Form2 с полученными данными.

TextBox1

TextBox

Поле для ввода толщины головки болта.

TextBox2

TextBox

Поле для ввода диаметра головки болта.

TextBox3

TextBox

Поле для ввода ширины гайки.

TextBox4

TextBox

Поле для ввода длины конца болта.

TextBox5

TextBox

Поле для ввода внешнего диаметра резьбы.

TextBox6

TextBox

Поле для ввода шага резьбы.

TextBox7

TextBox

Поле для ввода точности.

TextBox8

TextBox

Поле для ввода нагрузки.

Label1

Label

Для вывода комментария.

Label2

Label

Для вывода комментария.

Label3

Label

Для вывода комментария.

Label4

Label

Для вывода комментария.

Label5

Label

Для вывода комментария.

Label6

Label

Для вывода комментария.

Label7

Label

Для вывода комментария.

Label8

Label

Для вывода комментария.


Рисунок 7 - Скриншот главной формы программы

Рисунок 8 - Скриншот форма для графического изображения элементов

3.2 Инструкция пользователя


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