2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6 ... 9  След.
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 12:36 


16/04/19
161
Для ansys есть theory reference (http://research.me.udel.edu/~lwang/teac ... manual.pdf), детали естественно за кадром.

Из более низкоуровневых есть ещё deal.II.
В разделе tutorial (https://www.dealii.org/current/doxygen/ ... .html#list) более-менее описаны численные схемы, плюс даются ссылки на публикации. Код открытый - любые детали доступны.

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 12:37 
Заслуженный участник


21/08/10
2462
amon в сообщении #1389735 писал(а):
Если Вы по моей ссылке пробежались


Ну там даже кратко пробежаться неделю надо... Что-то полистал, но не более того. Убивает совершенно "клиповый" стиль изложения, без какой-либо объединяющей логики.

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 12:39 


27/08/16
10232
Pavia в сообщении #1389732 писал(а):
Это не метод PDE, а метод FDTD

Не путайте исходную математику (PDE) с методами её численного решения (FDTD).

Вообще, наверное, если ТС нужны основы, то для начала нужно ознакомиться с учебниками по методу конечных элементов (FEM, Finite Element Method). С какими корнкретно не подскажу, но гуглится немало, да и тут вот народ обсуждает, какие учебники ему лучше читать: https://www.researchgate.net/post/What_ ... te_element

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 12:43 
Заслуженный участник


21/08/10
2462
feedinglight в сообщении #1389738 писал(а):
Для ansys есть theory reference


Спасибо. Хоть какие-то формулы есть, если кратко пролистать. Может это и полезно. Последовательное изложение бы, в духе учебника... Но не кнпкодавского толка. Боюсь, такого просто не существует в природе :-(

-- Сб апр 27, 2019 16:50:55 --

amon в сообщении #1389735 писал(а):
Если время терпит, в понедельник попробую соответствующий кусок выложить.



Терпит, терпит. Все это в значительной мере просто мое любопытство. Хотя с практической точки зрения тоже не помешало бы (хотя можно и на других людей скинуть, самому этим не грузиться)...

В принципе меня напрягает именно сложная геометрия да еще со всякими неоднородностями. Если бы речь была о численном решении ДУЧП в простой области (ну, типа цилиндра и т.п.) вообще вопросов бы не было: такую программу (не универсальную, конечно) я и сам напишу в два счета и за пару вечеров :-) При том, что давно уже, лет так 30, как забросил программирование. Но сложная геометрия вызывает у меня какой-то мозговой ступор :-)

-- Сб апр 27, 2019 16:55:35 --

Pavia спасибо за ответ, но такие ответы (где Вы показываете какой Вы умный, а не помогаете мне это все понять) мне не нужны. Всего Вам хорошего, и лучше не мешайте.

-- Сб апр 27, 2019 17:01:27 --

amon в сообщении #1389735 писал(а):
то видели, что фактически решается интегральное уравнение,



Вот это подробнее бы. Не понятно.

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 13:05 


27/08/16
10232
Alex-Yu в сообщении #1389743 писал(а):
Но сложная геометрия вызывает у меня какой-то мозговой ступор
Дык. Триангулируйте сложную геометрию. Т. е. бейте трёхмерную область на небольшие тетраэдры. И останется у вас только простая геометрия.

Разбиение трёхмерной области на тетраэдры (meshing) - это отдельная наука. Двумерные домены бьются обычно на треугольники. Равно в случаях когда домен эффективно двумерный из-за симметрии задачи. Одномерные домены, по-старинке, на отрезки, но различной ширины.

Метод конечных элементов хорош ещё тем, что аппроксимирует лучше, чем классические разностные схемы на прямоугольных сетках. Разностные схемы используются более высокого порядка, плюс размеры ячеек можно выбирать различными в зависимости от скорости изменения физвеличин в окрестности ячейки. Ожидаемой, или адаптивно доразбивая ячейки в ходе расчётов. Но он вычислительно сложнее, так как всякие "прогонки" к нему неприменимы. Тот же Comsol имеет несколько различных конфигурируемых решателей получающихся систем алгебраических уравнений.

-- 27.04.2019, 13:22 --

Alex-Yu в сообщении #1389726 писал(а):
Как поступать когда разные части тела из разного материала тоже не понятно.
Такие домены в один не объединяются, уравнения для них записываются независимо, для их решений на границе записываются краевые условия, которые сшивают решения для двух соседних доменов друг с другом. Например, совпадение температуры или одинаковость теплового потока с двух сторон границы. Потом расчётное ядро решает эти уравнения совместно, получая согласованное решение.

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

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 14:13 
Заслуженный участник


21/08/10
2462
realeugene в сообщении #1389747 писал(а):
для их решений на границе записываются краевые условия, которые сшивают решения


Это понятно. Но как это описать... Не формулой, а некой структурой данных в компьютере...

Ну, например, совсем простая геометрия: кубик из одного материала и в нем круглая дырка из другого материала. Пусть для простоты банальная стационарная теплопроводность. Ладно, можно устроить сетку в кубике, потом, используя уравнения цилиндра (дырки) пометить все узлы этой сетки неким флагом, показывающем узел находится в дырке или вне дырки (кстати, а похожим ли образом это делается в реальности...). И? Что дальше? Ясно, что равенство температур с двух сторон цилиндрической разделяющей поверхности. Но как это будет в терминах сетки и ее узлов? Если бы сетка была согласована с разделяющей поверхностью (узлы лежат на поверхности), было бы ясно. Но она не согласована.

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

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 14:31 
Заслуженный участник
Аватара пользователя


22/06/12
2129
/dev/zero
Alex-Yu, триангуляция дырки с помещением узлов на поверхность и условием разбиения "расстояние между узлами $\ll$ радиус дырки". У нас будет два пространства: цилиндра (краевые условия задаются узлами, которые мы засадили на поверхность) и кубика, в который мы его забили. Если заданы условия на кубике, то краевые условия на цилиндре зависят от расчёта параметрически и наоборот, а если на обоих сразу --- определять самосогласованным образом через поток тепла.

Или я не вижу чего-то, почему это не работает?

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 14:34 
Заслуженный участник


21/08/10
2462
StaticZero в сообщении #1389755 писал(а):
краевые условия задаются узлами, которые мы засадили на поверхность)


А они оказываются вовсе не на поверхности. Практически всегда поверхность пройдет между узлами, а не через узел.

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 14:40 
Заслуженный участник
Аватара пользователя


22/06/12
2129
/dev/zero
Alex-Yu в сообщении #1389756 писал(а):
А они оказываются вовсе не на поверхности. Практически всегда поверхность пройдет между узлами, а не через узел.

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

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 14:50 


27/08/16
10232
Alex-Yu в сообщении #1389754 писал(а):
Если бы сетка была согласована с разделяющей поверхностью (узлы лежат на поверхности), было бы ясно. Но она не согласована.
Почему не согласована? Она может быть согласована. Граница двумерная, она при мешинге бьётся на треугольники, на этих треугольниках строятся тетраэдры, вершины которых смотрят внутрь своих областей. Вот мы и получили согласованную сетку на границе.

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

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

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

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 14:51 
Заслуженный участник


21/08/10
2462
StaticZero в сообщении #1389757 писал(а):
Но должен быть какой-то модуль, который триангуляцию позволит изменить в этой части.



Вот-вот, где бы найти книжку, где вопросы подобного рода были ясно описаны, причем применительно к конкретной системе (в разных системах может быть по-разному). Все, что я пока видел, или это вообще про чистую математику. Например тут порекомендовали книжку про триангуляцию вообще, где таких вопросов даже не ставится (а вот просто заданы точки на плоскости их надо оптимально соединить ребрами). Или сплошное кнопкодавство: ткни мышкой туда, ткни сюда...

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 14:53 
Заслуженный участник
Аватара пользователя


22/06/12
2129
/dev/zero
Наши лекционные материалы по МКЭ.

http://rgho.st/7tp5TyDDw

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 14:54 
Заслуженный участник


21/08/10
2462
realeugene в сообщении #1389758 писал(а):
Другое дело, что это не обязательно, и, в общем случае, не нужно. Так как конечные элементы сами по себе занимаются интерполяцией функций в своих ячейках



Вот этого я не понимаю. Если граница не проходит через узлы (а так будет практически всегда, если не принять специальных мер), то в одном тетраэдре мы будем иметь два РАЗНЫХ уравнения! Для разных частей этого тетраэдра. И все "накрывается медным тазом" :-)

-- Сб апр 27, 2019 18:57:58 --

StaticZero в сообщении #1389760 писал(а):
Наши лекционные материалы по МКЭ.


"Доступ к запрашиваемому ресурсу ограничен по решению суда или по иным основаниям, установленным законодательством Российской Федерации"

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 14:57 
Заслуженный участник
Аватара пользователя


22/06/12
2129
/dev/zero
Alex-Yu, здесь ещё одна проблема - это выпуклость границы тело-тело. В случае цилиндра узлы на поверхности точно достаточны: задали их, потом привязались с одной стороны (одна среда), привязались с другой (другая среда). Если это не так, то придётся ещё помучиться с тем, чтобы границы расчётных КЭ лежали строго внутри одной или другой области. Тогда интерполяция будет верная.

-- 27.04.2019 в 14:59 --

(Оффтоп)

Alex-Yu в сообщении #1389761 писал(а):
"Доступ к запрашиваемому ресурсу ограничен по решению суда или по иным основаниям, установленным законодательством Российской Федерации"

А, я забыл, что этот ресурс забанен.


Сделал.

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение27.04.2019, 15:01 
Заслуженный участник


21/08/10
2462
StaticZero в сообщении #1389762 писал(а):
Если это не так, то придётся ещё помучиться с тем, чтобы границы расчётных КЭ лежали строго внутри одной или другой области.



Так быть не может, но, как я понимаю, это не проблема. Поверхность аппроксимируется набором плоских треугольников. И никакой выпуклости. Если, конечно, узлы согласованы с разделяющей поверхностью (как это еще сделать...).

Но это все фантазии. Изначально вопрос был о том, как сделано в конкретной системе. Ясно, что могут быть разные варианты... И не только как сделано именно это, но и как решены другие вопросы подобного рода.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 126 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 9  След.

Модераторы: photon, whiterussian, profrotter, Jnrty, Aer, Парджеттер, Eule_A, Супермодераторы



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

Сейчас этот форум просматривают: epros


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

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