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

вопрос по 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 пользователей

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




  • Сообщения

    • Danil89nur
      Доброе время суток. Столкнулся с проблемой на новой работе. Много деталей у который в свойствах отсутствует раздел "Материал" и приходится каждый раз вручную заходить туда, создавать раздел и выбирать там ""SW-Material@Name.SLDPRT". Возможно кто-то знает, либо сможет помочь с написанием простенького макроса, при нажатии на который в свойствах детали будет создаваться необходимый раздел и в нем сразу написан выбранный материал (желательно, чтоб там было указано сразу наименование материала, а не формула для его получения ""SW-Material@Name.SLDPRT"). Пытался самостоятельно через ChatGPT, но так как в програмировании я 0, то ничего не получилось)
    • Bot
      Коллеги, Благодарю вас за интерес к проекту электронной энциклопедии в области инженерного программного обеспечения PLMpedia, который более 15 лет развивался группой компаний ЛЕДАС. Представленный ниже скриншот передаёт содержание и структуру базы данных энциклопедии, накопленной за эти годы: именно такую начальную страницу, можно было до сегодняшнего дня увидеть, придя по адресу https://plmpedia.ru/ В последние несколько лет ЛЕДАС особенно интенсивно и результативно вкладывает все ресурсы в развитие своего основного бизнеса: см. ниже «О компании ЛЕДАС». Сегодня я с некоторым сожалением констатирую, что у компании ЛЕДАС более нет возможности отвлекать ресурсы своих сотрудников на некоммерческий (фактически волонтерский) проект PLMpedia. Вся база данных ресурса может быть безвозмездно передана любому юридическому или физическому лицу с единственным условием: наш преемник должен будет публично объявить о состоявшейся передаче и взятии на себя [...] View the full article
    • gudstartup
      @NordCom  у вас наверное это так происходит читайте этот раздел itnc_530.pdf
    • fenics555
      интересный индус. А нового то чего?
    • gudstartup
      откудова качаете мне интересно?
    • ДОБРЯК
      Совсем забыл про собственные вектора       собственный тон частота           0.013                        1   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00       собственный тон частота       15910.75                         2   Расчет собственных форм и частот   1         1   7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   1         2  -7.0711E-01   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00   0.0000E+00        
    • gudstartup
      так я это и написал
    • Viktor2004
      Обычно если сразу по всем осям, тогда это вентилятор БП. А на старых БП вентилятор может быть и на плате управления
    • gudstartup
      @NordCom какого года чпу? посмотрим более древние руководства а в принципе надо setup.elf запустить или у вас с windows?
    • Deunet
      Спасибо Вам! Но на пикчер ссылки не рабочие, пришлите пожалуйста, если у вас есть.
×
×
  • Создать...