Jump to content

Скольжение узла по балке


Recommended Posts

Добрый день, коллеги!

 

Может быть кто-то сможет подсказать - буду очень благодарен!

 

В общем, есть балка построенная балочными элементами (на рисунке сиреневая, вытянутая вдоль z).

К ней подходят от рамки вокруг пружины, пусть пока ограничивающие перемещения без поворотов (но в целом они должны быть также ограничены с некоторой жёсткостью).

Балка может достаточно далеко уезжать вдоль z, да и в остальных осях перемещаться и поворачиваться способна. Да и сама рамка вокруг может деформироваться.

 

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

 

Пробовал делать через слайдер, но он не имеет поворотных степеней свободы.

Пошёл через рестарт (ANTYPE,,REST) и через рождение и смерть элементов: узел пружин соединён с узлом балки через MPC. Построена вторая группа пружин (с малой жёсткостью), но она не присоединяется к балке. На каждом шаге решения узел из второй группы ищет ближайший к нему узел на балке. Если узел из первой группы удаляется выше некоторого критерия, то узел из второй группы перемещается к найденному ближайшему узлу балки ( "D,,," - шаг решения 2).

Затем на третьем шаге решения убиваем MPC первой группы и создаём MPC-связь второй группы пружин с балкой и задаю второй группе нужные жёсткости.

Всё хорошо, но вот только обе группы возвращаются в нулевое состояние (ненагруженное положение) и MPC-связь второй группы как-будто бы не создаётся.

 

Просьба подсказать идеи решения задачи.

Или прокомментировать моё решение - что может быть не так с точки зрения логики.

 

 

07.png


 

08.png

Link to post
Share on other sites


UnPinned posts

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

Link to post
Share on other sites

Добрый вечер!

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

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

Что-то подобное делал и с CP, код ниже (в файле).

 

Суть полученного: новый СР не создаётся, а старый не удаляется.

_08_05_04.txt

Edited by Avksent
Link to post
Share on other sites

некоторые комманды работают только в /Prep7

физически =сделать так чтобы координаты узлов совпадали.

Link to post
Share on other sites
2 часа назад, dronm сказал:

некоторые комманды работают только в /Prep7

Ну, они в коде реализованы в Prep7:

 

! Убиваем CP и создаём новый
FINISH  
/PREP7 
CP, , ALL, N6,Nbeam
CPDEL ,1
ALLSEL, ALL, ALL

 

первым CP создали новую связь

вторым CP - убили старую связь

 

но переходя обратно в /sol и решая задачу с рестартом эти строки игнорируются.

2 часа назад, dronm сказал:

физически =сделать так чтобы координаты узлов совпадали.

Так, собственно с помощью команды D мы и двигаем координаты. Но это "второй вариант".

Как можно ещё совместить координаты?

Link to post
Share on other sites

Математически требуется чтобы векторное произведение вектора вдоль оси балки и вектора перемещений узла вдоль балки равнялось нулю. Так можно записать требуемое условие... 

Link to post
Share on other sites

Кстати, если еще добавить скалярное произведение равное нулю, то получим условие присоединения в произвольной точке, не обязательно в узле :)

Link to post
Share on other sites
4 hours ago, Avksent said:

Ну, они в коде реализованы в Prep7:

 

! Убиваем CP и создаём новый
FINISH  
/PREP7 
CP, , ALL, N6,Nbeam
CPDEL ,1
ALLSEL, ALL, ALL

 

первым CP создали новую связь

вторым CP - убили старую связь

 

но переходя обратно в /sol и решая задачу с рестартом эти строки игнорируются.

Так, собственно с помощью команды D мы и двигаем координаты. Но это "второй вариант".

Как можно ещё совместить координаты?

я ж не виноват что код не корректен, я дал идею - за воплощение идеи в жизнь я не отвечаю

после CP, , ALL, N6,Nbeam, создалось  6 CP, связалось по UX, UY, UZ,Rotx,Roty,Rotz, а удаляете только первую,

у ANSYS сложно с логикой нумерации, поэтому либо сами определяете номер CP, а потом его удалете, либо

удаляйте все

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

Рекомендация - прежде чем запускать код на исполнение, убедитесь что он работает адекватно в режиме ввода

команд в командную строку.

Хорошо бы читать описание команд, хотя бы бегло.

В общем не в коня корм

Link to post
Share on other sites
AlexKaz
22 часа назад, Avksent сказал:

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

Нельзя сразу создать 100500 пружин для всех вариантов? Лишние пружины на каждом шаге "убивать".

22 часа назад, Avksent сказал:

Всё хорошо, но вот только обе группы возвращаются в нулевое состояние (ненагруженное положение)

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

Сохранять в переменные/таблицы или во внешний текстовый файл, конечно.

22 часа назад, Avksent сказал:

Пошёл через рестарт (ANTYPE,,REST) и через рождение и смерть элементов

Не помню, что будет, если использовать не рождение, а смену материала. Можно ввести фейковый материал с близким к нулю модулем Юнга и присвоить его ненужным пружинам. Потом в конце шага запомнить в переменных НДС пружин, поменять материал и задать сохранённое НДС.

Edited by AlexKaz
Link to post
Share on other sites
5 минут назад, AlexKaz сказал:

Нельзя сразу создать 100500 пружин для всех вариантов? Лишние пружины на каждом шаге "убивать".

 

Если через EKILL, то он для пружин не работает - уже думал о таком варианте.

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

 

COMBIN39 Assumptions and Restrictions
...

The element can not be deactivated with the EKILL command.

...

Link to post
Share on other sites
AlexKaz

Так выключенные элементы ресурсы решателя не расходуют...

С такими сложностями не проще передвигать узел на балке?

Link to post
Share on other sites
7 минут назад, AlexKaz сказал:

Так выключенные элементы ресурсы решателя не расходуют...

Разве на каждом шагу проверки не будет проверяться условие включения/выключения для каждого из миллиона элементов? Не выгоднее ли сделать условие "вручную" проверки "одного" элемента и его перенастройки на нужном шагу?


В целом, я конечно потестирую, но хотелось бы сравнить с решением через создание CP.

Edited by Avksent
Link to post
Share on other sites
AlexKaz
Только что, Avksent сказал:

Разве на каждом шагу проверки не будет условие проверяться для каждого из миллиона элементов?

Как организуете алгоритм. Если номера заранее известны, то всё можно сделать быстро.

А ленивый перебор по условию явно не оптимальный вариант.

9 минут назад, AlexKaz сказал:

С такими сложностями не проще передвигать узел на балке?

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.




  • Сообщения

    • FerzTolik
      Всем доброго дня! Помогите пожалуйста. во всех туториалах говорят, что ctrl используется для выбора нескольких линий, плоскостей, точек и тд. У меня почему то левый контрол поворачивает в вид слева, а правый контрол - поворачивает на вид справа. ничего не менял, в настройках клавиш все по умолчанию. Солид 2022, Винда 11. Помогите пожалуйста.
    • FerzTolik
      Всем доброго дня! Помогите пожалуйста. во всех туториалах говорят, что ctrl используется для выбора нескольких линий, плоскостей, точек и тд. У меня почему то левый контрол поворачивает в вид слева, а правый контрол - поворачивает на вид справа. ничего не менял, в настройках клавиш все по умолчанию. Солид 2022, Винда 11. Помогите пожалуйста.
    • Александр14
      2018 год 89200401488 ватсап, вайбер
    • Александр14
      Станок 2018 года. Не постоянно пользуемся м19, поэтому и хватило на долго. А без нее никак вообще.
    • gudstartup
      А у вас что абсолютно новый станок и сколько он проработал с этой времянкой?
    • Алексей10
      Все слелано. Офф  
    • Snake 60
      Есть, если Обозначение и Наименование формируется из имени файла: Ссылка на макрос: https://boosty.to/snake.nest/posts/6e429576-5b48-458d-bb37-0bcdd3305922?share=post_link
    • Aleksei92
      Дубль 2, укороченный вопрос №1 от поста выше :) Есть пост фрезерный 4+1, поворотный стол С и поворотная голова А.  При повороте головы на угол А-90 шпиндель располагается в горизонтальном положении. Но вот т.к. в САМ-е станок по дефолту меняет инструмент при дефолтном положении шпинделя (т.е. при плоскости обработки XY Z A=0 градусов), то соответственно, САМ мне насильно от моего желания возвращает шпиндель из горизонтального положения в вертикальное при смене инструмента. И нужно заново выбирать наклон шпинделя, что для моей СЧПУ iTNC 428 излишне.   Подскажите, пожалуйста, есть ли мысли как в посте настроить так, чтобы смена инструмента осуществлялась в любом положении и при этом выбранная ранее плоскость обработки working plane не менялась на дефолтную?
    • mr_Voden
      @Aleksei92 За счет Tcl можно "колхозить" вывод чего угодно и как угодно.
    • Orchestra2603
      Тут целая наука отдельная. Люди статьи пишут, пытаются какие-то методы математические построить. Там есть и вероятностные подходы, есть оценки на основе малых приращений, и всякие матричные манипуляции и минимизация квадрата ошибки. Можете почитать, например, эту книжку:  (Solid Mechanics and its Applications 38) M. I. Friswell, J. E. Mottershead (auth.) - Finite Element Model Updating in Structural Dynamics-Springer Netherlands (1995).pdf и эти пары статей:   Chen, H., Tee, K. (2014). Structural finite element model updating using incomplete ambient vibration modal data. Science China Technological Sciences, 57(9), 1677–1688.pdf Carvalho, J., Datta, B. N., Gupta, A., Lagadapati, M. (2007). A direct method for model updating with incomplete measured data and without spurious modes. Mechanical Systems and Signal Processing, 21(7), 2715–2731.pdf   Я много лет назад занимался задачами идентификации форм, частот, демпфирований. Помню, что когда, например, проявляются формы "оболочечные" на более высоких частотах, то разница становится сильно ощутимой, иногда даже не понять, какая форма из МКЭ какой форме из эксперимента соответствует.    Вы дайте больше конкретики: -Что у вас за конструкция? -Какой у вам массив данных из эксперимента? -Насколько сильно по частотам и формам вы не попади в эксперимент? Может ли тут сказаться влияние подвеса/закрепления конструкции в эксперименте, которым вы пренебрегли в расчетах? Демпфирование тоже может смазывать и немного сдвигать резонансные пики, а также искажать фазовые сдвиги перемещений по собственной форме. -В каких параметрах, по-вашему, "сконцентрирована" неопределенность в вашей МКЭ моделе? Иначе говоря, что мы можем менять и двигать в моделе, чтобы некоторые формы и частоты подогнались под эксперимент? Все что мы можем, так это менять пропорционально ("занижать/завышать") матрицы жесткостей и масс каких-то эленментов, так что, возможно, саму МКЭ модель тоже потребуется переделать.   Самое простое, что сейчас приходит в голову - попробовать собрать функцию цели из суммы квадратов ошибок по всем параметрам, и погонять design optimization с минимизацией этой функции цели. Понятно, что решение не будет единственным, и все такое. Но с этого хотя бы можно начать.   Удачи!
×
×
  • Create New...