Перейти к публикации

Итерации в Ansys + заморочки программирования


Рекомендованные сообщения

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

Я пишу кандидатскую работу, которая частично должна быть проделана в ансисе! Суть и вопрос постараюсь сформулировать!

Есть некая пластина (решение в плоскости), на которую действует нагрузка на верхнюю грань, противоположная грань защемлена. Суть работы в том, что нагрузка задана через некий оператор времени, и подразумевает итерационный процесс решения. На первом шаге я получаю поле напряжений, потом методом конечных разностей я пытаюсь получить производные от напряжений. Это позволит мне перейти к объемным силам (учесть их, уравнения Ляме в перемещениях). Вопрос таков: как можно подгрузить файл нагрузок на узлы и автоматизировать подгрузку файла для итерационного процесса. Пошагово это должно выглядеть так: решение пластины на первом шаге->расчет производных от напряжений->получаем некий файл и полем объемных нагрузок, который необходимо подгрузить в дальнейший расчет Ансиса->подгрузка файла в ансис и аналогичный расчет ->заново по кругу.

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

Ссылка на сообщение
Поделиться на других сайтах


Коды писать я, конечно, не буду помогать, извините.

Но уж очень интересно, кто такие "производные напряжений", кому они нужны, зачем и при чем тут объемные силы?

Ссылка на сообщение
Поделиться на других сайтах

Но уж очень интересно, кто такие "производные напряжений", кому они нужны, зачем и при чем тут объемные силы?

При уравнении равновесия.

Sxx,x + Sxy,y + Sxz,z = Fx - Вроде так.

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

А если они не приложены, значит они равны нулю.

Есть некая пластина (решение в плоскости), на которую действует нагрузка на верхнюю грань, противоположная грань защемлена. Суть работы в том, что нагрузка задана через некий оператор времени, и подразумевает итерационный процесс решения. На первом шаге я получаю поле напряжений, потом методом конечных разностей я пытаюсь получить производные от напряжений. Это позволит мне перейти к объемным силам (учесть их, уравнения Ляме в перемещениях). Вопрос таков: как можно подгрузить файл нагрузок на узлы и автоматизировать подгрузку файла для итерационного процесса. Пошагово это должно выглядеть так: решение пластины на первом шаге->расчет производных от напряжений->получаем некий файл и полем объемных нагрузок, который необходимо подгрузить в дальнейший расчет Ансиса->подгрузка файла в ансис и аналогичный расчет ->заново по кругу.Буду очень признателен за совет. Предпочитаю работать в воркбенче, но тут все надо сделать в АПДЛе. Минусом своим считаю слабость в программировании, отсюда и непонимание многого. Помогите пожалуйста. ( можно даже на пальцах, в плоть до того как создать таблицу нагрузок, подгружать ее на каждом шаге , можно ли над полученными результатами в ансисе, напряжениями, делать математические операции, не прибегая к дополнительным программам?)

Слишком много букв. Спросите то, что у вас не получается, или спрашивайте "по-мелочи". Тут тяжело разобраться с полетом мысли, а уж код писать...
Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

При уравнении равновесия.

Sxx,x + Sxy,y + Sxz,z = Fx - Вроде так.

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

А если они не приложены, значит они равны нулю.

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

Заранее извиняюсь за большое количество писем, но вот тут подправил кое-что и пояснил, теперь в более бодробном виде попытаюсь вам донести свои мысли:

Отвечаю по вашим вопросам:

1) Ниже приложил код своей программы.

3) Значения сил по Хn и Уn - это названные нами объемные силы (выражение моего руководителя). Это есть правая часть уравнения , файл 2.

Что мы решаем!? Есть две задачи: 1) первая - используем первый материал с модулями сдвига и объема G=1200, K=3600, тут все просто, нагружаем и получаем решение. 2) - материал с модулями G и KsG, где Ks=0.5K/G, тем самым мы внесли приближение. В файле с уравнением в правой части есть дететтая по Дх, умноженная на коэффициент-(K-KsG). Дететту представим как производную по напряжениям ( сигмаХ+сигмаУ, от них производную), деленную на коэффициент К (стандартная формула теории упругости). Суммирую напряжения по Х и У и методом конечных разностей получаю их производные. Производные по напряжениям беру методом конечных разностей . Для контурных узлов применяю 4 и 5 схемы, для внутренних узлов схему №3 (А.П. Деруга" Численные методы"). МНе написали, что можно брать производные в ансисе! Я затрудняюсь это сделать и опыта маловато, руки не опускаю, читаю. Если бы вы подсказали, я был бы очень рад. Оставшийся коэффициент -(K-KsG)/K посчитан и равен 0,5. В итоге, полученные Хn, Yn, мы прикладываем в узлы на втором шаге, и повторно производим расчет и т.д. Конец решения - это минимальное значение невязки (правой части, значения Хn,Yn). Решение задачи для первого материала и решение задачи для второго ( приближенного материала) должны быть схожими. Спасибо за помощь, очень жду вашей помощи.

FINISH

/CLEAR, START

/FILNAME,uteracia,1

/COM, Structural

/PREP7

E = 2.945455e9 !модуль Юнга

nu = 0.227 !коэффициент Пуассона

s=1

ET,1, 43

R, 1, S

MP, EX, 1 ,E

MP, NUXY,1,nu

z=5 ! Количество узлов на грани пластины

*do, i, 1, z ! строим узлы

*do, j, 1, z

n, i+z*(j-1), i-1,(j-1)

*enddo

*enddo

n,26,3.95,0

*do, j, 1, 4 ! строим элементы

*do, i, 1, 4

e, i+5*(j-1), i+1+5*(j-1), i+6+5*(j-1), i+5+5*(j-1)

*enddo

*enddo

D,1,all,,, !закрепляем нижние узлы

*repeat,5,1

F,21,FY,-150 !на верхние узлы накладываем силу в 15 Н

*repeat,5,1

finish

/solu

solve

/post1

!Решение первого шага окончено, далее ищу правую часть нашего уравнения

!Александр, в вашем коде многое не понял с подобными операциями. Я новичек, отнеситесь снисходительно)))

! ввод переменной для напряжения по Х

*GET, Par, NODE, 1, EPEL , x !ex - переменная для вывода значений деформаций по Х в узлах

ex1=par

*GET, Par, NODE, 2, EPEL , x

ex2=par

*GET, Par, NODE, 3, EPEL , x

ex3=par

*GET, Par, NODE, 4, EPEL , x

ex4=par

*GET, Par, NODE, 5, EPEL , x

ex5=par

*GET, Par, NODE, 6, EPEL , x

ex6=par

*GET, Par, NODE, 7, EPEL , x

ex7=par

*GET, Par, NODE, 8, EPEL , x

ex8=par

*GET, Par, NODE, 9, EPEL , x

ex9=par

*GET, Par, NODE, 10, EPEL , x

ex10=par

*GET, Par, NODE, 11, EPEL , x

ex11=par

*GET, Par, NODE, 12, EPEL , x

ex12=par

*GET, Par, NODE, 13, EPEL , x

ex13=par

*GET, Par, NODE, 14, EPEL , x

ex14=par

*GET, Par, NODE, 15, EPEL , x

ex15=par

*GET, Par, NODE, 16, EPEL , x

ex16=par

*GET, Par, NODE, 17, EPEL , x

ex17=par

*GET, Par, NODE, 18, EPEL , x

ex18=par

*GET, Par, NODE, 19, EPEL , x

ex19=par

*GET, Par, NODE, 20, EPEL , x

ex20=par

*GET, Par, NODE, 21, EPEL , x

ex21=par

*GET, Par, NODE, 22, EPEL , x

ex22=par

*GET, Par, NODE, 23, EPEL , x

ex23=par

*GET, Par, NODE, 24, EPEL , x

ex24=par

*GET, Par, NODE, 25, EPEL , x

ex25=par

! ввод переменной для напряжения по У

*GET, Par, NODE, 1, EPEL , y !ex - переменная для вывода значения Y в узле №1

ey1=par

*GET, Par, NODE, 2, EPEL , y

ey2=par

*GET, Par, NODE, 3, EPEL , y

ey3=par

*GET, Par, NODE, 4, EPEL , y

ey4=par

*GET, Par, NODE, 5, EPEL , y

ey5=par

*GET, Par, NODE, 6, EPEL , y

ey6=par

*GET, Par, NODE, 7, EPEL , y

ey7=par

*GET, Par, NODE, 8, EPEL , y

ey8=par

*GET, Par, NODE, 9, EPEL , y

ey9=par

*GET, Par, NODE, 10, EPEL , y

ey10=par

*GET, Par, NODE, 11, EPEL , y

ey11=par

*GET, Par, NODE, 12, EPEL , y

ey12=par

*GET, Par, NODE, 13, EPEL , y

ey13=par

*GET, Par, NODE, 14, EPEL , y

ey14=par

*GET, Par, NODE, 15, EPEL , y

ey15=par

*GET, Par, NODE, 16, EPEL , y

ey16=par

*GET, Par, NODE, 17, EPEL , y

ey17=par

*GET, Par, NODE, 18, EPEL , y

ey18=par

*GET, Par, NODE, 19, EPEL , y

ey19=par

*GET, Par, NODE, 20, EPEL , y

ey20=par

*GET, Par, NODE, 21, EPEL , y

ey21=par

*GET, Par, NODE, 22, EPEL , y

ey22=par

*GET, Par, NODE, 23, EPEL , y

ey23=par

*GET, Par, NODE, 24, EPEL , y

ey24=par

*GET, Par, NODE, 24, EPEL , y

ey24=par

*GET, Par, NODE, 25, EPEL , y

ey25=par

!Суммирую деформации по Х и У ( прошу не обращать внимания, что названо как сигма)

sigma1=ex1+ey1

sigma2=ex2+ey2

sigma3=ex3+ey3

sigma4=ex4+ey4

sigma5=ex5+ey5

sigma6=ex6+ey6

sigma7=ex7+ey7

sigma8=ex8+ey8

sigma9=ex9+ey9

sigma10=ex10+ey10

sigma11=ex11+ey11

sigma12=ex12+ey12

sigma13=ex13+ey13

sigma14=ex14+ey14

sigma15=ex15+ey15

sigma16=ex16+ey16

sigma17=ex17+ey17

sigma18=ex18+ey18

sigma19=ex19+ey19

sigma20=ex20+ey20

sigma21=ex21+ey21

sigma22=ex22+ey22

sigma23=ex23+ey23

sigma24=ex24+ey24

sigma25=ex25+ey25

dx1=0.5*(-3*sigma1+4*sigma2-sigma3) ! Согласно схемам 3,4,5 МКР нахожу производные по тетта в узлах, шаг разбиения равен 1

dx2=0.5*(sigma3-sigma1) ! Вы писали, что можно найти производные в Ансисе, но я не разобрался, читаю, разбираюсь.

dx3=0.5*(sigma4-sigma2)

dx4=0.5*(sigma5-sigma3)

dx5=0.5*(sigma3-4*sigma4+3*sigma5)

dx6=0.5*(-3*sigma6+4*sigma7-sigma8)

dx7=0.5*(sigma8-sigma6)

dx8=0.5*(sigma9-sigma7)

dx9=0.5*(sigma10-sigma8)

dx10=0.5*(sigma8-4*sigma9+3*sigma10)

dx11=0.5*(-3*sigma11+4*sigma12-sigma13)

dx12=0.5*(sigma13-sigma11)

dx13=0.5*(sigma14-sigma12)

dx14=0.5*(sigma15-sigma13)

dx15=0.5*(sigma13-4*sigma14+3*sigma15)

dx16=0.5*(-3*sigma16+4*sigma17-sigma18)

dx17=0.5*(sigma18-sigma16)

dx18=0.5*(sigma19-sigma17)

dx19=0.5*(sigma20-sigma18)

dx20=0.5*(sigma18-4*sigma19+3*sigma20)

dx21=0.5*(-3*sigma21+4*sigma22-sigma23)

dx22=0.5*(sigma23-sigma21)

dx23=0.5*(sigma24-sigma22)

dx24=0.5*(sigma25-sigma23)

dx25=0.5*(sigma23-4*sigma24+3*sigma25)

dy1=0.5*(-3*sigma1+4*sigma6-sigma11) ! Выражения производных по У

dy2=0.5*(-3*sigma2+4*sigma7-sigma12)

dy3=0.5*(-3*sigma3+4*sigma8-sigma13)

dy4=0.5*(-3*sigma4+4*sigma9-sigma14)

dy5=0.5*(-3*sigma5+4*sigma10-sigma15)

dy6=0.5*(sigma11-sigma1)

dy7=0.5*(sigma12-sigma2)

dy8=0.5*(sigma13-sigma3)

dy9=0.5*(sigma14-sigma4)

dy10=0.5*(sigma15-sigma5)

dy11=0.5*(sigma16-sigma6)

dy12=0.5*(sigma17-sigma7)

dy13=0.5*(sigma18-sigma8)

dy14=0.5*(sigma19-sigma9)

dy15=0.5*(sigma20-sigma10)

dy16=0.5*(sigma21-sigma11)

dy17=0.5*(sigma22-sigma12)

dy18=0.5*(sigma23-sigma13)

dy19=0.5*(sigma24-sigma14)

dy20=0.5*(sigma25-sigma15)

dy21=0.5*(sigma11-4*sigma16+3*sigma21)

dy22=0.5*(sigma12-4*sigma17+3*sigma22)

dy23=0.5*(sigma13-4*sigma18+3*sigma23)

dy24=0.5*(sigma14-4*sigma19+3*sigma24)

dy25=0.5*(sigma15-4*sigma20+3*sigma25)

A=-1800 ! коэффициент для правой части уравнения, посчитан отдельно

x1=A*dx1 ! Значение объемных сил в узлах по Х

x2=A*dx2

x3=A*dx3

x4=A*dx4

x5=A*dx5

x6=A*dx6

x7=A*dx7

x8=A*dx8

x9=A*dx9

x10=A*dx10

x11=A*dx11

x12=A*dx12

x13=A*dx13

x14=A*dx14

x15=A*dx15

x16=A*dx16

x17=A*dx17

x18=A*dx18

x19=A*dx19

x20=A*dx20

x21=A*dx21

x22=A*dx22

x23=A*dx23

x24=A*dx24

x25=A*dx25

y1=A*dy1 ! Значение объемных сил в узлах по У

y2=A*dy2

y3=A*dy3

y4=A*dy4

y5=A*dy5

y6=A*dy6

y7=A*dy7

y8=A*dy8

y9=A*dy9

y10=A*dy10

y11=A*dy11

y12=A*dy12

y13=A*dy13

y14=A*dy14

y15=A*dy15

y16=A*dy16

y17=A*dy17

y18=A*dy18

y19=A*dy19

y20=A*dy20

y21=A*dy21

y22=A*dy22

y23=A*dy23

y24=A*dy24

y25=A*dy25

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

! Услоивие выполнения решения можно считать если значения Xn,Yn близки к нулю.

! С делаю все в ручную и это ужасно долго, ниже создаю массив вручную сил и прикладываю вручную. Это проблемно

*dim, forcex, array, 25

FORCEX(1)= x1

FORCEX(2)= x2

FORCEX(3)= x3

FORCEX(4)= x4

FORCEX(5)= x5

FORCEX(6)= x6

FORCEX(7)= x7

FORCEX(8)= x8

FORCEX(9)= x9

FORCEX(10)= x10

FORCEX(11)= x11

FORCEX(12)= x12

FORCEX(13)= x13

FORCEX(14)= x14

FORCEX(15)= x15

FORCEX(16)= x16

FORCEX(17)= x17

FORCEX(18)= x18

FORCEX(19)= x19

FORCEX(20)= x20

FORCEX(21)= x21

FORCEX(22)= x22

FORCEX(23)= x23

FORCEX(24)= x24

FORCEX(25)= x25

*do, i, 1, 25 ! Задание сил по узлам, направление Х

F,i,FX,forceX(i)

*enddo

*dim, forcey, array, 25

FORCEY(1)= y1

FORCEY(2)= y2

FORCEY(3)= y3

FORCEY(4)= y4

FORCEY(5)= y5

FORCEY(6)= y6

FORCEY(7)= y7

FORCEY(8)= y8

FORCEY(9)= y9

FORCEY(10)= y10

FORCEY(11)= y11

FORCEY(12)= y12

FORCEY(13)= y13

FORCEY(14)= y14

FORCEY(15)= y15

FORCEY(16)= y16

FORCEY(17)= y17

FORCEY(18)= y18

FORCEY(19)= y19

FORCEY(20)= y20

FORCEY(21)= y21

FORCEY(22)= y22

FORCEY(23)= y23

FORCEY(24)= y24

FORCEY(25)= y25

*do, i, 1, 25 ! Задание сил по узлам, направление Х

F,i,FY,forceY(i)

*enddo

post-31753-1375899086.png

Ссылка на сообщение
Поделиться на других сайтах

Наука - называется. МКЭ решает в перемещениях, берем производные - ошибка нарастает, еще раз - еще нарастает :unsure:

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • jtok
      Он сильно зависит от марки PP, от расчетной температуры и от расчетного срока службы (количества циклов нагружения). Поищите стандарт DVS 2205, части 1 и 2. В нем есть номограммы долговременной прочности. Он на немецком, но ничего лучше нет. Номограммы эти приведены по ссылке, внизу страницы, раздел "Список приложений".  Например, диаграмма для PP type 1 по ссылке: В оригинале же выглядят они вот так (для PP type 1): Также был древний документ на русском по этой теме, прицеплен к сообщению. _raschet_emkosti DVS 2205-2.pdf
    • Andrey_kzn
      - тут возможно смысл сообщения в том, что оси не синхронизированы, только вот зачем синхронизировать  оси X и Y не понятно. В случае двух шпинделей например,  coupled будет означать синхронизацию.
    • niagara39
      Правильно ХУ на этом станке не перпендекулярны. Тормоз оси У включен постоянно, отключается только при перемещении самой оси У. Координаты не  меняются... Знать бы что за параметры, пока ничего подобного не нашли
    • nicomed
      Поднял старые записи. Из того что было максимально похоже на то, что можно было назвать "получалось" :   Самому не совсем понятно поведение СкетчМенеджера при отрисовке линии от координат 0,0,0 - частенько слетает в произвольное место на виде. 
    • maxx2000
      на втором  скрине PLC сообщает что-то типа "старт программы запрещён потому что оси ХУ не связаны". Возможно станок в режиме точения должен заблокировать перемещение У, включить тормоз или что-то ещё для произвольного смещения под нагрузкой. Возможно косяк в тексте программы.
    • maxx2000
      @sneg0vik как это? Если ХУ не перпендикулярны то это уже не У, а скажем ось В. Нет, конечно в теории можно построить станок с неперпендикулярными ХУ. Вопрос зачем? Gildemeister CTX 420 это же токарно-фрезерный с осью У
    • sneg0vik
      На станке ось "X" является наклонной по отношению к оси "Y" (т. е. они не перпендикулярны). Поэтому надо полагать (учитывая текст ошибки) у вас отключена связь оси "Y" с осью "X".   Проверьте меняются ли координаты оси "X", когда вы двигаете ось "Y". И наоборот. Если - нет, то ищите как включить (наверное через параметры) взаимосвязь оси "Y" с осью "X".
    • ДОБРЯК
      Если ваш Заказчик и такую работу примет, то необходимо в шпоночное отверстие добавить и массу воды. Примерно 1/4 от той массы которую вы будете добавлять.  Да и еще и не забыть добавить момент инерции от воды.
    • Soprin
      В функции MOVE по F7.3 должно же из R270 переносить в R278?
    • niagara39
      Причина все еще не найдена... Но заметил, что сразу после включения в меню диагностики появляется следующее предупреждающее сообщение: 10155 M: Y-axis: Y-axis and X-axis not coupled , но причина его появления и его смысл неизвестны
×
×
  • Создать...