2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки



Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

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



Начать новую тему Ответить на тему
 
 МКЭ упругость. Решение разреженной СЛАУ.
Сообщение31.08.2014, 10:49 


28/05/13
18
Решил разобраться в МКЭ и для этого написать свою программу (С#).
Нашёл в интернете уравнения для построения матрицы жёсткости тетраэдра. (решается задача упругости). написал процедуру, протестировал - вроде всё работает.
Написал процедуру построения глобальной матрицы жёсткости, - проверка прошла так же успешно.
Матрица жёсткости получается сильно разреженной.
http://pixs.ru/showimage/Bezimyanni_657 ... 645639.jpg
Гаусс не справляется. И в этом проблема.

Отдельно хочу рассказать о некоторых аспектах работы программы.
1. При построении матрицы жёсткости тетраэдра процедура может дать сбой, если узлы имеют одинаковые координаты, условно говоря, если X координаты первого и второго узлов одинаковые. Я это связываю с алгоритмом построения МЖ элемента. В нём присутствуют формулы, в знаменателе которых стоит разность координат узлов. Соответственно в таком случае происходит деление на 0.
2. Проверка верности процедуры построения МЖЭ проводилась на тех координатах, которые были представлены в интернетовской статье о построении МЖ тетраэдра. Результаты совпали.
3. Проверка верности процедуры построения ГМЖ проводилась следующим образом. Я рассчитал все МЖЭ системы. Они представляю собой таблицы 12х12 (в тетраэдре 4 узла по 3 координаты в каждом). Сложил элементы соответствующие всем выбранным координатам выбранных узлов. (условно говоря, нашёл во всех матрицах все элементы соответствующие 4 узлу координате Z, и сложил их). Сравнивать вручную вообще все элементы - довольно трудоёмкий процесс, поэтому я ограничился выборкой из нескольких узлов. Все вручную посчитанные результаты совпали с результатом написанной программы.
4. Процедура решения СЛАУ методом Гаусса тестировалась на не разреженных матрицах. Сравнение с популярными мат пакетами показали верность её работы.

Вопросы.
1. Приведённая матрица жёсткости - это нормально , что так много нулей?!
2. Выходит, что используемый мной алгоритм построения МЖ тетраэдра не самый общий, существует ли такой, который не проваливается на одинаковых координатах?
3. Может кто - то решал аналогичные задачи, и может сохранился код - очень хочется удостовериться в верности написанного - потому что, если есть ошибка придётся переделывать огроомную работу!! Или каким другим известным способом проверить мои матрицы.
3а. Для этого я готов сам выслать хорошо откоментированный код и/или разобраться в Вашем.
4. И самое главное, если всё же предположить, что ГМЖ верна, - как решить такую сильно разреженную СЛАУ?

 Профиль  
                  
 
 Re: Помогите. МКЭ упругость. Решение разряженной СЛАУ.
Сообщение02.09.2014, 14:02 


19/06/14
248
Новосибирск
brddrdtt в сообщении #902297 писал(а):
как решить такую сильно разреженную СЛАУ?

У Вас не слишком большая матрица, удобно пользоваться прямыми солверами, например SuperLU, MUMPS. Однако все они в сущности представляют собой метод Гаусса. Быть может, Вы не придали большого значения предобуславливателю, так как при аккуратном его применении обычно у Гаусса не возникает серьезных проблем.

 Профиль  
                  
 
 Re: Помогите. МКЭ упругость. Решение разряженной СЛАУ.
Сообщение02.09.2014, 17:09 
Заслуженный участник
Аватара пользователя


27/04/09
20805
Уфа
brddrdtt, не пишите вы всё целиком. Возьмите Math.Net Numerics и решайте систему не своим велосипедом. :-)

 Профиль  
                  
 
 Re: Помогите. МКЭ упругость. Решение разряженной СЛАУ.
Сообщение02.09.2014, 18:34 
Заслуженный участник


15/05/05
3347
USA
brddrdtt в сообщении #902297 писал(а):
4. И самое главное, если всё же предположить, что ГМЖ верна, - как решить такую сильно разреженную СЛАУ?
Есть много литературы по решению разреженных СЛАУ, например:
1) Р. Тьюарсон. Разреженные матрицы. 1977
2) А. Джордж, Дж. Лю. Численное решение больших разреженных систем уравнений. 1984
3) О. Эстербю, З.Златев. Прямые методы для разреженных матриц. 1987
4) С. Писсанецки. Технология разреженных матриц. 1988
5) Duff I.S., Erisman A.M., Reid J.K. Direct Methods for Sparse Matrices. 1989
6) Y. Saad. Iterative Methods For Sparse Linear Systems. 2003
7) T. A. Davis. Direct Methods for Sparse Linear Systems. 2006

Помнится, в (2) есть исходники на Фортране.

 Профиль  
                  
 
 Re: Помогите. МКЭ упругость. Решение разряженной СЛАУ.
Сообщение02.09.2014, 21:12 


28/05/13
18
Спасибо Arkhipov,arseniiv и Yuri Gendelman.
По-видимому, моя проблема всё-таки в неверном построении ГМЖ, возможно, даже корни уходят в МЖЭ. На сколько я понимаю, в ГМЖ на главной диагонали должны стоять не нулевые элементы. В таком случае, возможно, и предобуславливатель не понадобиться. Да,Arkhipov, - я действительно не придал ему никакое значение.
Придётся всё переделывать. arseniiv, можете подсказать - есть ли в этой библиотеке процедуры построения МЖ тетраэдра для упругой задачи.
Или, если знаете, подскажите, пожалуйста, библиотеки в которых они есть.

 Профиль  
                  
 
 Re: Помогите. МКЭ упругость. Решение разряженной СЛАУ.
Сообщение02.09.2014, 22:46 
Заслуженный участник
Аватара пользователя


27/04/09
20805
Уфа
Кажется, в последних версиях нет никаких алгоритмов для конечных элементов. Про другие пакеты для КЭ не в курсе, не занимался.

 Профиль  
                  
 
 Re: Помогите. МКЭ упругость. Решение разряженной СЛАУ.
Сообщение03.09.2014, 19:52 


28/05/13
18
Спасибо.
Буду искать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group