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

вопрос по sparse solver


Гость suvorov.as

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

Уважаемые форумчане!

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

Подскажите, пожалуйста, что именно делает ANSYS, когда в процессе решения выдает следующие строки:

curEqn=56518 tot Eqn=532321 ….

Factor Done =4% ….

(Данная фаза решения – самая продолжительная)

Происходит непосредственно факторизация, или уже прогонки с правой частью?

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


Решает нелинейную задачу по поиску собственных чисел и собственных векторов. Разреженность и разложение тут вспомогательные технологические операции. Заказывайте меньше собственных чисел для ускорения :unsure:

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

Ну коль гармонический не модальный, то просто идет разложение L D Lt тут уж все от связности и профиля матрицы зависит :unsure:

Треугольные решаются пренебрежимо быстро посмотрите метод окаймления у Джорджа и Лю в книжке, например .

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

Не знаю. Алгоритмы поиска перестановки в основном эвристические... Нарисуйте профиль, по нему обычно можно догадаться каким пользуются. В Matlab это несложно, насколько помню. По виду ненулевой оболочки. Для кубика какого-нибудь.

"комплексная" - это сомнительно. В мкэ обычно действительные числа, а не комплексная арифметика. А если пополам поделить Ваши оценки, то это уже даст похожую оценку...

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

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

Метод разложения Холецкого называют иначе методом квадратного корня(корней) . Если матрица А не является положительно определённой матрицей, в точной арифметике этот алгоритм прекратит работу досрочно при попытке извлечь квадрытный корень из отрицательного числа или разделить на нуль.

Таким способом можно экономично проверять матрицы на положительную определённость.

Для незнакоопределенных матриц тоже можно сэкономить половину времени, просто потребуются более сложеные разложения :smile:

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

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

Если бы еще какие-нибудь программы позволяли его не извлекать и делать LDLT было бы совсем здорово.

ИСПА делает такое разложение. И при желании и L матрицу можно извлечь.
Ссылка на сообщение
Поделиться на других сайтах

Я полагаю, что мы обсуждаем ту объективную реальность, какова она есть. Те ограничения, что вводятся например на LU разложение - я имею в виду корень из отрицательного числа, имеют под собой заботу об экономии и реальности того, что мы делаем - мне не нужны комплексные матрицы разложений при работе с вещественными, ибо тогда используемые алгоритма усложнятся, а время счета возрастет. В то же время, никто не утешал вас в том, что каждый раз используя mathcad вы сможите получать по крайней мере комплексно-значную матрицу. Нет и ещё раз нет, вы можете споткнуться на деление на нуль и это приведёт к некоторому сужению пределов использования LU разложения. Поскольку эти пределы уже известны и даже понятно, что они существуют реально, наилучшим выходом будет смотреть на ваши задачи немного приподнявшись над теми трудностями, которые у вас возникли - идти напролом неверно методически.

Как результат моделирования и в ходе вычислений в ансис могут появляться любые по знакоопределенности виды матриц. Полагаю, что основным решателем всего этого добра является sparse. Поэтому не уверена, что в ансис реализован "'элементарный" алгоритм LU-разложения

Могу сказать, то, что уже высказывала много раз.

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

Потому, если хотите разобраться с МКЭ и заодно с тем, как тут всё устроено в онтологическом плане(а не усложняют ли они всё на самом-то деле!!!), скачайте себе программу Tochnog c исходниками на C, разберитесь и больше проблем не будет :lamo:

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

Нет никаких физических соображений. Либо вы полагаете, что ваши матрицы являются почти положительно определёнными, применяете к ним LU, либо вы полагаете что ваши матрицы могут быть любыми, даже несимметричными почти сингулярными, применяете к ним соответствующие методы регуляризации тогда душа ваша может быть спокойна, ибо каких-либо трудностей быть уже не должно. Зачем вы объясняете типично математический формализм механическими аналогиями? у вас нету соответствующей аналогии - метод решения у вас численный, он не отображает верно все характеристики системы, ибо идеализирует как природу, так и поведение системы - а вы считает, что не только собственные числа матрицы будут истинными, но и её структура будет соответствовать вашим представлениям

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

Если говорить тупо про LU-разложение, то вашей задаче применять его нельзя. LDL разложение более подойдёт на вашего случая - там не требуется извлекать корни квадратные. Чтобы применить этот метод в неположительно определённым матрицам важно знать наперед что их ведущие главные подматрицы неврожденные. Но даже если и так, вычисления будут подпорчены ошибками округления.

А так вообще в книжке Голуба есть параграф об специальных методах решения неопределённых систем.

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

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

Голуб Дж., Ван Лоун Ч. Матричные вычисления

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

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

"bT(A-1)b " - взгляните, может пригодится <noindex>http://www.pinega3.narod.ru/fmin.htm</noindex>

Работало быстро и с малыми временными затратами при разреженных b .

А в остальном Цветочек права. LDLt= L sqrt(D) sqrt(D) Lt= M Mt . По числу умножений без разницы, а слегка неположительно определенные без проблем решается. По крайней мере проблем не было, а с квадратным корнем были если конечный элемент посильнее сдеформировать и ухудшить обусловленость матрицы.

"не положительно определенными матрицами" - интересно как они возникают?

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

Думаю, что возникновение неположительно определённых матриц вещь весьма интересная. Причём они могут появляться при различных обстоятельствах. Если у кого-то есть своя теория возникновения таких матриц в приложениях, я ознакомлюсь с ней в удовольствием. Ибо, ясно, что положительная определённость возникала именно в благодарность за отстуствие мороки от вычислителей. Вот заметьте, я ничего не рекламирую,ну какая помощь в человеку от этого?

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

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

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

Методы упорядочения матриц можно посмотреть в книге Деммеля Вычислительная линейная алгебра. :cool:

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

нет

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

Этого не может быть. Там скорее вообще матрицы используют как описательное средство, а не как составные части МКЭ
Ссылка на сообщение
Поделиться на других сайтах

"под общей матрицей жесткости подразумевают сумму матриц жесткости, демпфирования и масс" бред. Это сколько же надо водки с пивом выпить чтобы все компоненты динамической системы в одну кучу замешать ? Борман, прошу, отдайте Цветочку мое название гуру, дамы любят такое, а мне рядом с испой быть западло :unsure:

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

Федор, теперь это поле редактируется:

Ваш профиль - Изменить личные данные - Ваше название статуса

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

В разборки. Такие, какие Ньютон прописал, теормех попистайте. И когда только безграмотные дебилы закончатся? :rolleyes:

Ссылка на сообщение
Поделиться на других сайтах
  • MFS открепил тему
Гость
Эта тема закрыта для публикации сообщений.
  • Сейчас на странице   0 пользователей

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




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