Тепловой метод (Крейн и др.) Как выбрать u?

Aug 18 2020

Тепловой метод - очень интересная статья для вычисления расстояний:

https://www.cs.cmu.edu/~kmcrane/Projects/HeatMethod/paperCACM.pdf

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

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

Это дискретный лапласовский оператор, применяемый к $u$ или же $\Delta u$. В документе есть несколько других разделов, в которых упоминается$u$. Из моего чтения$u$ кажется подходящей функцией, которая аппроксимирует тепловой поток на поверхности коллектора?

Я действительно не вижу уравнения в форме $u = \text{expression}$ я не вижу ни описания его свойств, ни предложений по хорошему $u$функция. Что такое$u$? Где сделал$u$родом из? Где сделал$u$идти? Где сделал$u$родом из? котан, я, о?

Ответы

2 wychmaster Aug 18 2020 at 14:42

Насколько я понимаю, u кажется подходящей функцией, которая приближает тепловой поток на поверхности коллектора?

$u$- это функция, которая описывает, как ваше количество ведет себя / развивается в определенной области. Я полагаю, что в статье количество - это температура или тепловой поток. Однако в большинстве случаев аналитического решения / формулы для$u$. Здесь в игру вступают такие методы, как конечные элементы (FEM). Дискретизируя свое поле, вы можете кусочно аппроксимировать свою функцию$u$.

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

Затем вам нужно присвоить каждому узлу / вершине начальное значение $u_0$как написано в ответе gilgamec. После этого вы строите и решаете свою систему конечных элементов и получаете узловое распределение$u$который фактически решает ваше уравнение или систему уравнений. Чем мельче будет ваша сетка, тем лучше будет решение. Интерполяции более высокого порядка также помогут повысить точность.

Так $u$или его узловые значения - это то, что вы на самом деле ищете, как сказал lightxbulb в своем комментарии. Это твое неизвестное количество.

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

  • Мягкое введение в метод конечных элементов
  • Примечания к курсу метода конечных элементов PE281
  • Введение в метод конечных элементов
  • конечно-элементный анализ вручную

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


Нашел ссылку, на которую имел в виду. К сожалению, это на немецком языке:

  • FEM Handrechnung
1 gilgamec Aug 18 2020 at 13:59

Да поле $u$в данном случае это приблизительное распространение тепла по поверхности. Его находят, начиная с «начального набора» вершин; они будут источником диффузии и в конечном итоге станут локальными минимумами в поле расстояний. Первоначальное распределение$u_0$настроен со значением 1 в начальном наборе и 0 во всех остальных. (Это описано на странице 92 статьи, которую вы связали, непосредственно под алгоритмом 1.)

Первым шагом алгоритма является выполнение одного шага уравнения теплопроводности путем решения линейного уравнения $(I - t\nabla)u = u_0$(уравнение 3 в статье). Поле$u$ вы получите приблизительное тепловыделение, которое вы обрабатываете, чтобы получить поле расстояний.