2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1 ... 5, 6, 7, 8, 9  След.
 
 Re: COMSOL, ANSYS etc.
Сообщение29.04.2019, 14:11 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Pavia в сообщении #1390163 писал(а):
А зачем его делать?

Для точности. Чтобы получить решение, а не чёрт знает что, артефакты от грубой сетки.

Например, в механике такие места называются "концентраторы напряжений". Но примерно то же нужно и в других задачах, например, электростатика, течение тока (или воды)...

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


21/08/10
2462
Munin в сообщении #1390172 писал(а):
Чтобы получить решение, а не чёрт знает что,


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

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

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


16/04/19
161
Alex-Yu в сообщении #1390203 писал(а):
вблизи сингулярности взять базисные функции с правильной асимптотикой, полученной аналитически.

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

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


04/09/14
5255
ФТИ им. Иоффе СПб
Alex-Yu в сообщении #1390038 писал(а):
Вы знаете, что именно так делается в Comsol, или это Вы рассуждаете о том, как можно сделать?
Comsol делает так: сначала рисуется геометрия безотносительно к сеткам и уравнениям. Потом задаются уравнения (возможно, разные в разных частях геометрии, в Вашем примере с кубом, цилиндром и теплопроводностью уравнения отличаются параметрами в разных областях). На границах ставятся гран. условия. Потом строится сетка (обычно область триангулируется, но есть и другие варианты). Сетка строится от границ вглубь областей так, что бы границы прорисовывались максимально точно. Получившаяся сетка будет неравномерной по построению. Имеется возможность сгущать или разрежать сетку в зависимости от физики задачи. В элементах сетки (элементарных тетраэдрах или что там еще) задаются пробные функции (обычно - полиномы), дальше включается Галеркин и формируется матрица уравнений (на коэффициенты аппроксимирующего полинома) во всей области сразу. В двух словах - как-то так.
P.S. описания сегодня не нашел - времени не было, поищу как только станет по-свободнее.

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение30.04.2019, 06:08 
Аватара пользователя


31/10/08
1244
Alex-Yu
Интроверты всегда такие. Пока не проверят сами не успокоятся.
О этом есть крылатая фраза: читатель знает в 10 раз меньше писателя. А писатель в 10 раз знает меньше физика/инженера/математика которые разработали метод.

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

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


21/08/10
2462
amon в сообщении #1390269 писал(а):
описания сегодня не нашел - времени не было, поищу как только станет по-свободнее.



ОК, это не к спеху. Спасибо за пояснения.

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


04/09/14
5255
ФТИ им. Иоффе СПб
Alex-Yu в сообщении #1390308 писал(а):
ОК, это не к спеху.
То, что пока нашлось. Для начала можно посмотреть (пропуская примеры и кнопкощелканье) главы 9,10,11,14,15. Все остальное, по-моему, пока совсем не интересно, да и из перечисленного больше половины ни о чем.

(Оффтоп)

Такая забавная закономерность - чем старше версия, тем меньше в описаниях существа дела.

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


21/08/10
2462
amon в сообщении #1391406 писал(а):
То, что пока нашлось.



Спасибо, буду читать.

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

-- Вт май 07, 2019 21:49:38 --

amon в сообщении #1391406 писал(а):
чем старше версия, тем меньше в описаниях существа дела.


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

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


04/09/14
5255
ФТИ им. Иоффе СПб
Alex-Yu в сообщении #1391514 писал(а):
Прокручивая в голове разные варианты, я пришел к выводу, что сетку на поверхностях, разделяющих разные тела (среды) надо удваивать.
В методе конечных элементов этого не надо. Надо что бы граница хорошо аппроксимировалась гранями элементов сетки. Тогда есть два примыкающих по грани, скажем, куба (обычно - пирамиды). В одном кубе задан один полином, в другом - другой. Величина разрыва, например, нормальной составляющей электрического поля даст некоторое условие на коэффициенты этого полинома. Это условие дописываем в систему уравнений, и - вуаля.

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


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


Ну это я сразу понимал. Но удвоить сетку было бы и проще, и естественней.

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение08.05.2019, 01:11 


16/04/19
161
amon в сообщении #1391522 писал(а):
В одном кубе задан один полином, в другом - другой. Величина разрыва, например, нормальной составляющей электрического поля даст некоторое условие на коэффициенты этого полинома. Это условие дописываем в систему уравнений, и - вуаля.

Как обеспечить разрыв решения, "искусственно" добавлять/отнимать величину скачка решения к коэффициентам разложения решения по базису(которая отправится в правую часть слау)? А если скачёк от чего-то зависит..
Можно по-подробнее?

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

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


01/08/06
3131
Уфа
Если, с точки зрения физики, задача однородна, разрывны только коэффициенты, т.е. на границах ставятся стандартные условия сопряжения (например, для задач расчёта теплового поля это непрерывность температуры и теплового потока, что приводит к ожидаемому скачку производной при разрыве теплопроводности), т.е. я хочу сказать, что если нет необходимости учёта каких-то физических особенностей именно на границе (химическая реакция, неидеальный тепловой контакт, концентрация электрического заряда), то можно узлы сетки не удваивать. Просто, как тут уже много раз писалось, добиваемся, чтобы внутри каждого конечного элемента коэффициенты изменялись плавно (вся поверхность разрыва покрыта границами конечных элементов), а дальше вариационная постановка (или, что то же самое, учёт баланса сохраняющихся физических величин) "автоматически" обеспечит нужные условия сопряжения.
Я даже наоборот делал. Было у меня две среды, разделённые металлической трубой небольшой толщины (эту толщину нужно было учитывать, т.е. три среды). По идее, если удваивать узлы, то их понадобилось бы четыре штуки (по два на границах среда1–труба и труба–среда2). Если не удваивать — нужно два. А я обошёлся одним :D : с обеих сторон трубы температуру считал одинаковой, а раз так — зачем лишний узел? Была неопределённость с координатой такого узла, но она разрешилась.

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


21/08/10
2462
worm2 в сообщении #1391627 писал(а):
разрывны только коэффициенты,



Это случай весьма частный. Может быть разрывно искомое поле. Например, в электродинамике нормальная компонента напряженности электрического поля на границе сред испытывает скачок.

-- Ср май 08, 2019 15:34:41 --

worm2 в сообщении #1391627 писал(а):
с обеих сторон трубы температуру считал одинаковой


т.е. трубы фактически не было. Ну да, если трубы нет, то и проблем с этой трубой нет.

-- Ср май 08, 2019 15:36:01 --

worm2 в сообщении #1391627 писал(а):
"автоматически" обеспечит нужные условия сопряжения.


Вопрос в том, что эти условия сопряжения могут быть очень и очень разные. Частные случаи (тем более банальные частные случаи) не интересуют!

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

-- Ср май 08, 2019 15:42:42 --

worm2 в сообщении #1391627 писал(а):
Просто, как тут уже много раз писалось, добиваемся, чтобы внутри каждого конечного элемента коэффициенты изменялись плавно



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

Вообще каждый конкретный частный случай я и сам могу сообразить. Подумаю и соображу как сделать именно для этого случая. Но в других случаях это работать не будет. Я не понимаю как может быть устроена универсальная система, которая "съедает" любой случай. Comsol это же именно такая система?

-- Ср май 08, 2019 16:01:16 --

amon в сообщении #1391522 писал(а):
В одном кубе задан один полином, в другом - другой. Величина разрыва, например, нормальной составляющей электрического поля даст некоторое условие на коэффициенты этого полинома. Это условие дописываем в систему уравнений, и - вуаля.


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

 Профиль  
                  
 
 Re: COMSOL, ANSYS etc.
Сообщение08.05.2019, 12:03 
Аватара пользователя


31/10/08
1244
Alex-Yu
Alex-Yu в сообщении #1391540 писал(а):
Ну это я сразу понимал. Но удвоить сетку было бы и проще, и естественней.

Не пойму. Зачем её удваивать? А главное как удваивать?

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


21/08/10
2462
Pavia в сообщении #1391639 писал(а):
Зачем её удваивать?


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

-- Ср май 08, 2019 16:07:46 --

Pavia в сообщении #1391639 писал(а):
А главное как удваивать?


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

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

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



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

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


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

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