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

Решение контактной задачи с 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 пользователей

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




×
×
  • Создать...