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

О собственных частотах и формах


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

7 минут назад, Fedor сказал:

Я тоже через Якоби обычно определял.

И зачем было пользователю открытых кодов голову морочить? Он же поверил. :biggrin:

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


Здесь не церковь чтобы верить. Просто одну и ту же задачу можно решить многими способами. Но суть то одна .  найти собственные числа и собственные вектора. Я  просто предположил что при мощном распараллеливании возможно по постмодернистски вернуться к классике и искать через корни характеристического полинома. Кстати возможно и не программисту решать сколько итераций , а например по гидростатическому давлению или иному инварианту тензора что желаемая точность достигнута. Тут еще можно покопаться в условиях сходимости а не задавать фиксированное значение :)

 

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

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

через корни полинома и решения систем возможно быстрее будет

Через корни полинома возникают численные проблемы. Не до скорости в этом способе решения. Вы просто не получите решение.

Вы уже забыли о чем был разговор 15 минут назад. :biggrin:

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

 

То есть хотите сказать что двумя разными способами для одной задачи будете получать разные решения ?  Бред. Пивком охолонитесь  :)

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

То есть хотите сказать что двумя разными способами для одной задачи будете получать разные решения ?    

В одном случае не будет численных проблем. В методе вращений.

А в том случае который предлагаете вы будут численные проблемы.

Я говорю, то что говорю. И не нужно коверкать мои слова. :biggrin:

И если есть желание распараллелить, то используйте OpenMP, установите нужное количество ядер, и вперед. На каждом ядре вращайте тензор.

Если вы, конечно, понимаете, что такое OpenMP и как правильно с ним работать.:no_1:

 

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

http://stu.sernam.ru/lect_alg.php?id=80   Вот есть теорема, которая говорит, что проблем вроде комплексных чисел не будет. То есть их не может быть в принципе :)

 Если когда-то давным-давно помогал Юрию Тихомирову разбираться с Open GL  то смогу и с любыми другими оупенами, и библиотеками которые и сам делал не раз и не два, так что не смешите http://www.pinega3.narod.ru/grafic.htm   :)

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

Видите что такое величина https://ru.wikipedia.org/wiki/Величина_(математика)   Соответственно и величина силы. Больше-меньше для векторов не определяется. А вот для величины вектора, то есть его длины это пожалуйста. Разница как между перемещением и расстоянием в величине скорости на спидометре  :)   

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

Страуструп писал что есть в STL специальные массивы для агрессивной оптимизации кода и они раз в 30-35 ускоряют вычисление скалярных произведений в хороших компиляторах.

Вот этого мужики точно не знают. :no_1:

Расскажите более подробно что это за массивы. И какой компилятор хороший в 2018 года. и где эта кнопка агрессивной оптимизации.

При решении задачи на собственные значения как раз вычисляются скалярные произведения.

Это ускорит программу в 35 раз. :biggrin:

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

Читайте Страуструпа о STL  там было написано. А кнопки в настройках компиляторов как обычно :)

 

https://ru.wikipedia.org/wiki/SSE   вроде с этим связано ...

Или их расширениями типа     https://ru.wikipedia.org/wiki/SSE4#Скалярное_умножение_векторов

 

Детально я не разбирался

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

 

https://ru.wikipedia.org/wiki/SSE   вроде с этим связано ...

Или их расширениями типа     https://ru.wikipedia.org/wiki/SSE4#Скалярное_умножение_векторов

 

Детально я не разбирался

Вы в каком году живете @Fedor? Уже давно AVX512.:beee:

Все как обычно Детально я не разбирался.  

image061.gif                         (2.1.3.12)

Как с корнями уравнения 2.1.3.12. Для матриц 1 000 000 х 1 000 000. Детально я не разбирался:biggrin:

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

И где ускорение в 35 раз для трехмерных векторов? :biggrin:

Опять скажете что детально не разбирались. :)

Вы видимо действительно считаете, что работу с такими векторами можно ускорить.

16 минут назад, Fedor сказал:

библиотек  типа  https://en.wikipedia.org/wiki/Math_Kernel_Library   ... 

Какое отношение MKL имеет к STL?:no_1:

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

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

Никак не могу разобрать, что написано в формуле 2.1.3.2, ну и в выделенных красным местах? Не могли бы вы перезалить первое сообщение темы?

Показать содержимое  

5bd6ccf52eced_1.thumb.png.5294314206bb3f5c82cb671781a00607.png

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

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

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

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

Никак не могу разобрать, что написано в формуле 2.1.3.2, ну и в выделенных красным местах? Не могли бы вы перезалить первое сообщение темы?

Я эту информацию продублировал в теме 

11 сообщение. 

Изменено пользователем ДОБРЯК
Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, ДОБРЯК сказал:

Я эту информацию продублировал в теме 

Спасибо, теперь всё гораздо понятнее стало.

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

Никак не могу разобрать, что написано в формуле 2.1.3.2

По-сути то же самое, что U(t)=sin(w*t).

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

Лучше я продублирую

 

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

2.1.3 Собственные колебания

 

Собственные колебания механической системы совершаются при отсутствии внешних сил. Полагая в "уравнениях движения" (2.1.1.18) правую часть image002.gif равной нулю, получим уравнения собственных колебаний [6]:

image004.gif                             (2.1.3.1)

Решение уравнений (2.1.3.1) можно искать в виде гармоник с частотой колебания image006.gif:

image008.gif                                                                      (2.1.3.2)

Так как справедливы равенства:

image010.gif

то после подстановки image012.gif или image014.gif в уравнения (2.1.3.1) получим:

image016.gif                         (2.1.3.3)

В уравнении (2.1.3.3) члены, зависящие от времени, опущены. Система уравнений (2.1.3.3) имеет фундаментальное значение в теории колебаний. Ее решение позволяет найти собственные частоты image018.gif и собственные формы колебаний image020.gif механической  системы, image022.gif, где: image024.gif - число степеней свободы.

Общее решение системы уравнений (2.1.3.1) имеет вид:

image026.gif

(2.1.3.4)

Заметим, что в силу положительной определенности матриц image028.gif и image030.gif из (2.1.3.3) следует:

image032.gif                              (2.1.3.5)

т.е. собственные частоты image034.gif, (image022.gif) являются действительными (положи­тельными) числами, как и должно быть для консервативной системы. За исключением особых случаев, например, наличия определенной симметрии механической системы, все собственные частоты различны.

Покажем, что если

image037.gif           (2.1.3.6)

то справедливы следующие формулы ортогональности собственных форм колеба­ний:

image039.gif     (2.1.3.7)

Действительно, домножая векторные равенства

image041.gif

слева на image043.gif соответственно, получим:

image045.gif       (2.1.3.8)

Так  как  матрицы image028.gif и image030.gif симметричные, то из (2.1.3.8) следует:

image049.gif              (2.1.3.9)

Но image051.gif (см. (2.1.3.6)). Поэтому: image053.gif т.е. доказана справед­ливость второй формулы из (2.1.3.7). Отсюда с помощью (2.1.3.3) можно доказать справедливость первой формулы из (2.1.3.7). Для однозначного определения векторов собственных форм image055.gif необходимо ввести их нормировку. Введем сле­дующую нормировку собственных форм:

image057.gif           (2.1.3.10)

В этом случае справедливы равенства:

image059.gif         (2.1.3.11)

Таким образом, задача нахождения собственных колебаний механической системы свелась к задаче определения собственных частот и собственных форм для системы алгебраических уравнений (2.1.3.3):

image061.gif                         (2.1.3.12)

Методы решения задачи (2.1.3.12) рассмотрены в главе 8.

 

 

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

По-сути то же самое, что U(t)=sin(w*t).

Не правильно :biggrin:

U(t)=U*sin(w*t)

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

U - константа?

Это вектор. 

Сейчас придет @Fedor , и будет доказывать, что так как модуль вектора это скаляр, то и U - константа (скаляр).:biggrin:

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

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

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

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

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

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

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

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

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

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

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



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