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

Решение контактной задачи с Fluid Pressure Penetration в Воркбенче


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

Здравствуйте!

 

Разбираюсь с моделированием контактной задачи с использованием Fluid Pressure Penetration. Зайду издалека.

Решаю тестовую задачу - цель научиться моделировать поведение резиновых ублотнений в фланцах и тому подобных соединениях средствами Ansys WB (контакт, нелинейный расчет, гиперэластики, адаптивное перестроение сетки, приложение давления к деформированому уплотнению при помощи Fluid Pressure Penetration):

-двухмерная постановка - 2D Behavior - Plane Strain 

-резиновый цилиндр - гиперэластик, модель Муни-Ривлина с двумя параметрами С10=0,293МПа С01=0.177МПа D1=1,43Е-9 Па

-материал зажимов - сталь с билинейной зависимостью

-на первом шаге, верхняя деталь придвигается к нижней на -20 мм и сжимает резиновый цилиндр (на данном этапе все проблемы решены - работает контакт, работает адаптивное перестроение сетки)

-на втором шаге прикладываю давление к резиновому уплотнению с левой стороны при помощи Fluid Pressure Penetration (настраивается только командами на APDL).

Структуру команд брал из таких источников

 

Документация к Ансису

ANSYS Mechanical APDL Contact Technology Guide.pdf

 

Воркшоп 

http://innomet.ttu.ee/martin/MER0070/WB/WS12/FluidPressure_2/Mech_AC_14.0_WS03b-Fluid-Pressure.pdf

 

Обсуждение по этой ссылке

http://www.xansys.org/forum/viewtopic.php?t=23636

 

При помощи командных вставок:

-даю контактной поверхности название

 

-в пункте анализа - Static Structural создал два варианта командной вставки для задания самого Pressure Penetration

Вариант 1 - через контакты  
kbc,0                      !set load ramping
esel,s,etab,,kontakt       !select elements in contact region
sfe,all,1,pres,,0.0001     !specify 0.0001 MPa pressure to all contact elements
sfe,all,2,pres,,-1         !supress default starting point
cmsel,s,start_pt           !select node from named selection
esln                       !select elements attached to starting node
esel,r,etab,,kontakt       !select only contact elements
sfe,all,2,pres,,1          !specify selected elements as pressure starting point
allsel                     !reselect all elements

 

Hide  

 

Вариант 2 - с дополнительным Named Selection  
kbc,0                      !set load ramping
cmsel,s,pressure           !select nodes from named selection
esln,s,1                   !select elements attached to nodes
esel,r,type,,kontakt       !reselect only contact elements 
sfe,all,1,pres,,0.0001     !specify 0.0001 MPa pressure to all selected contact elements
sfe,all,2,pres,,-1         !supress default starting point
cmsel,s,start_pt           !select node from named selection
esln                       !select elements attached to starting node
esel,r,type,,kontakt       !select only contact elements
sfe,all,2,pres,,1          !specify selected elements as pressure starting point
allsel                     !reselect all elements

 

Hide  

задаю маленькое тестовое давление.

Для упрощения отладки отключил адаптивное перестроение сетки и включил на всех шагах слабые пружины (weak springs).

Для контроля результатов создал (как в примере из воркшопа) вывод пользовательских результатов при помощи программной вставки (в приложенном файле эта вставка отсутствует).

Пользовательские результаты  
/show,png
set,2,last
plesol,cont,fprs
set,3,1
plesol,cont,fprs
set,3,last
plesol,cont,fprs

 

Hide  

Этот вывод должен отображать наличие/отсутствие/изменение давления.

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

 

Уффф... С описательной частью закончил.

Теперь перейду к проблемам/вопросам.

1. Расчет разваливается, такое ощущение, что давление есть, но модель улетает, не могу определить приложилось ли вообще давление и куда. командная вставка для пользовательских результатов не создает изображений (если она вообще верна). И исходя из этого главный вопрос - что я не так делаю и как настроить анализ для правильного расчета?

2. Есть ли разница при настройке Fluid Pressure Penetration для анализа с адаптивным перестроением сетки - до приложения давления сетка в данной задаче может несколько раз перестроиться, к каким объектам сетки тогда привязываться. Остается ли при таком перестроении асоциативность с геометрией.

 

Прикладываю файл с архивом проекта в версии 18.0 и общий вид модели.

Заранее благодарен за помощь.

Fluid_Pressure_Penetration.zip

Снимок1.PNG

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


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

Также приложил отдельно геометрию.

На первых подшагах, когда прикладывается давление, уплотнение смещается в ожидаемом направлении, а потом расчет разваливается.

Fluid_Pressure_Penetration_v1.1.zip

Geometry.x_t

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

Когда открыл ваш расчет, контакты выглядели так:

 

https://i.imgur.com/Xl96sF6.png

 

Думаю, слетели во время модификации геометрии. Вообще, Generate Automatic Connections on Refresh = yes - жуткая опция :biggrin:

 

Использовал командные вставки из туториала. Вроде работает)

 

https://i.imgur.com/G1OChA0.png https://i.imgur.com/QfTXa23.png https://i.imgur.com/YB5Wt5R.png https://i.imgur.com/4lgNTJi.png https://i.imgur.com/7hjMOAo.png

 

А вот с NLAD, если и заведется, то нужно будет хорошо над скриптом подумать. Так как сетка перестраивается, изначальный компонент для start_point потеряется. Думаю, нужно будет в скрипте каким-то образом выбирать узел.

 

Fluid_Pressure_Penetration_REV2.zip

Изменено пользователем piden
Ссылка на сообщение
Поделиться на других сайтах

Спасибо, такие же выводы я написал Вам в личке), и вопрос: откуда берется значение ARG1 в командной вставке для команды sfe,all,1,pres,,ARG1 ?

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

Уже ответил в ЛС)

В свойствах объекта Commands, в окне слева внизу. Переменные ARG1...ARG9 можно использовать для задания параметров.

 

Еще передвинул уплотнение на 15 мм вправо. Если без этого, то после второго шага оно не касается правой стороной фланца, поэтому после приложения давления сложно достичь сходимости. Скорее всего получается, что после того, как повышающееся давление приведет в движение прокладку, нет сил, которые бы уравновесили давление с левой стороны, т.к. контакта еще нет. А в транзиент не хотелось все тащить.

 

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

Еще вопрос - на другой модели прикладываю высокое давление к резиновому уплотнению, задача не разваливается при использовании малого временного шага, с включенной опцией Auto Time Stepping при выборе большого значения для макс. шага по времени расчет постоянно разваливается(шаг по времени увеличивается до того момента, когда теряется сходимость по силам, потом решатель уменьшает шаг, но расчет разваливается), можно ли как-то улучшить сходимость или придется задать небольшой разброс временных шагов и считать все с очень малым шагом. Проблемы возникают на втором временном шаге.

1.PNG

Test.zip

Ссылка на сообщение
Поделиться на других сайтах
40 minutes ago, karachun said:

можно ли как-то улучшить сходимость

По-моему, это самая великая шаманская тема, во всех кодах :biggrin:

 

 

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

ясно, легких решений не будет, насколько я понял мне нужно обеспечить плавность нарастания нагрузки - условно Давление 1 МПа -100 шагов, 2 МПа - 200 шагов (но с учетом нелинейности во втором случае я могу рассчитывать только на то, что расчет дойдет до давления 1 МПа, а дальше как получиться)

Ссылка на сообщение
Поделиться на других сайтах
В 03.11.2017 в 15:35, karachun сказал:

можно ли как-то улучшить сходимость

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

 

Примерно там же, где Вы взяли упражнение про уплотнение, должно быть упражнение про потерю устойчивости трубы при изгибе, а также лекции по теме. На прошлой неделе на АКУМе как раз был доклад и мастер-класс на эту тему. Никита утверждал, что без стабилизации устал доводить задачу до сходимости.

 

Судя по тем результатам, внутри уплотнения возникают очень подвижные области, которые могут начинать вращаться. Именно этому препятствуют стабилизаторы. Вообще, есть вариант сделать примерно тоже самое попроще - перейти в transient.

А, и в контакты стабилизацию тоже можно добавить.

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

Пример нашел, спасибо!
Конструкцию модели я изменил, в предыдущем варианте был большой зазор и не удивительно, что податливая резина пыталась "вытечь". В новой новом варианте у резины меньше возможностей вытекать и сильно изменять свою форму.

Еще я увеличил жесткость резины до реальных значений и изменил модель гиперэластика на Neo-Hookean. С повышенной твердостью модель решается до необходимого давления.
В модели действительно внутренняя часть кольца проворачивается от давления жидкости и контактные поверхности скользят. На этом этапе расчет обычно разваливался.

Цитата

и контактной жесткости, которой вообще-то не должно быть

Разве уменьшение контактной жесткости не улучшит стабильность контакта млм эта опция действует только в Transient?

Ссылка на сообщение
Поделиться на других сайтах
12 минуты назад, karachun сказал:

Разве уменьшение контактной жесткости не улучшит стабильность контакта млм эта опция действует только в Transient?

Улучшит. Только контактной жесткости не существует. Это модель, чтобы хоть что-то получать. В идеале - контактная жесткость очень высокая, что мы редко делаем, поскольку постоянно снижаем жесткость контакта, чтобы достичь сходимости.

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

Я и не спорю,  "на самом деле ложки не существует", в данном случае я подразумевал параметр Normal Stiffness Factor только в контексте ткни кнопку - улучши сходимость)

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...
В 02.11.2017 в 15:57, piden сказал:

А вот с NLAD, если и заведется, то нужно будет хорошо над скриптом подумать. Так как сетка перестраивается, изначальный компонент для start_point потеряется. Думаю, нужно будет в скрипте каким-то образом выбирать узел.

Если верить новостям, https://cae-club.ru/publications/novye-vozmozhnosti-ansys-mechanical-r19 

Цитата

Физика

1 Нелинейная адаптивность

В новой версии была улучшена опция нелинейной адаптивности – автоматического перестроения сетки в процессе решения нелинейной задачи. Теперь поддерживаются 10 узловые тетра элементы (Solid 187 и Solid 227), сочетание нескольких критериев перестроения в одной опции, а также учет проникающего давления среды. Кроме того, в целом повышено качество сетки, после перестроений.

 

Ссылка на сообщение
Поделиться на других сайтах
  • 3 года спустя...
08.11.2017 в 15:20, karachun сказал:

Пример нашел, спасибо!
Конструкцию модели я изменил, в предыдущем варианте был большой зазор и не удивительно, что податливая резина пыталась "вытечь". В новой новом варианте у резины меньше возможностей вытекать и сильно изменять свою форму.

Еще я увеличил жесткость резины до реальных значений и изменил модель гиперэластика на Neo-Hookean. С повышенной твердостью модель решается до необходимого давления.
В модели действительно внутренняя часть кольца проворачивается от давления жидкости и контактные поверхности скользят. На этом этапе расчет обычно разваливался.

Разве уменьшение контактной жесткости не улучшит стабильность контакта млм эта опция действует только в Transient?

а не скинете ли посмотреть успешный вариант файл проекта?

Ссылка на сообщение
Поделиться на других сайтах
25 минут назад, rasta89 сказал:

а не скинете ли посмотреть успешный вариант файл проекта?

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

Изменено пользователем karachun
Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, karachun сказал:

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

ааа, не обратил внимание на дату постов

Изменено пользователем rasta89
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, rasta89 сказал:

ааа, не обратил внимание на дату постов

собственно это один из моих первых постов на форуме

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...

Подскажите пожалуйста, возможно ли подать давление последовательно? Сейчас давление давит параллельно сжатию резины между плоскостями. Если будет сильное давление резину выдавит, не успев прижать. Может быть подать давление после сжатия?

Какая это будет команда apdl, если это возможно?

Изменено пользователем rasta89
Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...
11.03.2022 в 14:17, rasta89 сказал:

Какая это будет команда apdl, если это возможно?

это будет упралвение шагами по времени

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • eljer0n
      Большое спасибо! Посмотрю. Но, судя по всему, даже если удастся заставить его сохранять чертеж с трехзначным исполнением, видимо, в той же спецификации правильного отображения не добиться. У Леона с товарищем был об этом разговор, что солид вроде как не воспринимает исполнения дальше двузначного. Хотя, может и я неправильно понял. Вернусь к этому вопросу чуть позже. Еще раз спасибо за совет.
    • mrVladimir
      @gudstartup @Viktor2004 спасибо Вам за такое участие.  Я вот тоже в maintenance manual заглянул (наконец-то ). А вот фраза "при замене FROM/SRAM необходимо ..." (под пунктом 3 во вложении) не подразумевает, что появление ps5523 произойдет только если мы решим на нашей чпу поменять именно FROM/SRAM. А при замене других печатных плат (в том числе и материнской ) необходимо только как написано в пункте 2 восстановить данные памяти SRAM и, при необходимости, файлы пользователя. Нет?
    • maxx2000
      @davidovka это же очевидно. Вдруг нужного размера не окажется  как в анекдоте  
    • davidovka
      А для чего и сотни исполнений в таблице и гибкость одновременно?
    • ak762
      в СВ есть встроенный калькулятор для расчета балок при различных сценариях нагружения если ваш профиль монорельса совпадает с предопределенными профилями то можно прикинуть поведение монорелься без анализа на картинке 2 расчета двутавровой балки в качестве теста    
    • Viktor2004
      @mrVladimir не спешите отчаиваться. Вопрос спорный Я завел новую тему в которой мы это выясним  
    • Viktor2004
      Уважаемые специалисты. У кого был опыт замены фануковских плат? Именно на ЧПУ. Пожалуйста напишите какое ЧПУ и какую плату меняли И результат. Подошла или не подошла  
    • gudstartup
      @mrVladimir к сожалению с вашей платой все не так просто вам придется приобрести ее клон то есть она должна быть подготовлена продавцом и в нее должен быть записан серийный номер вашей старой платы он на штрихкоде а так готовить умеют не все или готовьтесь к сертификации опций также есть еще один аппаратный вариант но не каждый будет на новую плату м\сх перепаивать с риском превратить ее в кирпич.   если бы у вас был отдельный модуль процессора то вы бы просто переставили его в новую плату и все а с этой платой из-за ее не модульности намучаешься
    • SAPRonOff
      в окне состава изделия снять замочки у колонки позиция, тогда генератор колонки состава изделия не будет им присваивать свои значения автоматически, а запомнит то - что вы поставили или стояло до изменений проекта: 
    • Kelny
      Смотреть надо процедуру main, почти в самом конце: Слева от этих строк на сером поле ставите красные точки (клик мышкой) и запускаете макрос, когда макрос дойдёт до обозначенных строк можно будет наводить мышку на перменные, например, sPathName и смотреть значения, что бы определить где сбой: Для продолжения выполнения макроса нажимаем зелёный треугольничек (как кнопка Play).      
×
×
  • Создать...