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

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

Здравствуйте!

 

Решил опробовать свои силы в МКЭ чуть глубже, а именно написать свою програмку для конечных элементов.

Задача, в целом, простая: ротор, динамика, как следствие - стержневые конечные элементы, расположенные друг за другом, матрица жесткости системы будет симметричная, диагональная... сказка для оптимизации, времени расчета и вообще!

 

Однако пришла беда: матрица жесткости элемента получается странной, а именно - её определитель равен нулю :g:

Что бы я не делал, но выявить причину мне не удалось  :wallbash:

 

Вот, обращаюсь к старейшинам за подсказкой, помощью и поддержкой.

 

Итак, собственно что я делал для вывода матрицы жесткости:

 

1. Рассмотрел задачу защемленного на конце (z=0) стержня, где z - осевая координата от 0 до L

*тут должна быть система уравнений теории стержней

 

2. Предположил, что объёмные нагрузки отсутствуют.

 

3. Собственно решил систему уравнений и получил решения типа:

 

ui(L) = Сумма(Qj*Cj)

 

где ui(L) - соответствующее перемещение или поворот 

Q- Соответствующие силы или моменты

C- Какие-то константы, зависящие от свойств стержня

 

4. Очевидно, что всю эту красоту можно записать в матричном виде:

 

Uz = Sz Fz

 

Uz = [u1(L),u2(L),...u6(L)]T

 

Fz = [Q1,Q2,...M3]

 

Sz = [...]6х6- матрица размерностью 6х6

 

Стоит отметить, что часть элементов S равны нулю:

20-02-2015+14-05-01.jpeg

 

5. Обращая S (матрица податливости по-логике), получим матрицу жесткости для элемента с защемленным концом:

 

Kz = Sz-1

 

6. Тогда потенциальная энергия элемента, обусловленная его деформацией, может быть записана в виде:

 
П(e) = 0.5 UzT*Kz*Uz
 

7. Далее необходимо найти матрицу жесткости в общем виде, для чего полагаем все перемещения и повороты на конце z = 0 произвольными. Вспоминаем, что потенциальная энергия плевать хотела  инвариантна по отношению к жестким движениям, т.о. можно двигая элемент, как твёрдое тело, прийти к нулевым перемещениям и поворотам на конце z = 0, при этом значение П не изменится.

 

Тогда произвольным перемещениям и поворотам на концах

 

U0 = [u1(0),u2(0),...u6(0)]T  и  UL = [u1(L),u2(L),...u6(L)]T

 

Соответствует следующее значение Uz

Uz = UL + Xz*U0

где Xz = 20-02-2015+14-20-36.jpeg

Или в другой записи через вектор узловых перемещений и поворотов элемента:

 

U(e) = [u0, UL ]

X = [Xz, Ez], Ez - единичный тензор 6х6

Uz = X*U(e)

 

8. Вспоминаем о потенциальной энергии:

 

П(e) = 0.5 UzT*Kz*Uz = 0.5 (X*U(e))T*Kz*(X*U(e)) = 0.5 U(e)T*K*U(e)

 

9. Т.о. матрица жесткости элемента:

 

K = XT*Kz*X

 

10. А её определитель, при определённых параметрах стержня равен нулю... какая жаль :thumbdown:

 

 

 

Добавлю: определители Sz и Kz нулю не равны.

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


Однако пришла беда: матрица жесткости элемента получается странной, а именно - её определитель равен нулю
Так оно и должно быть. Остальное почитаю...
Ссылка на сообщение
Поделиться на других сайтах

Так, судя по ответу Бормана мне пора немного отдохнуть и перечитать Зенкевича, Сегерлинда.

...

Так, не усну, пока не задам вопрос:

Пусть есть балка, разбитая на один КЭ, пусть она заделана в нуле... Ну конечно!!! Он же не закреплён никак у меня.

Спасибо! :rolleyes:

 

Глупо создавать было тему...

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

Решил не создавать новую тему. Продолжу в этой ветке.

 

Итак, я дописал програмку, стал её проверять.

 

Первая проверка - статика. Искал решение уравнений вида: K.X = F, где K - матрица жесткости, X - столбец перемещений и поворотов, F - столбец узловых сил и моментов.

Различные решения сравнивал с аналитическими. Собственно, всё сошлось, в том числе и кручение стержня вокруг оси.

 

Затем решил найти собственные частоты. Соответственно имеем: A2.X'' + K.X = 0, A2 - матрица инерции. Решал в пакете WolframMathematica, поэтому код выглядит так (чтобы выдать частоту в Герцах):

Sqrt [ Eigenvalues [ { K, A2 } ] ] / ( 2*Pi )

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

 

Для примера: защемлённая балка (опоры не абсолютно жесткие). Длина: 1 м. Диаметр (сечение - круг): 0.02 м. Сталь. По длине 1 конечный элемент. (можно больше, но для примера одного мне кажется достаточным).

 

Результат собственных частот: {179663., 179663., 103382., 14616.5, 10284.4, 10284.4, 1391.05, 139.678, 139.678, 14.1885, 14.1885, 8.62927}

Если смотреть справа налево: вторая и третья СЧ - изгибные частоты (хорошо совпадают), шестая (1391.05) - продольные колебания (ошибка - 10%, при 4 КЭ ошибка 0.5%).

А вот дальше начинаются проблемы: первая частота (8.629) - имеет форму крутильных колебаний. Более того, при увеличении количества КЭ появляется много нереальных частот, имеющих крутильную форму.

Видимо ошибка содержится в матрице A2, её вид я выложу чуть позже. А пока без её вида, можете ли подсказать: куда копать?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Отвечаю сам себе: проблема была с А2

невнимательность

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

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

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

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

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

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

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

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

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

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

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




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