АВТОПРОЕКТИРОВАНИЕ ГОРНЫХ МАШИН В 3D: ПРОЕКТНО-МОДЕЛЬНЫЙ ПОДХОД
Бейсембаев К. М., Жолдыбаева Г. С., Дёмин В. Ф., Малыбаев Н. С., Шманов М. Н.,
Циклы позволяют выполять множество операций на основе заданного алгоритма из группы команд, повторяя их из тела цикла. Голова цикла следит за количеством повторений, которое заранее задано, а конец цикла осуществляет очередной шаг цикла. При достижении последнего значения голова цикла прекращает цикл и передаёт управление следующей команде, записанной за оператором цикла. В данном случае мы используем оператор цикла для построения заданного количества спиц колеса подъёмной машины. Но перед этим следует построить обод колеса через точки, лежащие на окружностях обода, используя уравнение окружности, а затем использовать этот алгоритм, вложив его в тело цикла. Внутри тела цикла часто используются логические операторы для проверки некоторых условий используемых, например, для построения элементов колеса.
*DO, IVAL, 10, 280, 90 !начало цикла: IVAL – переменная цикла (угол), 10 – первое значение, 280 – последнее значение, 90 – шаг.
группа операторов тела цикла
*ENDDO ! конец цикла
Логический оператор *IF,r1,GT,r5,:v2 !GT-больше. Если условие выполняется, то (r1 больше r5) команда передаётся строке с номером v1
Далее разбиваем обод колеса с шагом заданной длины (рис. 4.1).
После чего можно разбить колесо на конечные элементы в свободном режиме (рис. 4.2). Затем закрепляем колесо по поверхности оси отверстия, и вблизи контакта с поверхностью качения (рис. 4.3) получаем картину деформаций в плоском и объёмном виде (рис. 4.4).
Конструкция колеса была получена плоским проектированием обода ступицы и спиц, а затем плоскость колеса была вытолкнута по оси Z, что создало объём (команда VEXT,P51X, , ,0,0,0.3,,,,), когда заранее выделенная площадь была продвинута на 0,03 м.
Рис. 4.1. Принудительное разбиение обода для создания сетки
Рис. 4.2. Создание сетки в свободном режиме
Рис. 4.3. Закрепление колеса для расчёта
/NOPR
/PMETH,OFF,0
KEYW,PR_SET,1
KEYW,PR_STRUC,1
KEYW,PR_THERM,0
KEYW,PR_FLUID,0
KEYW,PR_ELMAG,0
KEYW,MAGNOD,0
KEYW,MAGEDG,0
KEYW,MAGHFE,0
KEYW,MAGELC,0
KEYW,PR_MULTI,0
KEYW,PR_CFD,0
/GO
/Prep 7! входим в препроцессор
!построения конечноэлементной модели
/Units,SI! работаем в СИ
ANTYPE,STATIC!выбор статической
!задачи
ET,1,SOLID92!vibor tipa kon elem
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,EX,1,,2e11
MPDATA,PRXY,1,,0.2!выбор конечного
!элемента
mp,ex,,2.5e5!модуль упругости
mp,nuxy,,0.2 !коэф.Пуассона
r1 = 1.50
r3 = 0.30
r4 = 0.10
r5 = 1.30
*IF,r1,GT,r5,:v2 !GT-больше
*go,:v1 !отправляет на метку :v1
:v2
K,1,0,0,,! построение точки с
!номером 1 при х = 0, у = 0
pcirc,0,r1,0,360! большой
!круг-площадь
pcirc,0,r4,0,360! круг под
!ось-площадь
:v1
kl,4,1,26!создаёт кл. точку на
л. 4,д елит линию в заданном отношении
kl,3,0,25!создаёт кл.точку на
!л.3,делит линию в отношении
/WAIT, 5 !задержка на 5 с
Larc,4,3,1,r1!строит линию через эти
!точки и т.1 центра радиусом r1
/WAIT, 5 !задержка на 5 с
/output,rez.txt,!создание текстового
!файла rez.txt, (уточнить
!назначение команды)
!построение секторных отверстий в
!колесе через цикл
*DO, IVAL, 10, 280, 90 !начало
цикла: IVAL – переменная
цикла (угол),10-первое значение,
280-последнее значение, 90 – шаг
*VWRITE, IVAL !выводит в файл
рез.тхт
A4, E10.3, 2X, D8.2 !формат не точен, но команда должна присутствовать.
pcirc,r3,r5,IVAL,IVAL + 70! построение
!секторов через переменную цикла
*ENDDO ! конец цикла
!/WAIT, 5 ! задержка на 5 с
ASBA,1,all! вычитание из первой
!фигуры остальных
FLST,2,1,5,ORDE,1
FITEM,2,7
FLST,2,1,5,ORDE,1
FITEM,2,7
VEXT,P51X, , ,0,0,0.3,,,,
cylind,1.45,0.3,0,0.1,0,360
cylind,1.45,0.3,0.2,0.3,0,360
VSBV, 1, 3
VSBV, 4, 2
ESIZE,0.1,0,
MSHKEY,0
MSHAPE,1,3D
CM,_Y,VOLU
VSEL, , , , 1
CM,_Y1,VOLU
CHKMSH,’VOLU’
CMSEL,S,_Y
VMESH,_Y1
FINISH
/SOL
FLST,2,2,5,ORDE,2
FITEM,2,6
FITEM,2,8
!*
/GO
DA,P51X,ALL,
FLST,2,4,3,ORDE,4
FITEM,2,60
FITEM,2,62
FITEM,2,69
FITEM,2,-70
!*
/GO
FK,P51X,FY,-25
EQSLV,PCG,1E-8 !выбор точности решения для объёмных задач
! /STATUS,SOLU
SOLVE
Далее были созданы два цилиндра с круговыми полостями у ступицы, расположенные на одинаковом расстоянии от геометрического центра колеса. Вырезав эти цилиндры, получили расширенный обод со ступицей и узкую центральную часть колеса.
cylind,1.45,0.3,0,0.1,0,360
cylind,1.45,0.3,0.2,0.3,0,360
VSBV, 1, 3
VSBV, 4, 2
Заметим, что конструкция спиц выбрана из предположения, что их ширина в зонах контакта с ободом и ступицей должна быть пропорциональной. Это обеспечит равномерное напряжённое состояние и равнопрочность. Картина напряжений на рис. 4.5–4.7 подтверждает это предположение, но количество спиц следует увеличить до 8–12, что уменьшит изгибные напряжения обода. Конструкция колеса была бы оптимальнее, если из начального объёма вырезать три объёма: центральный и два узких боковых. Тогда спицы были бы парными и их устойчивость в продольном направлении при боковых нагрузках была выше, даже если их суммарная толщина осталась бы как в первом варианте.
Мы продемонстрировали использование циклов при проектировании конструкций, имеющих множество повторяющихся элементов. Накопление опыта работы с циклами – важный элемент многих сложных программ, и особенно при анализе типа «если», когда внутри цикла выполняется сравнение с некоторым условием и в зависимости от результата выбирается направление дальнейшей обработки рассматриваемого процесса.
Рис. 4.4. После решения; нагрузки и закрепление
Часто такие циклы называют циклами с ветвлениями. В данном случае построены 4 спицы колеса, но циклы особенно эффективны при количестве спиц 8 и более, поэтому конструкция колеса была бы оптимальнее при увеличении их количества. Важный элемент программирования – вложенные циклы, когда один за другим написаны 2 оператора цикла, а после тела цикла две команды типа «конец цикла». Их ещё можно было бы называть двумерными циклами, поскольку с их помощью можно, например, просматривать столбцы и строки плоской таблицы. Точно так же можно ввести и понятия трёхмерных циклов. Особенностью таких циклов является то, что сначала выполняется самый внутренний цикл, он длится до тех пор, пока не закончиться последнее значение переменной внутреннего цикла, в то время как переменные внешних циклов остаются фиксированными на текущих значениях.
После перебора всех значений внутреннего цикла переменная следующего за внутренним внешнего цикла получает значение, и внутренний цикл запускается заново. И т. д., пока не будут закончены все значения внешнего цикла. При этом значение переменной «более внешнего» цикла зафиксировано на текущем и т. д. Таким образом, для трехмерного цикла будет выполнено i×j×k повторений, здесь i, j, k соответсвенно количество повторений для внутреннего, 1-го внешнего и 2-го внешнего циклов.
Рис. 4.5. Картина деформаций
Рис. 4.6. Картина напряжений по оси Y
Рис. 4.7. Картина напряжений по оси Х