2014 dxdy logo

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

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




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


27/08/16
9426
Alex-Yu в сообщении #1389761 писал(а):
И все "накрывается медным тазом"

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

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

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


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


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

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

-- Сб апр 27, 2019 19:37:35 --

realeugene в сообщении #1389769 писал(а):
И всё далее получается автоматически.



Не понимаю. Как Вы будете устраивать невязку в пределах одного тетраэдра, если у вас на одной половине элементарного тетраэдра одно уравнение, а на второй половине -- другое. Интегрировать как???

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


30/01/06
72407
Alex-Yu в сообщении #1389754 писал(а):
Это понятно. Но как это описать... Не формулой, а некой структурой данных в компьютере...

Это скорее называется "численной схемой". Перевода не знаю. Ну и вообще numerical PDE on irregular mesh. На эту-то тему книги есть, поискать только надо.

Alex-Yu в сообщении #1389759 писал(а):
Вот-вот, где бы найти книжку, где вопросы подобного рода были ясно описаны, причем применительно к конкретной системе (в разных системах может быть по-разному).

Боюсь, у вас вопросы более начального уровня, чем запросы. Разделите их: сначала "общую теорию" (на это есть книги), потом "конкретные системы" (на это есть документация, но в непонятных пока терминах).

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

Ну это же тоже задача, которую предварительно надо решить. А если точки в пространстве?..

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

Вот это как раз решается численными схемами.

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


21/08/10
2404
Munin в сообщении #1389775 писал(а):
Ну это же тоже задача, которую предварительно надо решить


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

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


27/08/16
9426
Alex-Yu в сообщении #1389773 писал(а):
Не понимаю. Как Вы будете устраивать невязку в пределах одного тетраэдра, если у вас на одной половине элементарного тетраэдра одно уравнение, а на второй половине -- другое.

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

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


21/08/10
2404
realeugene в сообщении #1389777 писал(а):
Он целиком в одном домене с одной физикой



С какого это перепуга??? Если узлы не лежат на разделительной поверхности. В части тетраэдра одна среда, в другой части -- другая среда.

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


27/08/16
9426
Alex-Yu в сообщении #1389779 писал(а):
Если узлы не лежат на разделительной поверхности.

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

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


21/08/10
2404
Munin в сообщении #1389775 писал(а):
Разделите их: сначала "общую теорию" (на это есть книги),


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

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


22/06/12
2129
/dev/zero
Alex-Yu в сообщении #1389773 писал(а):
Достаточно перебрать ребра, соединяющие узлы внутри и снаружи. Естественно, это надо делать после того, когда расставлены флаги снаружи/внутри.

Если при этом понятно, где именно находится пересечение $\partial V$ с таким ребром, то да, это решение. Одно из возможных.

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


21/08/10
2404
realeugene в сообщении #1389781 писал(а):
С какой стати они будут не лежать на оддной поверхности, если мешер их положит на границу между доменами?


Ну Вы же, не я, сказали, что это не обязательно... Перечитайте свой собственный пост.

-- Сб апр 27, 2019 20:02:43 --

StaticZero в сообщении #1389784 писал(а):
Если при этом понятно, где именно находится пересечение $\partial V$ с таким ребром,



Ну найти точку пересечения поверхности, заданной уравнением (все исходные примитивы такие) с прямой, проходящей через две точки --- задача школьная :-)

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


30/01/06
72407
Alex-Yu в сообщении #1389776 писал(а):
Лобовое решение самоочевидно... С пространством все аналогично.

Упс... уже нет.

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


16/04/19
161
Если сетки 2-х тел согласованы и между телами, например, тепловой поток $\chi(T_1-T_2)$, то получится что-то типа такого:
$\int\limits_{\Omega}^{}\Lambda\, \operatorname{grad}T\, \operatorname{grad}\nu\, d\Omega+\int\limits_{S}^{}\chi(T_1-T_2)\nu\, dS=0$
то есть то что связано с тепловым потоком на границе контакта естественным образом попадёт в матрицу СЛАУ.
А если не согласованы? Тогда слагаемое $T_2$, которое относится ко второму телу, так просто в матрицу не засунуть. Придётся для пары соприкасающихся треугольников интегрировать на их пересечении. И в общем случае понадобится искать граничащие элементы. (Раз пришлось сетку делать не согласованную, значит для этого есть весомые причины, цилиндр двигается, например, значит область контакта заранее не известна).

Если же температура непрерывна на границе, то получится просто обычная задача с несогласованной сеткой (а не контактная).

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


21/08/10
2404
Munin в сообщении #1389787 писал(а):
Упс... уже нет.


Перебирайте плоскости, проходящие через три точки.

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


30/01/06
72407
Alex-Yu в сообщении #1389776 писал(а):
Лобовое решение самоочевидно (перебираем все линии соединяющие все пары узлов начиная с самых близких и выкидываем те, которые пересекают ранее найденные ребра). Правда, оно не эффективно. Но эффективность меня не интересует.

Зато оно интересует тех, кто пишут mesh generator-ы, и тут оказывается, что строится много вариантов разных решений, и в них уже надо разбираться, чем они лучше и хуже. Кстати, это вопрос как триангулировать готовое множество точек, а как посеять точки? Тоже вопрос, и тоже куча методов. В общем, вот так и получается, на любую деталь дальше в лес и больше дров.

-- 27.04.2019 16:12:02 --

Alex-Yu в сообщении #1389783 писал(а):
В этих книгах не написано про сложную геометрию с частями с разными параметрами (а то и вообще с разными уравнениями).

Написано.

Есть старые советские книги годов 70-х - там не написано. Ищите книги по-английски, 00-х - 10-х.

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


27/08/16
9426
Alex-Yu в сообщении #1389785 писал(а):
Ну Вы же, не я, сказали, что это не обязательно... Перечитайте свой собственный пост.
Да, возможно, я вас понял неправильно и ввёл в заблуждение. Приношу извинения.

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

Просто с тетраэдрами в 3D всё тривиально, конечно. На общей границе можно обеспечить общие узлы. Но бывают экзотические ситуации, когда в одном домене тетраэдры, а в соседнем - параллелепипеды. Или когда контакт между доменами скользит. Или когда при использования симметрий для упрощения системы уравнений сопрягают геометрически разнесённые границы доменов. Что делает мешер в таком случае - не знаю, нужно читать документацию и/или экспериментировать.

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

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



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

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


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

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