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

Как заменить матрицу жёсткости в ANSYS


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

Необходимо провести расчёт для одномерной задачи со скачком. Есть стержень с областями  V1 и V2, между ними граница. На границе узлы имеют двойную нумерацию. Есть два способа, первый - прописать в ANSYS условие контакта на границе, но я не знаю как это сделать. (Буду рад, если кто-нибудь подскажет.) Знаю, что условие контакта имеет вид:

ui (на левой границе) = ui (на правой границе) - Ui, где Ui - скачок в перемещениях, который задан по условию задачи.

 

Т.к. не нашёл способ прописать условие контакта в ANSYS, то был выбран способ извлечения глобальной матрицы жёсткости из ANSYS, её модификации и загрузке обратно.

 

Я получил из ANSYS Mechanical APDL глобальную матрицу жёсткости с помощью следующих двух команд:
*DMAT, MatKD, D, IMPORT, FULL, file.full, STIFF
*PRINT, MatKD, Kdense.matrix

 

После чего отредактировал её и хочу загрузить обратно. Какие команды для этого использовать?

Также есть ещё один вопрос: как получить из ANSYS вектор нагрузки F? (Который используется вместе с матрицей жёсткости A*U=F.)


Заранее спасибо.

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


UnPinned posts

Команда "CE". 

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

Т.к. не нашёл способ прописать условие контакта в ANSYS, то был выбран способ извлечения глобальной матрицы жёсткости из ANSYS, её модификации и загрузке обратно.

Охохо)

Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, Fedor сказал:

"одномерной задачи со скачком" скачек чего ?  :)

Скачок перемещений и напряжений

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

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

Ссылка на сообщение
Поделиться на других сайтах
27.11.2022 в 14:59, Igoshechka сказал:

Т.к. не нашёл способ прописать условие контакта в ANSYS

Лучше поясните что надо.

Если обычный контакт - это не сложно.

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

Хотелось бы немного обновить информацию.
Скачок - это заранее известная функция, которую необходимо добавить к СЛАУ в методе конечных элементов.
Предложенная ранее команда CE позволяет задать скачок в перемещениях, но только для статического случая. Я нашёл команду CECMOD, которая позволяет изменять значение константы в CE при решении, но в HELP крайне скудное описание того, как это реализуется (куда нужно нажать или что ввести?). А вот как задать скачок в усилиях (напряжениях) так найти и не удалось (как я понял это можно сделать как раз таки только преобразованием матрицы), поэтому вопрос того, как загрузить обратно в ANSYS изменённую матрицу остаётся актуальным.

Заранее спасибо за ответ.

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

Скачок - это заранее известная функция, которую необходимо добавить к СЛАУ в методе конечных элементов.

Есть вероятность, что если вы сможете объяснить, что за физика стоит за этим скачком, то все окажется проще, чем пыхтеть с матрицами напрямую.

Ссылка на сообщение
Поделиться на других сайтах
28.11.2022 в 16:58, Igoshechka сказал:

Скачок перемещений и напряжений

Т.е. у вас нарушается условие неразрывности? Иначе говоря, у вас два тела. Тогда о каком скачке напряжений вы говорите? По какому закону эти два тела взаимодействуют друг с другом?

Ссылка на сообщение
Поделиться на других сайтах
27.11.2022 в 14:59, Igoshechka сказал:

первый - прописать в ANSYS условие контакта на границе, но я не знаю как это сделать.

А ведь прописать контакт совсем несложно))

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

А ведь прописать контакт совсем несложно))

Я уже отвечал выше, что разобрался с тем, как реализовать скачок в перемещениях с помощью команды CE, но она не позволяет реализовать скачок в усилиях. Если вы сможете мне объяснить, как это сделать буду благодарен.

 

5 часов назад, Flint_ru сказал:

По какому закону эти два тела взаимодействуют друг с другом?

По всем законам теории упругости.

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

но она не позволяет реализовать скачок в усилиях

Перейдите к деформациям от напряжений через закон Гука, а от деформаций к перемещениям

Цитата

По всем законам теории упругости.

:) 

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

Я уже отвечал выше, что разобрался с тем, как реализовать скачок в перемещениях с помощью команды CE, но она не позволяет реализовать скачок в усилиях. Если вы сможете мне объяснить, как это сделать буду благодарен.

Контакт это не СЕ.

Я знаю, как организовать контакт(и далеко не я один), но не уверен, что это то, что вам нужно.

Потому что вы рассказываете про скачок напряжений и перемещений на границе, а не про физику задачи.

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

 

Ещё разок: если вам нужно организовать контакт двух тел - это просто, но я бы отправил вас в ВБ, там проще.

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

 

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

По всем законам теории упругости.

А что вы получаете в Гугле, если забиваете "contact apdl"?

Мне выдает видяха на три минуты. Не смотрел, но думаю она по теме.

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

А что вы получаете в Гугле, если забиваете "contact apdl"?

Я видел это видео ранее, и, на сколько могу судить, это не то, что нужно.

Возможно стоит попробовать ещё раз более развёрнуто.
Рассматривается задача в рамках линейной теории упругости с заданными скачками искомых функций.

 

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

 

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

Эти условия контакта мне и необходимо учесть в ANSYS.

 

 

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

как задать скачок в усилиях (напряжениях) так найти и не удалось

Первое решение - просто забить на упрощения и решать полную задачу безо всяких упрощений и подразделений на фундаменты и не фундаменты. компы сегодня быстрые, можно себе позволить. вряд ли у Вас что-то монструозное. ну, будет считать на 10 минут, а 10 часов - ничего страшного, привыкните. Возможно потребуется решать оптимизационную задачу. Это Вам придётся доказывать, что Вы специалист, а не нам.

Второе решение - бить задачу на transient с мелким шагом. На шаге самостоятельно формируете или берёте с предыдущего этапа в нужных элементах (области) напряжения, деформации, скорости, перемещения и закидываете в нужные узлы/элементы новые значения, которые потребуются.

Если есть непонятки по пункту 1 и 2 - можно начать выполнять и то, и то с реализации ПИД-регулятора - сразу триллион задач упрощает в мгновение.

1 час назад, Igoshechka сказал:

единственным источником возмущения являются скачки в перемещениях и усилиях на самой границе и они известны

Вам бы не с большой задачи начать, а на клочке бумаги формализовать что Вы вообще хотите? Понимаете, Вы не в софте чё-то делаете, а уравнения решаете. Начните с них.

Давайте прикинем. По заветам Ньютона:

dF=da*m=dddx*m =ddx*C= k*dx =... =... =..

Вы можете задать ускорение в узле на границе, какое захотите? Да. Вы можете задать скорость <//>? Да. Вы можете задать перемещение <//>? Да.

Далее мысль сами разовьёте, глядя на вот это равенство выше? Вам Fedor всё подсказал.

 

 

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

на границе контакта волны должны проходить друг через друга, не мешая

Суперпозицию в линейных задачах никто не отменял... 

Ссылка на сообщение
Поделиться на других сайтах
27.11.2022 в 05:59, Igoshechka сказал:

Я получил из ANSYS Mechanical APDL глобальную матрицу жёсткости с помощью следующих двух команд:
*DMAT, MatKD, D, IMPORT, FULL, file.full, STIFF
*PRINT, MatKD, Kdense.matrix

 

После чего отредактировал её и хочу загрузить обратно. Какие команды для этого использовать?

Также есть ещё один вопрос: как получить из ANSYS вектор нагрузки F? (Который используется вместе с матрицей жёсткости A*U=F.)

Эээ, если у Вас на руках полные матрицы - а чего сами то не возьмёте и не решите задачу? Матлаб-Сайлаб-Фортран-numpy - десятки-сотни способов решения. Метод Ньюмарка нагуглите наконец.

 

Как извлечь вектор сил? Например, через *get можно пройтись в цикле по всем узлам и попробовать вытащить нужное. Аналогично, через *vget (вроде).

Вектор сил командой вроде бы задаётся через *VEC, RHS, ...

 

Загрузка матриц той же командой

DMAT,,,IMPORT,APDL

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

Здесь предлагают прожмякать ряд меню чтобы вытащить вектор сил https://web.engr.uky.edu/~jbaker/ANSYS-Stiffness_Matrix-v8p1.pdf

 

 

ANSYS-Stiffness_Matrix-v8p1.pdf

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

Возможно стоит попробовать ещё раз более развёрнуто.

Обратите внимание насколько лучше фидбек)

3 часа назад, Igoshechka сказал:

В процессе преобразования этой постановки

Соглашусь с Александром, что может проще в лоб решать с обычным контактом.

Ладно проще - нагляднее и прозрачнее. И поле для ошибок меньше.

4 часа назад, Igoshechka сказал:

единственным источником возмущения являются скачки в перемещениях и усилиях на самой границе и они известны. Скачки входят в условие контакта.

Я может туплю, конечно, но кажется после преобразования у вас больше нет контакта, а есть граница. На границе нет скачков, там просто граничное условие.

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

Суперпозицию в линейных задачах никто не отменял... 

А контакты - нелинейная задача)

4 часа назад, Igoshechka сказал:

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

Неотражающие ГУ?

А то через контакт-то, который размыкаться может, без отражений волна не пройдет.

Откуда возникает вопрос, а понимаем ли под "контактом" одно и то же. Может вам нужно просто сетки связать? И нет там контакта на самом деле..

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

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

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

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

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

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

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

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

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

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

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




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