1. ANSYS USER GUIDE
2. Биргер И.А., Шорр Б.Ф., Иосилевич Г.Б. Расчет на прочность деталей машин. М.: Машиностроение, 1993. 640 c.
3. Карпов Я.С. Проектирование деталей и агрегатов из композитов: Учебное издание. – Х.: издательский центр «ХАИ», 2010. – 768 c.
Варианты домашних заданий:
Выбрать любой металл (сталь-никель-титан) и любой композит (каждому свой придумать), провести автоматизированное проектирование, сравнить полученные конструкции. Температурный перепад, нагрузку и ограничение по габаритам брать из примера. На каждый вариант конструкции по 5 человек (материалы у каждого свои).
Дополнение: программные коды для приложения нагрузок по шагам и обработка массива полученных результатов (в качестве примера – перемещение вдоль оси X).
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
/prep7
!!!Ввести номер линии из программы ANSYS, к узлам которой прикладывается нагрузка
N_LINE=5
!Создаем компонент из узлов, к которым прикладывается нагрузка
LSEL, S, LINE,, N_LINE
NSLL,S,1
CM,NAGRUZKA,NODE
CMSEL,A,NAGRUZKA
*GET, Nnode, NODE, 0, Count!определяем число узлов
ALLSEL,ALL
!Число шагов нагрузки
point_t=5
!Создаем массив данных из 2 столбцов и 5 строк
*dim,dannye,array,point_t,2
!Нумерация шагов (могут быть секунды полета) - первый столбец данных
dannye(001,1)=1
dannye(002,1)=2
dannye(003,1)=3
dannye(004,1)=4
dannye(005,1)=5
!Сила, соответствующая каждому шагу нагрузки, Н - второй столбец данных
dannye(001,2)=10000
dannye(002,2)=11000
dannye(003,2)=12000
dannye(004,2)=13000
dannye(005,2)=14000
/sol
*do,i,1,point_t,1
time,dannye(i,1)
cmsel, s, NAGRUZKA, node
F, ALL, FX, dannye(i,2)/(2*Nnode)
ALLSEL,ALL
allsel,all
solve
*enddo
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Сначала выберем интересующие нас узлы (из предыдущего пункта нагрузки)
|
/prep7
cmsel, s, NAGRUZKA, node
!Затем определим среднее значение вытяжки по оси X на каждом шаге решения
/POST1
Substep=5
!Определяем число узлов в выбранном наборе
*get, node_count, node,, count
!Создаем массив данных с нумерацией узлов - число узлов - число шагов решения
*dim, Nodes, array, node_count, Substep
!Создаем массив данных с перемещением каждого узла - число узлов - число шагов решения
*dim, Perem, array, node_count, Substep
!Создаем массив данных с суммарным перемещением - число шагов решения
*dim, SUM_Perem, array, Substep
!Создаем массив данных с средним перемещением - число шагов решения
*dim, U_Average, array, Substep
!Определим узел с максимальным номером, присвоим ему имя "node_max"
*get, node_max, node,, num, max
!Определим пермещение по оси X для узла с максимальным номером, назовем Perem(1)
*get, Perem(1), node, node_max, U, X
!присвоим первому элементу массива Nodes значение максимального узла
Nodes(1)=node_max
!Теперь запишем цикл для определения перемещений всех оставшихся узлов(их число node_count)
*do, i, 2, node_count, 1
!Определим номер узла следующего по величине после максимального (который определили выше)
*get, node_max1, node, node_max, nxtl
!Переопределим в текущем наборе node_max и запишем новый элемент массива Nodes, для i
node_max=node_max1
Nodes(i)= node_max
!Теперь определим перемещение для i-го узла
*get, Perem(i), NODE, Nodes(i), U, X
!Определим сумму элементов массива Perem
*vscfun, SUM_Perem(1), sum, Perem
*enddo
!Теперь нужно выполнить эти опреации для каждого j-го шага решения
*do, j, 1, SubStep,1
set,j
*do,i, 1, node_count, 1
*get, Perem(i,j), NODE, nodes(i), U, X
*enddo
*vscfun, SUM_Perem(j), sum, Perem(1,j)
!Усредненное значение перемещения по оси X на каждом шаге решения
|
U_Average(j)=SUM_Perem(j)/node_count
*enddo
!Запись результатов в отдельный файл
*CREATE,ansuitmp
*CFOPEN,'Rezults','txt',' '
*VWRITE,U_Average(1)
(F10.3)
*CFCLOS
*END
/INPUT,ansuitmp
!*
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!