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

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

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




  • Сообщения

    • Killerchik
      Вот это интересно....    Вроде бы не так много, учитывая Z14. Нехорошо, но можно и забить.
    • Solidman
      Из справки SolidWorks Вы можете переключаться между режимами отображения твердых тел и тел поверхности, переместив указатель на тело в графической области и нажав Tab для скрытия или Shift + Tab для отображения.  Кроме того, можно отобразить одно или несколько скрытых тел. Для этого переместите указатель в графическую область, затем нажмите и удерживайте сочетание клавиш Ctrl + Shift + Tab. Скрытые тела временно отображаются как прозрачные. Чтобы вернуть их в режим отображения, нажмите на них.
    • UkulyAlex
      Да не очень то удобно, у более сотни позиций замочки снимать,  ставить свой номер.... Ну да ладно, чтобы остальные позиции не менялись, просто добавляю дочернии пустые записи удаленных элементов с соответствующим номером. Правда после каждого обновления отчёта, приходится эти записи из таблички спецификации удалять.  Зато остальные позиции не меняют номеров....
    • ДОБРЯК
      Вы крутите одну шарманку. Уже третий раз про это сказали в этой теме. :=) Разговор должен по спирали развиваться. Если вы знаете как найти первые собственные числа и вектора для разреженных матриц, то напишите.  А если только знаете как находить корни характеристического полинома, то напишите про это еще 20 раз. :=)  
    • DuS
      Народ, подскажите, вроде бы видел макрос который разблокирует солид, но не могу его найти. Забодал после разных команд блокируется и ни в какую!!!! Пишет что "текущую операцию невозможно прекратить..."
    • Fedor
      Нахождение собственных чисел это нахождение корней характеристического полинома и при порядке выше 4 требует бесконечных итераций. А решение линейных систем уравнений требует  конечного числа шагов. Кроме того есть и метод вращений Якоби. Для нахождения главных значений тензора и их направлений , кстати, очень хорош в механике деформируемого тела :) 
    • Onizuka
      а) Вложенные таблицы семейств плохо сказываются на производительность. По возможности, сведите все в одну таблицу б) Создайте ускорители экземпляров. С вложенными таблицами тоже быстрее должно стать.
    • mml35
      Если интересно то мои наблюдения: Работала версия 8.08 (год) потом 8.09 (0,5 года) и все было норм. В первой половине марте комп сделал обновления win. (win10) Поcле этого началось. Сначала перестал открывать одну сборку. Виснет и все. Другие норм. Открыл ее с ноута (win7) версия Creo та же. Открылось норм, но с ошибками. Пересобрал. После этого открыл и с компа Win10. Но именно с этого времени и началось как у Вас. При этом в папке, из которой открываешь сборку формируется файл prt с аброкадаброй в названии -  5o259bk5gfgcs06kpl9o2e6ag0.prt.1. Потом удаляю его в ручную. Решил что обновление кривое. Переустановил win (февральская сборка ) с отключением обновлений. Ничего не изменилось, видимо не в обнове дело, просто совпало, но при этом где - то именно с этого времени перестала открываться справка инетная (хотя может и раньше так было, просто не заметил). Работает только локальная. Если при запуске (через txt стартовых настроек) не убивать окна, то именно в это же время появилась надпись, что мол ошибка соединения Creo (раньше так точно не было).  Пришлось создать маленькую сборку из 3х- пластин, ее открывает всегда. Открываешь, покрутишь ее секунд 30 - закрываешь. Потом все сборки отрываются норм. Если поторопится и покрутить сборку мало по времени (например 5-7 сек), то виснет прямо при закрытии сборки. Ситуация однотипна для всех трех компов с разным железом (дом/работа/деревня) и только на ноутбуке (самый слабый 4 -ый комп, который не принимает Win10 поэтому стоит win7) нет ни одного глюка. Если что то ломается на win10 и вообще не хочет открываться, беру папку на ноут - открываю, потом и на других компах с win10 открывается норм.  Может быть это связка - версия и обнова винды/обнова Creo + политика Creo и Win в связи с СВО к России. Включение VPN ничего не меняет справка Creo не доступна, только локально установленная.
    • ДОБРЯК
      Задача одна. Задача не менялась. Найти первые собственные числа и вектора для двух разреженных матриц К и М. Степенной метод это ближе к решению поставленной задачи. Если матрица М единичная, то обратной матрицы искать не нужно. :=) Но вопрос в другом. Какие собственные числа находит степенной метод? Смекаете о чем я говорю?:=) И что нужно изменить в степенном методе, чтобы найти ПЕРВЫЕ собственные числа и вектора?  
    • Bot
      Об авторах: сотрудники кафедры конструкции и проектирования двигателей летательных аппаратов Владимир Мелентьев, к.т.н, доцент, Александр Гвоздев, к.т.н., доцент, Александр Уланов, д.т.н., профессор; руководитель интерактивного комплекса опережающей подготовки инженерных кадров на основе современных цифровых технологий «Иммерсивные технологии в двигателестроении» Илья Лейковский. Оригинал статьи на сайте компании «Топ Системы» В статье рассматриваются задачи и результаты обновления учебного процесса на основе российского PLM-решения на кафедре «Конструкции и проектирования двигателей летательных аппаратов». Самарский университет образовался в 2015 году путём объединения Самарского аэрокосмического университета (ранее Куйбышевского авиационного института), который был основан в 1942 году, и Самарского государственного университета. Кафедра Конструкции и проектирования двигателей летательных аппаратов ещё в 90-е годы сделала ставку на оперативное внедрение в [...] View the full article
×
×
  • Создать...