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

Итерации в 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 пользователей

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




  • Сообщения

    • lem_on
      Так до них через прокладки надо добиратся, а они подводят. Я синумерик хотел онлайн, но воть!!!
    • gudstartup
      Менеджеры вас учить не будут а преподаватели там хорошие @Viktor2004 обучение понравилось... Всему сразу научить нельзя надо к этому вопросу поэтапно подходить... Пусть автор опроса озвучит чему конкретно он хочет научиться а для начала руководство по эксплуатации станка почитает и я уверен что многое прояснится
    • lem_on
      Обращался я туда, либо мне менеджер туповатая попалась, либо да. Спрашиваешь одно, присылают вообще левую инфу. На запрос поменять менеджера, сказала что другие работают так же и вообще сам дурак. 
    • david1920
      Я понял что ему не кабель а пульт надо Я это к тому что ему от простого станка не подойдёт
    • gudstartup
      так автору пульт нужен а не кабель а протокол и отпечатки пальцев на кнопках пусть  СК интересуется с целью выяснения кто же работает на этих вражеских станках несмотря на санкции и как с этими санкциями бороться 
    • gudstartup
      Руководства @Артём 12334 ежели языками  не владеете то ищите на русском в инете этого добра хватает.  Если хотите курсы тогда в Становление а если вебинары тогда в ютюб.
    • david1920
      Вы бы конкретизировали свои потребности
    • Артём 12334
      Кто может научить работать на ней?
    • maxx2000
      Строишь конус Строишь спираль с переменным шагом вокруг этого конуса диаметром не меньше основания Проецируешь спираль на конус По полученной кривой протягиваешь сечение с вычитанием материала
    • david1920
      -Ты дурак? -Нет -Не надо было отвечать,это был риторический вопрос
×
×
  • Создать...