Пример адаптивной сетки

Слева показаны ячейки сетки, справа - распределение дискретной средней кривизны на адаптивной сетке

\includegraphics[scale=0.4]{fm/raketa2.ps} \includegraphics[scale=0.4]{fm/raketa3.ps}

Трехмерная сетка при отсутствии адаптации к кривизне

\includegraphics[scale=0.4]{fm/curv2.ps}

Трехмерная сетка при наличии адаптации к кривизне

\includegraphics[scale=0.4]{fm/curv4.ps}

Задание управляющей метрики для адаптации

Пусть $ G_\xi(\xi)$ и $ G_x(x)$ - метрические тензоры, задающие посредством линейных элементов метрики в лагранжевых и эйлеровых координатах в областях $ \Omega_\xi$ и $ \Omega_x$ , соответственно. Функционал адаптации записывается в виде

$\displaystyle J_\alpha(x) = \int_{\Omega_{\xi}} W_\alpha (Q \nabla_{\xi} x P^{-1}) \det P d  \xi,$ (15)


где

$\displaystyle P^T P = G_\xi, \det P > 0,   Q^T Q = G_x, \det Q > 0
$

- некоторые факторизации.

Метрический тензор $ G_x(x)$ задается как

$\displaystyle G_x(x) = (1 + c \vert H(x)\vert) I
$

где $ H(x)$ - векторная средняя кривизна поверхности, $ c$ - постоянный вес.

$\displaystyle W(C) = (1 - \theta) \frac{\frac12 \mathop{\rm tr}(C^T C)}{\det C} +
\frac12 \theta ( \frac1{\det C} + \det C )
$

Адаптация расчетных сеток к кривизне поверхности

  • Необходимость адаптации начальной сетки к кривизне поверхности не вызывает сомнений;

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

  • непосредственное использование данных САПР для аналитического вычисления кривизн сталкивается с большими трудностями;

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

  • на поверхности не должно быть сильно скошенных ячеек.

Представление средней кривизны через бельтрамиан

Рассмотрим поверхность $ S$ в $ \mathbb{R}^3$ , заданную параметрически как $ x(\xi_1, \xi_2)$ .

$\displaystyle \Delta_B = \frac1{J} \left( \frac{\partial }{\partial \xi_1} \fra...
...al }{\partial \xi_2} \frac{g_{11}}{J} \frac{\partial }{\partial \xi_2} \right),$ (13)


где $ g_{ij}$ - элементы матрицы первой фундаментальной формы $ G$ поверхности $ S$ , $ J = \det G^\frac12$ . Оператор (13) называют оператором Бельтрами или бельтрамианом. Он является аналогом оператора Лапласа на криволинейной поверхности.

Как известно, векторная средняя кривизна поверхности совпадает с Бельтрамианом ее координатного представления.

$\displaystyle \Delta_B x = \nu H,$ (14)

Таким образом, дискретный бельтрамиан может быть использован для вычисления дискретной средней кривизны.

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

Тело со стреловидным крылом как жесткая тестовая задача для распутывания трехмерной сетки

\includegraphics[scale=0.55]{tmp/fig1.ps}

Трехмерная сетка со сгущением к поверхности и ортогонализацией

\includegraphics[scale=0.5]{tmp/fig7.ps}

Трехмерная сетка, тело со стреловидным крылом, координатные поверхности

\includegraphics[scale=0.5]{tmp/fig11.ps}