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

Асимметричное/анизотропное трение


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

Товарищи. Как правильно задать трение, которое будет зависеть от направления?

Нашел вроде как соответствующие команды:

TB,FRIC,1,,,ORTHO 
TBDATA,1,0.0,0.8

Не получается, 

 

Изотропное согласно этой статье https://cae-club.ru/publications/peremennyy-koefficient-treniya работает, трение меняется в зависимости от параметров.

 

А вот ортотропное для примера с картинки - нет. Надо что бы в одну сторону было одно трение, в другую (логично) - другое.

Скрытый текст

 

image.pngimage.png

 

Командная вставка такая:

 

Цитата

MPDE,MU,cid
TB,FRIC,cid,,,ORTHO     ! Activate isotropic friction model
TBFIELD,TIME,0.0   ! Define first value of temperature
TBDATA,1,0.1,0.9
TBFIELD,TIME,10.0   ! Define first value of temperature
TBDATA,1,0.1,0.9

 

На трение влияет только первое число (0.1)

 

Как правильно задать трение зависящее от направление? Или может я вообще всё неправильно всё понимаю?

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


UnPinned posts
22 минуты назад, werymag сказал:

Нашел вроде как соответствующие команды:


TB,FRIC,1,,,ORTHO 

TBDATA,1,0.0,0.8

А если в TB единицу на CID заменить?

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

А если в TB единицу на CID заменить?

Ни на что особо не влияет. Сами команды то работают, первое трение работает. Если по времени поменять посреди расчёта - поменяется.  Не меняется именно от направления. Как оно вообще к осям привязано? В хелпе указано - в зависимости от главных направлений, но что за этой фразой стоит я не совсем понимаю (во всех направления {ХУZ? трение должно поменятся)

image.png

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

Ни на что особо не влияет. Сами команды то работают, первое трение работает. Если по времени поменять посреди расчёта - поменяется. 

Проглядел, что позже вставка целиком написана, пардон. А как ваш тест выглядит? Двигаете сначала по x, потом по y?

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

Проглядел, что позже вставка целиком написана, пардон. А как ваш тест выглядит? Двигаете сначала по x, потом по y?

Блин. Я только сейчас, прочитав ваше сообщение (спасибо!), сообразил, что мне не то нужно. Знатно я перепутал. Мне нужно, что бы сила трения была разной при движении, например в направлении Z и -Z, а данные команды меняют силу трения в направлениях, например Х и У. 

Вот же...

 

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

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

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

Расстояние скольжения - это тот, что в хелпе "sliding distance"? Насколько я помню, он считается от исходного положения элемента. То есть если вы зададите для Sliding Distance от минус много до 0 - одну величину, а от 0 до плюс много другую, то если будете двигать сразу в одном - направлении будет один коэффициент, сразу в другом - другой, а если на какое-то расстояние в одном, а потом назад - то до того как вернётесь в исходное положение коэффициент будет один и тот же.

Так что либо надо посмотреть, не обнуляется ли sliding distance как-то. Или есть ещё хардкорный вариант - написать своё трение через userfric subroutine, опираясь в нём не на абсолютное значение sliding distance, а на его инкремент.

 

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

Расстояние скольжения - это тот, что в хелпе "sliding distance"? Насколько я помню, он считается от исходного положения элемента. То есть если вы зададите для Sliding Distance от минус много до 0 - одну величину, а от 0 до плюс много другую, то если будете двигать сразу в одном - направлении будет один коэффициент, сразу в другом - другой, а если на какое-то расстояние в одном, а потом назад - то до того как вернётесь в исходное положение коэффициент будет один и тот же.

Так что либо надо посмотреть, не обнуляется ли sliding distance как-то. Или есть ещё хардкорный вариант - написать своё трение через userfric subroutine, опираясь в нём не на абсолютное значение sliding distance, а на его инкремент.

 

Блин. Субротина не сколько хардкорно, сколь очень долго. Надо мне ещё подумать... Может таки есть способ ...

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • GHEB
      Добрый день Создал некую модель, всё было хорошо, но после перезапуска программы почему то эскиз перестал привязываться к линиям: Выбираю "Эскиз" https://skr.sh/sPckC4oM2Sf Нажимаю на нужную мне плоскость https://skr.sh/sPc7M6DGRDq Выбираю линию https://skr.sh/sPcnw9t9J9u Пытаюсь начать рисовать от центра окружности https://skr.sh/sPc1Kklf8nM Пытаюсь рисовать от некой точки https://skr.sh/sPcECS6vnwL Как видно курсор не привязывается к точкам, из-за чего попасть точно не представляется возможным Тоже самое если я пытаюсь к эскизу например дорисовать линию https://skr.sh/sPcX7Wyj0e6  В настройках эскиза настроено так, пробовал "перетыкивать" не помогло: https://skr.sh/sPc1CoTvYDS Версия https://skr.sh/sPcH4esnnCK Скрин всего окна и настроек, о которых я вычитал тут:  https://skr.sh/sPcHbYP5iB4 Скрин https://skr.sh/sPcHbYP5iB4 всего окна и настроек, о которых я вычитал тут:      Нашёл "быстрые привязки, но они работают не очень хорошо для окружностей и между ними приходиться переключаться, до этого таокго не было, неудобо https://skr.sh/sPcvE3KzS3u
    • Viktor2004
      Вот этот пример работает безотказно Нажатие на F1 включает кипп-реле К50.0, нажатие F2 его выключает O8001 G240 P3 C0 G243 X2 Y0 A1 B0 (TEST PROGRAM) G240 P6 C0 G243 X7 Y[4 + 1] (SECOND SCREEN) G240 P7 C0 G243 X5 Y26 A1 B0 (K50.1) G243 X5 Y27 A1 B0 (ON) G243 X12 Y26 A1 B0 (K50.1) G243 X12 Y27 A1 B0 (OFF) IF [#8549 EQ 249] THEN G310 K50 Q1 ENDIF IF [#8549 EQ 248] THEN G310 K50 Q0 ENDIF M99  
    • gudstartup
      код клавиши обязан передаться приложению экран которого активен на данный момент времени а у вас получается что он неактивен и какое то другое приложение этот код забирает
    • vanek77777
      Не тебе судить об уровне моих знаний и умений) тебе конкретно написали выше, сделай и выложи сюда проект. Покажи на деле. Языком трепать ты горазд. Человек изначально спросил, как сделать в непрерывных 5 осях, а ты ему про 3+2 закатку. Зачем ему именно в 5 осях крутить это уже его дело. 
    • Viktor2004
      не знаю. Я на видео показал что код нажатой клавиши лишь кратковременно мигает в момент ее нажатия. Это в переменной #8549. Как его ловить со 100% успехом я не знаю Если из программы все удалить и оставить только нажатие кнопки, тогда работает
    • gudstartup
      куда же он девается из буфера клавиатуры ведь если код не считывать то он должен там находиться иначе неизбежен пропуск нажимаемых кнопок а это неправильно 
    • ДОБРЯК
    • maxx2000
      Я работал в одной конторе, так там был выделен человек, который мониторил ютуб каналы конкурентов на предмет того что видно на экранах мониторов попавших в кадр.
    • maxx2000
      @ДОБРЯК блин, ну что за шарады. Я ведь просто спросил, обсуждаете или нет. Мог просто сказать что да.
    • ДОБРЯК
      В одной модели может быть любое количество незакрепленных изделий. lambda_root_2 != 0. Если из матрицы жесткости вычесть lambda_root_2 * матрицу масс, то полученная матрица не будет вырождена, потому что lambda_root_2 != 0. Проверьте это. Это же легко проверяется.  Кому как. Достаточно повисеть на пружинках, чтобы понять... Я же не просто так в качестве примера дал диагональную матрицу масс. Думаю, что Федор уже догадался...:=)
×
×
  • Создать...