2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Метод граничных элементов
Сообщение23.07.2011, 12:06 


01/12/06
463
МИНСК
Здравствуйте. Решил реализовать метод граничных элементов пока для решения плоских задач теории упругости. Я делал таким образом. Сначала нашел аналитические выражения для перемещений и напряжений от действия линейной нагрузки по отрезку. Чтобы не связываться с пределами для точки на поверхности считаю на некотором достаточно малом расстоянии от нее.
Далее всю границу разбил на отрезки. В итоге с помощью преобразования координат компоненты в любой точке получаются как суперпозиция от всех элементов. Далее составляем уравнения на основе граничных условий.
Столкнулся с несколькими проблемами. Рядом с углами возникают скачки фиктивных нагрузок. Хотя я и использовал скругления. Для точности требуется достаточно много элементов. Как мне кажется это может быть связано со следующими причинами:
1) некоторые напряжения на границах отрезка на поверхности стремятся к бесконечности
2) перемещения в фундаментальных решениях, а следовательно и от нагрузки по отрезку стремятся к бесконечности на бесконечности
3) на непрямых участках в любом случае между двумя соседними элементами возникает угол.

Есть ли какие-нибудь советы по устранению данных проблем.

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение23.07.2011, 18:16 


14/10/09
34
Давай попробуем разобраться. Метод граничных элементов основан на записи интегрального соотношения между функцией и ее нормальной производной на границе расчетной области. После применения известных граничных условий мы получаем интегральное уравнение, которое и решаем.

Как я понял в твоей задаче перемещения -- это функция, а напряжения -- это нормальная производная функции. Далее нам нужно еще знать фундаментальное решение, в двумерной области для уравнения Лапласа это логарифм от расстояния.

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

Прежде всего у меня некоторые сомнения по поводу того, что ты считаешь не на границе, а на некотором малом расстоянии от нее. Здесь могут быть проблемы, так как в МГЭ необходимо работать только с границей области.

Дальше интеграл от фундаментального решения при совпадении точек коллокации и интегрирования получается несобственным и его нужно вычислять специальным образом. Иначе могут быть проблемы.

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

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение24.07.2011, 23:20 


01/12/06
463
МИНСК
Проблему с расчетом вблизи поверхности я убрал. Теперь считается все точно. Проблемы остались. Т.е. с реализацией проблем вроде бы нет. С увеличением элементов решение приближается к нужному, но вот вблизи границы довольно плохо( но все же сходится при достаточно большом количестве элементов).

Причем расстояние на котором плохо превосходит размеры элементов.

Я использую непрямую формулировку. Фиктивные нагрузки постоянны на элементах. В качестве тестового примера рассматриваю изгиб плоской балки. У Крауча тоже такой пример рассматривается разными методами, и сказано, что погрешность при такой формулировке достигает 57%( но тогда возможностей увеличения элементов особо не было).

В углах использую скругления.

Так вот можно ли оставаясь в непрямой формулировке метода каким-то образом решить проблемы.

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение24.07.2011, 23:20 


01/12/06
463
МИНСК
Проблему с расчетом вблизи поверхности я убрал. Теперь считается все точно. Проблемы остались. Т.е. с реализацией проблем вроде бы нет. С увеличением элементов решение приближается к нужному, но вот вблизи границы довольно плохо( но все же сходится при достаточно большом количестве элементов).

Причем расстояние на котором плохо превосходит размеры элементов.

Я использую непрямую формулировку. Фиктивные нагрузки постоянны на элементах. В качестве тестового примера рассматриваю изгиб плоской балки. У Крауча тоже такой пример рассматривается разными методами, и сказано, что погрешность при такой формулировке достигает 57%( но тогда возможностей увеличения элементов особо не было).

В углах использую скругления.

Так вот можно ли, оставаясь в непрямой формулировке метода, каким-то образом решить проблемы?

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение26.07.2011, 08:30 


14/10/09
34
Я решаю задачи электростатики с использованием прямой формулировки BEM. Я тоже сталкивался с проблемой неточного вычисления вблизи границы. У меня это было связано с тем, что сингулярные и гиперсингулярные интегралы вблизи границы вычислялись не слишком точно. По этой теме есть достаточно большая литература, можно поискать в гугле по ключевым словам "Singular and Near Singular Integrals in the BEM".

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

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение05.01.2012, 23:42 


01/12/06
463
МИНСК
Меня пока еще такой вопрос интересует. Как правильно составить систему для прямого метода и линейных элементов. Я сначала думал, что по простому. Беру на каждом элементе 4 неизвестных( у меня на самом деле их 8, но для ур. Лапласа будет 4, пока про него буду говорить, хотя на самом деле именно для него не проверял, просто, чтобы было понятно, о чем речь ): два значения функции в узлах и два значения норм. производной. Составляю уравнения: основные уравнения метода -n, граничные условия - n, непрерывность функции и производной - 2n. Вроде бы все хорошо, но из-за сингулярности интегралов система плохая получается. Видимо надо брать за неизвестные значения в узлах, но тогда систему труднее составлять.

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение06.01.2012, 16:10 


14/10/09
34
Андрей123 в сообщении #523646 писал(а):
Беру на каждом элементе 4 неизвестных( у меня на самом деле их 8, но для ур. Лапласа будет 4, пока про него буду говорить, хотя на самом деле именно для него не проверял, просто, чтобы было понятно, о чем речь ): два значения функции в узлах и два значения норм. производной. Составляю уравнения: основные уравнения метода -n, граничные условия - n, непрерывность функции и производной - 2n. Вроде бы все хорошо, но из-за сингулярности интегралов система плохая получается. Видимо надо брать за неизвестные значения в узлах, но тогда систему труднее составлять.
Мне кажется, неправильно говорить, что на элементе есть 4 неизвестных. Да и вообще, проще всего рассматривать формулировку метода с использованием понятия разложения по базисным функциям.

Пусть функция $u(x)$ удовлетворяет уравнению Лапласа в замкнутой области $\Omega$ с достаточно гладкой границей $\Gamma$. При использовании прямого метода граничных элементов мы строим интегральное соотношение, связывающее саму функцию $u(x)$ и ее нормальную производную. Для численного решения мы приближенно представляем функцию $u(x)$ и ее нормальную производую в виде разложения по некоторой системе базисных функций
$$u(x) \approx \sum_{i = 1}^N \alpha_i \varphi_i(x),$$$$\frac{\partial u(x)}{\partial n} \approx \sum_{i = 1}^N \beta_i \varphi_i(x).$$
Таким образом для решения задачи нам нужно найти $2N$ неизвестных коэффициентов $\alpha_i$ и $\beta_i$, $i = 1, 2, \ldots, N$. Для этого мы используем метод коллокаций, а именно требуем, чтобы интегральное соотношение, в которое подставлены приближенные значения функции и ее нормальной производной, выполнялось в $N$ каким-то образом выбранных точках на границе $\Gamma$. Это дает нам $N$ уравнений. Далее в этих же $N$ точках нам известны граничные условия Дирихле или Неймана. Это даем нам еще $N$ уравнений. Таким образом мы имеем $2N$ уравнений и $2N$ неизвестных.

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

В классическом варианте метода граничных элементов в 2D с линейными элементами это выглядит следующим образом. Граница области $\Gamma$ представляется в виде совокупности линейных отрезков $E_i$, с вершинами $V_i$. Задается система $N$ базисных функций -- "шапочек" $\varphi_i(x)$ таких, что функция $\varphi_i(x)$ вершине $V_i$ непрерывна и равна 1, линейно меняется от 1 до 0 на элементах, содержащих эту вершину $V_i$, см. рисунок.

Функция и нормальная производная приближенно представляется в виде ряда по системе базисных функций, причем коэффициенты разложения $\alpha_i$ и $\beta_i$ это значения функции и ее нормальной производной соответственно в узлах $V_i$. Точками коллокации являются эти же самые веришны $V_i$.

Для решения задачи нам нужно собрать матрицу $N \times N$ по числу базисных функций. Каждая $i$-я строчка матрицы соответствует точке коллокации $V_i$, а каждый $j$-й столбец соответствует базисной функции $\varphi_j$. Для вычисления элементов матрицы необходимо вычислить интеграл от произведения базисных функций на фундаментальное решение, при этом интегрирование удобнее всего вести в локальной системе координат $\eta$.

Для примера вычислим элемент матрицы с индексом $(1, 2)$. Точка коллокации это $V_1$. Рассмотрим элемент $E_1$. Функция $u(x)$ на этом элементе представляется в виде суммы:
$$u(x)_{E_1} = \alpha_1 \varphi_1(x) + \alpha_2 \varphi_2(x) = \alpha_1 (1 - \eta) + \alpha_2 \eta.$$
Для элемента $E_2$ аналогично
$$u(x)_{E_2} = \alpha_2 \varphi_2(x) + \alpha_3 \varphi_3(x) = \alpha_2 (1 - \eta) + \alpha_3 \eta.$$
Таким образом элемент $(1, 2)$ будет состоять из суммы двух интегралов
$$M(1, 2) = \int\limits_{E_1} \eta \frac{\partial G}{\partial n}(\eta) d\eta +\int\limits_{E_2} (1 - \eta) \frac{\partial G}{\partial n}(\eta) d\eta,
$$
где $G(\eta)$ -- фундаментальное решение уравнения Лапласа.

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

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение10.01.2012, 17:42 


01/12/06
463
МИНСК
Я пока работал только с постояннымі элементами, т.е. элементами для которых $\phi _i=\chi|_{E_i}$.Там все неплохо, но ошибки в угловых областях довольно большие. Прямой метод дает меньшие ошибки. Теория, в принципе, мне понятна. У меня такие вопросы. Почему для линейных элементов выбираются точки коллокации - узлы. Для обусловленности матрицы? Граничные условия задаются также в узлах?

И еще, возвращаясь к теме решателей. Используя lapack для матрицы 4800 на 4800, у меня получается решение порядка минуты. Хотя Mathematica решает секунд за 5-10. Само время не так важно. Есть библиотека cublas c распараллеливанием на графические процессоры, что сильно увеличит скорость. Но интересна сама причина, т.к. потом пойдут трехмерные задачи и матрицы станут совсем большими. Это у меня проблемы со сборкой или так идолжно быть? Матрица представляет собой систему МГЭ для трех разных групп. Диагональных нулей нет. Третья часть матрицы нули. Может Mathematica считает ее как разреженную, поэтому скорость выше.

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение14.01.2012, 11:49 


14/10/09
34
Андрей123 в сообщении #525331 писал(а):
Почему для линейных элементов выбираются точки коллокации - узлы. Для обусловленности матрицы? Граничные условия задаются также в узлах?
Я считаю, что так выбирают просто для удобства построения интерполирующих функций и сборки матрицы. Гораздо удобнее и для искомой функции, и для граничных условий задавать значения в одних и тех же узлах и использовать одинаковые интерполирующие функции.

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

Математическая постановка.
Рассмотрим задачу Дирихле для уравнения Лапласа в замкнутой области $\Omega$ с достаточно гладкой границей $\Gamma$
$$\Delta u(x) = 0, \quad x \in \Omega,$$$$u(x) = \varphi(x), \quad x \in \Gamma.$$Требуется найти функцию $q(x) = \frac{\partial u(x)}{\partial n}$.Интегральное уравнение для решения этой задачи будет выглядеть так
$$\int\limits_{\Gamma} q(Q) G(P, Q) dS_q = f(P),$$где точки $P, Q \in \Gamma$, $G(P, Q)$ -- фундаментальное решение уравнения Лапласа, $f(P)$ -- известная функция.

Дискретизация
Суть численного метода решения задачи заключается в дискретизации интегрального уравнения, т.е. замене непрерывного уравнения его дискретным аналогом. Для этого граница области разбивается на элементы, на элементах вводятся дискретные узлы, в этих узлах задаются некоторые значения -- коэффициенты, и непрерывная искомая функция $q(x)$ приближённо представляется в виде ряда по базисных функциям, умноженным на эти самые коэффициенты. Для того, чтобы получить систему линейных алгебраических уравнений необходимо, чтобы наше разложение выполнялось в ряде точек. Эти точки называются точками коллокации, а известные значения в этих точках обычно берутся из граничных условий.

Таким образом при дискретизации используются следующие понятия:
  • элементы на которые разбивается граница, заданные своими вершинами;
  • узлы;
  • точки коллокации.
Существует несколько различных способов задания узлов и точек коллокации. Я тут попробую расписать три типичных случая, см. рис. 1.

Конфигурация A
Данная конфигурация приведена на рис. 1A. Вершины элементов совпадают с узлами и точками коллокации. Базисные функции $\phi_i$ линейны и непрерывны в вершинах элемента.

Задача 1. Приближённое представление функции.
Требуется приближённо представить функцию $q(x)$ через её значения в узлах. Это удобнее всего делать отдельно для каждого элемента и в его локальных координатах.

Рассмотрим элемент $E_1$. Пусть значение искомой функции $q(x)$ в узле $V_1$ равно $\alpha_1$, а в узле $V_2$ равно $\alpha_2$. Так как мы строим линейную интерполяцию, то на элементе $E_1$ функция должна представляться в виде:$$q(\eta) = a + b \eta.$$В узле $V_1$ значение $\eta = 0$, а значение функции $\alpha_1$, в узле $V_2$ значение $\eta = 1$, а значение функции $\alpha_2$. В результате получаем следующую систему
$$
\begin{cases}
  \alpha_1 = a\\
  \alpha_2 = a + b
\end{cases}
$$
откуда
$$
\begin{cases}
  a = \alpha_1\\
  b = \alpha_2 - \alpha_1
\end{cases}
$$Подставим найденные значения $a$ и $b$ в разложение функции $q(\eta)$ и сгруппируем относительно коэффициентов $\alpha_1$ и $\alpha_2$$$q(\eta) = \alpha_1 + (\alpha_2 - \alpha_1) \eta = \alpha_1 (1 - \eta) + \alpha_2 \eta.$$Таким образом, мы получили приближенное представление функции, заданное через её значения в дискретных узлах, $q = \alpha_1 \phi_1 + \alpha_2 \phi_2$, где$$\phi_1(\eta) = (1 - \eta)$$$$\phi_2(\eta) = \eta$$Первая задача решена.

Задача 2. Построить систему уравнений
В данной конфигурации точки коллокации совпадают с узлами. Рассмотрим точку коллокации $C_1$. Пусть известное значение функции в этой точке равно $f_1$. Интегральное уравнение для элемента $E_1$ примет вид
$$
f_1 
  = \int\limits_{E_1} q(\eta) G(\eta, C_1) d\eta 
  = \int\limits_{E_1} (\alpha_1 (1 - \eta) + \alpha_2 \eta) G(\eta, C_1) d\eta
$$В результате получим$$
f_1 
  = \alpha_1 \int\limits_{E_1} (1 - \eta)G(\eta, C_1) d\eta 
  + \alpha_2 \int\limits_{E_2} \eta G(\eta, C_1) d\eta.
$$Для остальных элементов $E_2, E_3, \ldots$ мы получаем аналогичные выражения. Интегралы в этих выражениях зависят только от геометрии. $G(\eta, C_1)$ это -- фундаментальное решение, зависящее от расстояния между точкой интегрирования $\eta$ и точкой коллокации $C_1$.

Для элементов $E_i$, в которых точки $\eta$ и $C_1$ не совпадают, интегралы вычисляются численно. Для элемента $E_1$ точки $\eta$ и $C_1$ совпадают при интегрировании и интеграл становится несобственным. Он обычно берется аналитически, и именно он усиливает диагональ. Благодаря этому интегралу обусловленность матрицы достаточно хорошая.

Матрица коэффициентов системы линейных алгебраических уравнений формируется из значений $g_{ij}$, полученных путем вычисления данных интегралов для точек коллокации $C_i$ и элементов, содержащих узел $V_j$. Так для точки $C_1$ и элемента $E_1$ получим$$g_{11} = \int\limits_{E_1} (1 - \eta)G(\eta, C_1) d\eta,$$$$g_{12} = \int\limits_{E_1} \eta G(\eta, C_1) d\eta,$$и сама матрица будет выглядеть так$$
\begin{bmatrix}
g_{11} & g_{12} & \ldots & g_{1N}
\\ 
\hdotsfor{4}
\\
\hdotsfor{4}
\\
\hdotsfor{4}
\end{bmatrix}
\begin{bmatrix}
\alpha_1 \\ \alpha_2 \\ \vdots \\ \alpha_N
\end{bmatrix}
=
\begin{bmatrix}
f_1 \\ f_2 \\ \vdots \\ f_N
\end{bmatrix}
$$Так как базисные функции $\phi_i$ непрерывны на узлах, то среди интегралов на элементе $E_2$ будет также интеграл с коэффициентом $\alpha_2$. Его вычисленное значение нужно добавить к элементу матрицы $g_{12}$. Таким образом каждый элемент матрицы $g_{ij}$ состоит из суммы интегралов, вычисленных на смежных элементах, содержащих узел $V_j$.

Конфигурация B
Данная конфигурация приведена на рис. 1B. Представление функции $q(x)$ остается таким же
$$q(\eta) = \alpha_1 (1 - \eta) + \alpha_2 \eta.$$Для получения значений коэффициентов матрицы системы линейных алгебраических уравнений нужно вычислить точно такие же интегралы$$g_{11} = \int\limits_{E_1} (1 - \eta)G(\eta, C_1) d\eta,$$$$g_{12} = \int\limits_{E_1} \eta G(\eta, C_1) d\eta.$$Единственное отличие заключается в том, что точка коллокации находится не в вершине элемента, а в его центре. Поэтому функция $G(\eta, C_1)$ будет другой и сам интеграл будет иметь другие значения. Но с обусловленностью матрицы должно быть все нормально, так как точка $C_1$ все-равно находится на элементе и интеграл по этому элементу все-равно будет с особенностью. Но вот если вынести точку коллокации вообще за элемент, то интеграл становится регулярным, диагональ становится менее выраженной и матрица становится плохо обусловленной.

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

Конфигурация C
Данная конфигурация приведена на рис. 1C. В этой конфигурации узлы и точки коллокации вынесены внутрь элемента. Принципиальное отличие данной конфигурации от конфигураций $A$ и $B$ в том, что в вершинах элементов базисные функции получаются разрывными. Кроме этого число узлов в два раза больше, чем в конфигурациях $A$ и $B$.

Построим интерполирующие функции. Пусть в локальных координатах узлы имеют следующие координаты $V_1: \eta = 0.2$, $V_2: \eta = 0.8$. Для построения интерполирующих функций рассмотрим следующую систему$$
\begin{cases}
  \alpha_1 = a + 0.2 b \\
  \alpha_2 = a + 0.8 b
\end{cases}
$$
откуда
$$
\begin{cases}
  a = \frac{4}{3}\alpha_1 - \frac{1}{3}\alpha_2\\
  b = -\frac{5}{3}\alpha_1 + \frac{5}{3}\alpha_2\\
\end{cases}
$$
Разложение функции $q(\eta)$:
$$
q(\eta) 
  = a + b \eta 
  = \frac{4 - 5 \eta}{3}\alpha_1 + \frac{-1 + 5 \eta}{3} \alpha_2.
$$Таким образом, мы получили приближенное представление функции, заданное через её значения в дискретных узлах, $q = \alpha_1 \phi_1 + \alpha_2 \phi_2$, где$$\phi_1(\eta) = \frac{4 - 5 \eta}{3}$$$$\phi_2(\eta) = \frac{-1 + 5 \eta}{3}$$Для получения значений коэффициентов матрицы системы линейных алгебраических уравнений нужно также вычислить интегралы от произведения интерполирующих функций на фундаментальное решение
$$g_{11} = \int\limits_{E_1} \frac{4 - 5 \eta}{3}G(\eta, C_1) d\eta,$$
$$g_{12} = \int\limits_{E_1} \frac{-1 + 5 \eta}{3}G(\eta, C_1) d\eta.$$Так как функции $\phi_i$ разрывны в вершинах элементах, то, в отличие от конфигураций A и B, интегралы по элементу $E_2$ не вносят вклад в значения $g_{11}$ и $g_{12}$.

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

Андрей123 в сообщении #525331 писал(а):
И еще, возвращаясь к теме решателей. Используя lapack для матрицы 4800 на 4800, у меня получается решение порядка минуты. Хотя Mathematica решает секунд за 5-10... Может Mathematica считает ее как разреженную, поэтому скорость выше.
Мне кажется, что дело все-таки не в разреженности матрицы. Сам по себе LAPACK это -- наиболее классическая библиотека линейной алгебры, написанная на Фортране. Алгоритмы написаны таким образом, чтобы выполняться на любых машинах. Поэтому в них отсутствуют оптимизации под современные процессоры. Существуют специализированные библиотеки, который при сохранении интерфейса LAPACK оптимизируют многие процедуры линейной алгебры с учетом особенностей современных процессоров (вычисления должны идти в кэше первого уровня, использовать SSE3, может быть разворачивать циклы). Таких библиотек я знаю две: MKL от Intel и свободная ATLAS. Если нужна максимальная производительность, то нужно использовать именно их.

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение14.01.2012, 14:06 


14/10/09
34
Андрей123 в сообщении #525331 писал(а):
Используя lapack для матрицы 4800 на 4800, у меня получается решение порядка минуты. Хотя Mathematica решает секунд за 5-10.
И еще в добавку. Матрицы в методе граничных элементов, в отличие от конечных элементов, плотно заполнены и сложность их обращения O(n^3). Это означает, что начиная примерно с $N = 10000-15000$, даже на современных машинах задача будет решаться очень долго. Поэтому для таких размерностей нужно использовать алгоритмы быстрого решения интегральных уравнений. Например, это FMM BEM (Fast Multipole Boundary Element Method) или matrix low rank approximations.

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение14.05.2012, 04:14 


14/05/12
2
Не хотел создавать новую тему, у меня небольшой вопрос.
BEM приминительно к расчету смещения в толстостенном полом цилиндре.
В литературе по этой теме, сравнивают результаты работы алгоритма с аналитическим решением этой задачи,
например http://mcise.uri.edu/sadd/mce561/Bounda ... nt%202.pdf , стр 8.

Для BEM, как указывают все авторы, берется не вся граница, а только четверть кольца.
У меня вопрос по граничным условиям.
Например в файлике сверху, для схемы из 4 граничных элементов (8 точек аппроксимирующих границу).
(t - напряжение, u - смещение)
В точке 8 задается tx, ty, как P * nx, P * ny
В точке 4 то же tx, ty. как 0, 0.
А какие граничные условия задаются в точках 2 и 6 ?

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение01.06.2012, 15:19 


14/10/09
34
roman300 в сообщении #570560 писал(а):
Для BEM, как указывают все авторы, берется не вся граница, а только четверть кольца.

Четверть кольца берется все-таки из-за соображений симметрии, а не из-за BEM. Если бы мы использовали FEM, мы бы также могли использовать только четверть кольца.
roman300 в сообщении #570560 писал(а):
У меня вопрос по граничным условиям.
Например в файлике сверху, для схемы из 4 граничных элементов (8 точек аппроксимирующих границу).
(t - напряжение, u - смещение)
В точке 8 задается tx, ty, как $P \cdot nx$, $P \cdot ny$
В точке 4 то же tx, ty. как 0, 0.
А какие граничные условия задаются в точках 2 и 6 ?

Для BEM граничные условия должны быть заданы во всех узлах 1-8. Для задачи на рисунке 5, я думаю граничные условия можно задать следующим образом. Для узлов 1, 7, 8 мы задаем напряжения как скаляры $T_i = \mathbf{P} \cdot \mathbf{n},  i = 1, 7, 8$. Для узлов 2-6 задаем так $Ti = 0.0, i = 2..6$

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение25.06.2012, 19:39 


01/12/06
463
МИНСК
Здравствуйте. Решали ли Вы динамические задачи (имеется ввиду волновые)? Есть ли там какие-то особенности? Пока пробую реализовать, вылезают некоторые особенности.

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение27.06.2012, 12:14 


14/10/09
34
Андрей123 в сообщении #588985 писал(а):
Здравствуйте. Решали ли Вы динамические задачи (имеется ввиду волновые)? Есть ли там какие-то особенности? Пока пробую реализовать, вылезают некоторые особенности.


Имеются в виду задачи электродинамики? Я сам с ними дела не имел, но при случае могу поспрашивать у коллег. Там случаем не гиперсингулярные уравнения получаются?

 Профиль  
                  
 
 Re: Метод граничных элементов
Сообщение27.06.2012, 13:52 


01/12/06
463
МИНСК
По поводу области применеия не скажу (мы с Вами разные задачи решаем), т.е. может и электродинамика. Простой пример вместо уравнения Лапласа уравнение $$\ddot u=a^2 \Delta u$$. В итоге в выражении решений через фундаментальны появляются еще и интегралы по времени. Мне так казалось, что общая схема должна быть такой же, с учетом, конечно, времени. Однако после реализации возникли некотороые проблемы. Поспрашивайте, если не сложно.

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

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



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

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


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

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