Построение минимальной параметрически заданной поверхности методом минимизации интеграла Дирихле

Бесплатный доступ

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

Уравнение минимальной поверхности, равномерная сходимость, приближенное решение, аппроксимация уравнения, оценка равномерной сходимости

Короткий адрес: https://sciup.org/149146890

IDR: 149146890   |   DOI: 10.15688/mpcm.jvolsu.2024.3.6

Текст научной статьи Построение минимальной параметрически заданной поверхности методом минимизации интеграла Дирихле

DOI:

В современном мире уравнения минимальной поверхности получили широкое распространение в таких смежных науках, как биология, механика и математическая физика, и сыграли незаменимую роль в таких прикладных отраслях производства, как архитектура и строительство [13].

Первым, кто проложил дорогу к изучению минимальных поверхностей, был Жозеф Плато (1801–1889). Опыты Плато заключались в конструировании мыльных пленок, затягивающих проволочные контуры. При извлечении замкнутого контура из мыльного раствора на нем образуется радужная мыльная пленка, ограниченная контуром. Ее энергия пропорциональна площади. Поэтому жидкая пленка превращается в эластичную поверхность, стремящуюся минимизировать свою площадь. Так, из работ физика Жозефа Плато выросла теория минимальных поверхностей, ставшая важнейшей областью в вариационном исчислении. «Проблема Плато» формулируется следующим образом: верно ли, что на любой замкнутый контур можно натянуть минимальную поверхность, и если «да», то сколько таких поверхностей и каковы их топологические свойства. Важные результаты в этом направлении были получены А.Т. Фоменко [16], Р. Курантом [7], Т. Радо [18], Д. Дугласом [15], В.М. Миклюковым, В.Г. Ткачевым, А.Д. Веденяпиным [2; 8–10] и другими [14; 17].

В своей статье при решении задачи Плато в классе полиномиальных отображений мы отталкиваемся от работы [6]. В работе [7] исследуется вопрос о равномерной сходимости полиномиальных приближенных решений уравнения минимальной поверхности, построенных с помощью алгебраических многочленов. В работе [4] дано описание численной реализации метода конечных элементов, основанного на кусочно-линейных функциях. В работе [6] доказана равномерная сходимость полиномиальных решений в плоских областях. Целью данной работы является разработка и реализация алгоритма для вычисления и построения минимальной поверхности для различных граничных контуров Г с использованием математического пакета для численного вычисления на языке Python. Широкий функционал программы удобен для реализации чиcленного расчета, описанного в парадигме процедурного программирования. А благодаря своему широкому распространению и простоте интерфейса позволяет решать задачи, связанные с прикладной математикой.

1.    Постановка задачи

Рассмотрим плоскость с декартовыми координатами и, v. Пусть B круг единичного радиуса с центром в начале координат. Обозначим через S параметрически заданную поверхность радиус-вектором г = f(u,v), где u,v Е В . Будем считать, что координаты вектора г являются гладкими функциями х = x(u,v), у = y(u,v), z = z(u,v). Таким образом:

г = х(и, v)i + у(и, v)j + z(u, v)k.

Известно [7], что поверхность S является минимальной, если выполнены следующие условия:

г = 0,                                      (1)

где

E - G — 0,F = 0,

г г uu + г w , E  x u + у u + z u ,

G x\ + ух. + z\,F X u X v + y u y v + Z u Z v .

Рассмотрим следующую задачу (задача Плато): требуется построить минимальную поверхность S , имеющую в качестве границы заданную в пространстве кривую Г. Другими словами, нужно найти такую вектор-функцию f(u,v), удовлетворяющую условиям (1), (2) и отображающую непрерывную границу области B на кривую Г. Отметим, что в работе [7] показано, что вектор-функция, доставляющая минимум функционалу

1 (^) = И (f u2 + f 2 )dudv — Ц (x 2 u + y 2 u + z2u + x\ + у\ + z\ ) du dv (3)

в

в

при фиксированных граничных условиях на функции x(u,v),y(u,v), z(u,v), задает минимальную поверхность. Более того, решение этой вариационной задачи существует. Сформулированная нами вариационная задача может быть заменена следующей эквивалентной задачей для вектора f(u,v) с 3 компонентами x(u,v),y(u,v), z(u,v), В — единичный круг u 2 + v 2 <  1 с границей С : u 2 + v 2 — 1. Требуется найти минимум интеграла Дирихле (3). Будем рассматривать в единичном круге В плоскости u,v векторы г с 3 компонентами x(u,v),y(u,v), z(u,v), обладающими внутри круга кусочно-непрерывными производными, непрерывные в замкнутом единичном круге В U C и взаимно-отображающие непрерывную границу С единичного круга на заданную кривую Г трехмерного пространства г. Среди этих векторов требуется найти тот, для которого интеграл Дирихле

О[г] — Ц (f в

+ гЦ) du dv

принимает минимальное значение d.

2.    Способ решения

Пусть задана некоторая вектор-функция ф : В о R 3 , являющаяся взаимно-однозначным отображением круга В на пространство R 3 . Ее сужение на окружность дВ будет задавать граничный контур Г. Контур Г в таком случае является не слишком сильно изогнутым, то есть его можно взаимно-однозначно спроектировать на выпуклый контур (окружность). Известно, что в таком случае существует одна и только одна минимальная поверхность, затягивающая данный контур [12]. Для приближенного решения поставленной задачи будем использовать вектор-функции вида

п

f(u, v) f (u, v) + (1 — u v 2 ) ^ Cijtfv 1 .

i,j=0

В этом случае при изменении коэффициентов cij значения вектор-функции г изменяются во внутренних точках круга В, но не изменяются на его границе. Тогда пп rU(u,v) = CU(u, v) + (1 — и2 — v2) ^ cijiu^v^ — 2 ^ cijui+1vj, i,j=0

пп rV(u,v) = ФV (u,v) + (1 — u2 — v2) £ cij ju*vj-1 — 2 £ cijигvj+1.

i,j=0

Далее подсчитываем подынтегральное выражение в интеграле I(r):

22 u 1 V

u (u,v) + (1

-

и 2

— v2) £ c- i,j=0

-

2 £ c ij i,j=0

)

+

+

^ф V (u,v) + (1

u 2 v 2 ) £ ецjMv - i,j=0

-

п             \ 2

£сц и* v j+1j .

После того как посчитаем выражение r„ + r2, нужно проинтегрировать его по кругу В. Подынтегральное выражение представляет собой линейную комбинацию функций вида u k vl . Поэтому интегралы от этих функций по единичному кругу вычисляются. В итоге после вычисления интеграла получим квадратичное выражение относительно искомых коэффициентов c ij . Нам нужно найти такой набор значений этих коэффициентов, на котором достигает минимума этот интеграл. Для этого вычисляем производные д^- , приравниваем их к нулю и получаем линейную систему алгебраических уравнений.

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

3.    Алгоритм решения

Итак, мы имеем приближенное решение поставленной задачи, представленное вектор-функцией:

п

r(u, v) = ф(«, v) + (1 u 2 v2) ^ c ij u i v j .

i,j=0

Введем обозначения A^(u, v) = (1 u 2 v 2 )uiv j , где i,j = 0 .. .n. Тогда

/              п        \2/              п\ r„ + rV = {Cu(u,v)+^cij Aij\ + I Cu(u,v) + ^J cijAij ] .

\             i,j=0       U u    \             i,j=0

Проинтегрировав выражения по единичному кругу В , получаем:

//(r U + rA dudv = £ с2B ijij

JBJ                     К)=0

О £ -2Г ( (dC ( u,v ) V / dfy^v) у\

—2 кАc+Ц д- ));

+ 2С00С01В0002 + 2cqoCQ2 В0002 + . . . + 2С(п—1)пСпп В(п—1) ппп’ г д'    В„ = JJK ^)'- (^)-) d.d..

д [[ ддА ( ( U,v ) Р<1 (UV ) В JJ ^^“     aUT~

В

+

dA jj (и, v ) дA pg (и, у) дv дv

)

du dv,

C -4

дAij (и, v) дф(и, v) дAij (и, v) дф (и, v) \ ди ди        dv dv J du dv.

Вычисляя производны' по каждой компонент' векторов c ij , приравниваем их к нулю и получаем линейную систему алгебраических уравнений:

С 00 В 0000 + С 01 В 0001 + • • • + С п0 В 00п0 + • • • + С Пп В00гт C oo

С 00 В 0100 + С 01 В 0101 + • • • + С п0 В 01п0 + • • • + С пп В 01пп С 01

С 00 В пп00 + С 01 В пп01 + • • • + С п0 В ппп0 + • • • + С пп В пппп

С! ^ пп .

Стоит заметить, что система является симметричной относительно главной диагонали, так как В ijpg В pgij . А размерность матрицы (п + 1) 2 . Все полиномы в интегралах В ijpg являются линейными комбинациями и соответственно вычисляются. Таким образом, задача Плато сводится к вычислению всех интегралов В ijpg и C ij на единичном круге и решению линейной системы алгебраических уравнений размерности (п + 1) 2 .

4.    Вывод рекурентной формулы

Все интегралы вида

Г Г ( дA ij ( u,v ) дА рд ( u,v )

J J \ ди ди

В

+

дA ij (u,v) дА Рд ( u,v ) дv дv

)

du dv

не зависят от вектор-функции . Поэтому нахождение всех таких интегралов можно свести к явному виду. Найдем общий вид полинома дAij (и, v) дАрд(u,v) ди ди

+ дA ij ( u,v ) дА рд ( u,v ) дv дv

u t+g+2 v j+p (2q + 2i + 2р + 2j + 4 + ip + 2jp) +

+ иг+д vB p +2(2q + 2i + 2p + 2j + 4 + ip + 2jp) + + иг vj+p(-2q - 2i - 2p - 2j - 2iq - 2jp) +

+ iqu i+g—2 v j+p+4 + iqU g '2v j p + j^g v^P -2 +

+ ipui +g+4 vj +P- 2 - 2iqu i+g 2 v j+p 2 - 2jpu i+g+2 v j+p 2 .

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

Ц u n v m dudv = в

1    2 п

J 0 Jo

ρ

n+m+1

sin n a cos m a d a d p .

Далее положим

1    2 n

ρ

n+m+1

sin n a cos m a d a d p .

Поскольку пределы интегрирования не являются функциями, можно переписать интеграл в виде:

= / p n+m+1 d p I sin n a cos m a d a 00

n + m + 2

2 n

L sin n

a cos m a d a .

Рассмотрим интеграл: J n,m = 0 n sin n a cos m a d a . Если хотя бы одна из степеней n или m будет нечетной, он будет равняться нулю. Проинтегрируем по частям данный интеграл, занеся под дифференциал cos a :

2 n

J n,m = J   sin n a cos m-1 a d(sin a ) =

2 n

= sin n+1 (a) cos n-1 a | 0 % j (n sin a n+1 cos m-1 a (m 1) sin n a cos m a) d a .

Так как при двойной подстановке sin n+1 acos n-1 a | 2 n = 0, перепишем интеграл в рекуррентной форме:

J.

n + 1

Т J n+2,m - 2 . m — 1

Таким образом, j T^m — (2i — 1) Г2п . n+m , Jn,m =Дп + (2i — 1) I sin ada, где m — четное. Аналогично запишем рекуррентную формулу для

/- 2п

J n,m    /

■ n+m , n + m - 1 , sin + a d a =--------- J nm- 2

n + m или

J

(n+m)/2

∏︁ г=1

n + m — (2i — 1)

n + m + (2i — 2)

2 п ,

где (n + m) нацело делится на 2.

Суммируя вышеперечисленное, получаем:

1    2 п

ρ

n+m+1

sin n a cos m a d a d p

2n     1ПГ m — (2i — 1) ^pt )/ 2 n + m — (2i — 1)

n + m + 2 n + (2i 1)        n + m + (2i 2)

В случае п = 0 или т = 0 считаем интеграл как рекуррентную формулу для sin а и cos’ а соответственно:

1 ”,о

1   2 π

=L L р' +

sin а d a d p

2п ”/2 п - (2i - 1) п + 2 п - (2i - 2) ’

1    2 π

2 п ГТ т - (2i - 1) т + 2 ^=1 т - (2i - 2)

h = J J  Рт +1 cos а d a d p

Таким образом, алгоритм вычисления полиномиальных функций подынтегрального выражения сводится к нахождению для каждого i,j,p и q линейной комбинации, а также интеграла от функции ulv k через рекуррентную формулу. При этом точность вычисления является максимальной, что полностью освобождает от необходимости применять методы для приближенного численного интегрирования.

5.    Оптимизация алгоритма, связанная с четностью подынтегральных выражений

Как упоминалось ранее, подынтегральное выражение B tjpq , интегрируемое на единичном круге, имеет ряд особенностей. Так, например, это выражение будет всегда равно нулю, если i и j не имеет кратность два. Каждый раз, когда рассматриваем линейную комбинацию ulv k , будем выбирать такие степени, где I mod 2 = 0 и к mod 2 = 0. Рассмотрим пример для п = 1. Для удобства записи будем использовать вместо четырех индексов i,j,p,q два индекса k,t:

к = i(n + 1) + j,t = р(п + 1) + q.

Это возможно, так как в ранней записи матрицы B индексы i,j представляли собой не два разных числа, а одно в системе счисления с основанием (п + 1). Таким образом, число ij можно преобразовать по вышеуказанным формулам в число к в десятичной системе счисления. Аналогично для индексов р, к:

B 0 , 0 = 4u 2 + 4v 2 , B 0 ,1 = 6u 2 v + 6v 3 - 2v,

B 0 , 2 = 6u 3 + 6uv 3 - 2u, B 0 ,3 = 8u + 8uv 3 - 4uv,

B 1, 0 = 6u 2 v + 6v 3 - 2v, B 1,1 = 4u 4 + 10u 2 v 2 - 2u + 9v 4 - 6v 2 + 1,

  • B 1, 2 = 8u 3 v + 8uv 3 - 4uv, B^ = u5 + 12u 3 v 2 - 2u 3 + 11uv 4 - 8uv 2 + u,

B 2 , 0 = 6u 3 + 6uv 3 - 2u, B 2 ,1 = 8u 3 v + 8uv 3 - 4uv,

B 2 , 2 = 9u 4 + 10u 2 v 2 - 6u + v 4 - 2v 2 + 1, B 2 ,3 = 11u 4 v + 12u 2 v 3 - 8u 2 v + v 5 - 2v 3 + v, B 3, 0 = 8u 3 v + 8uv 3 - 4uv, B 31 = u5 + 12u 3 v 2 - 2u 3 + 11uv 4 - 8uv 2 + u,

B 3, 2 = 11u 4 v + 12u 2 v 3 - 8u 2 v + v 5 - 2v 3 + v, B 3,3 = u 6 + 15u 4 v 2 - 2u 4 + 15u 2 v 4 -- 12u 2 v 2 + u 2 + v 6 - 2v 4 + v 2 .

С учетом ограничений на степени можно переписать матрицу B в виде:

B 0,0 = 4 u 2 + 4 v 2 , B 0,1 = 0 , B 0,2 = 0 , B 0,3 = 0 ,

B 1, 0 = 0, B 1,1 = 4u 4 + 10u 2 v 2 - 2u + 9v 4 - 6v 2 + 1, B 1, 2 = 0, B 1,3 = 0,

B 2,0 = 0, B 2,1 = 0, B 2,2 = 9u 4 + 10u 2 v 2 - 6u + v 4 - 2v 2 + 1, B 2,3 = 0,

B 3, 0 = 0, B 3,1 = 0, B 3, 2 = 0, B 3,3 = u 6 + 15u 4 v 2 - 2u 4 + 15u 2 v 4 - 12u 2 v 2 + u 2 + v 6 - 2v 4 + v 2 .

Или

/ vol   0

00

В =

0 vol 0    0

0    0 vol 0

, где vol — некоторая линейная комбинация и и v. Для

00

0 vol /

п = 2 вид матрицы будет немного другой:

/ vol   0

vol 0    0    0 vol 0 vol\

0 vol 0    0    0    0    0 vol 0

vol 0

vol 0    0    0 vol 0 vol

00

0 vol 0 vol 0    0    0

В =

00

0    0 vol 0    0    0    0

.

00

0 vol 0 vol 0    0    0

vol 0

vol 0    0    0 vol 0 vol

0 vol 0    0    0    0    0 vol 0

\ vol   0

vol 0    0    0 vol 0 vol /

На индексы г, j, q и р можно наложить условие: если i + q mod 2 = 0 и j + р mod 2 = 0, то В = 0, иначе считаем интеграл по рекуррентной формуле. Так как интеграл на единичном круге от нечетной функции всегда равен нулю, мы можем частично предсказать результат и для интеграла, содержащего ϕ. В общем виде мы будем по отдельности сравнивать ((1 и 2 v 2 )и^) и и ф(и,v). Если хотя бы одна из функций четная, а другая нет, то интеграл на единичном круге будет равен нулю, в противном случае вычисляем его. Аналогично и для ((1 — и 2 v 2 )u l v ^ ) v и ф(и, v). Таким образом мы частично сократим алгоритм вычисления, что существенно для больших значений п.

6.    Реализация алгоритма на языке Python

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

Программа была протестирована на различных поверхностях. На рисунках представлен интерфейс программы. В верхней части окна приложения пользователю предлагается ввести степень полиномиальной функции п и уравнения вектор-функции, далее необходимо нажать на кнопку «Минимизировать поверхность!». После этого в верхнем окне появляется график исходной поверхности, а в нижнем минимизированной.

Исходная поверхность

Минимизированная поверхность

n

Погрешность

( х(и, v) = и

/ у(и, v) =v

(z(u,v) = u + v — и2

1

3.330e-17

<

x(u^ V) = и y(u, v) = V z(u, v) = —^ + u+ + V + v — T

2

3.330e-17

3

3.330e-17

( x(u,v) = и

< y(u, v) — V

( z(u, v) = uv + v2 + u2

' x(u, v) = и y(u, v) = V z(u, v) = uv + 1

1

2.220e-17

2

2.220e-17

3

2.220e-17

( x(u,v) = и

< у(и, v) = v {z(u, v) = u2 + V2 + и

( x(u, v) = и

< y(u, v) = V

[z(u, v) = u + 1

1

2.359e-17

2

2.359e-17

3

2.359e-17

' x(u, v) = и y(u, v) = V z(u,v) = arctg^)+ k +0.01(1 - it)2(l — v)2

<

x(u,v) = и y(u, v) = V z(u,v) - arctg(^)

1

0.0015721

2

0.0010404

3

0.0010404

Пример 3

Пример 5

Пример 6

Заключение

На языке Python был реализован алгоритм, позволяющий рассчитывать приближенные минимальные поверхности в классе полиномиальных вектор-функций, заданных на единичном круге и удовлетворяющих краевому условию Дирихле (задача Плато). Бы- ли рассмотрены вектор-функции с различными граничными контурами Г. В примерах 1–5 были рассмотрены нетривиальные поверхности, которые после работы алгоритма минимизации переходят в приближенные минимальные поверхности. Также был рассмотрен случай минимизации уже минимальной поверхности и, как видно из примера 6, программа работает корректно и не изменяет поверхность, являющуюся минимальной. В таблице приведены погрешности вычислений для некоторых поверхностей. Можно заметить, что погрешность вычисления данной программы довольно мала, и для большинства поверхностей достаточно взять степень полиномиальной функции п = 1.

Список литературы Построение минимальной параметрически заданной поверхности методом минимизации интеграла Дирихле

  • Березин, И. С. Методы вычислений I И. С. Березин, Н. П. Жидков. — М.: Физматлит, 1959. — б20 c.
  • Веденяпин, А. Д. Внешние размеры трубчатых минимальных гиперповерхностей I А. Д. Веденяпин, В. М. Миклюков II Матем. сб. — 198б. — Т. 173, № 2. — C. 240-250.
  • Гацунаев, М. А. О равномерной сходимости кусочно-линейных решений уравнения минимальной поверхности I М. А. Гацунаев, А. А. Клячин II Уфимский математический журнал. — 2014. — Т. 24, № 3 (б). — C. 3-1б.
  • Клячин, А. А. Визуализация расчета формы поверхностей минимальной площади I А. А. Клячин, В. А. Клячин, Е. Г. Григорьева II Научная визуализация. — 2014. — Т. 2, № б. — C. 34-42.
  • Клячин, А. А. О скорости сходимости последовательности, доставляющей минимум в вариационной задаче I А. А. Клячин II Вестник Волгоградского государственного университета. Серия 1, Математика. Физика. — 2012. — Т. 1б, № 1. — C. 12-20. — DOI: http:||dx.doi.org|10.15688|jvolsu1.2012.1.2
  • Клячин, А. А. О сходимости полиномиальных приближенных решений уравнения минимальной поверхности I А. А. Клячин, И. В. Трухляева II Уфимский математический журнал. — 201б. — Т. 8, № 1. — C. 72-83.
  • Курант, Р. Принцип Дирихле, конформные отображения и минимальные поверхности I Р. Курант. — М.: ИЛ, 1953. — 512 c.
  • Миклюков, В. М. Некоторые особенности поведения решений уравнений типа минимальной поверхности в неограниченных областях | В. М. Миклюков || Матем. сб. — 1981. — Т. 11б (158), № 1 (9). — C. 72-8б.
  • Миклюков, В. М. О некоторых свойствах трубчатых минимальных поверхностей в Rn I В. М. Миклюков II Докл. АН СССР. — 1979. — Т. 247, № 3. — C. 549-552.
  • Миклюков, В. М. О строении в целом внешне полных минимальных поверхностей в R3 I В. М. Миклюков, В. Г. Ткачев || Изв. вузов. Математика. — 1987. — № 7. — C. 30-3б.
  • Михлин, С. Г. Вариационные методы в математической физике | С. Г. Михлин. — М.: Наука, 1970. — 512 c.
  • Фоменко, А. Т. Минимальные поверхности I А. Т. Фоменко II Научно-популярный физико-математический журнал Квант. — 1983. — № б. — C. 18-25.
  • Фоменко, А. Т. Наглядная геометрия и топология. Математические образы в реальном мире | А. Т. Фоменко. — М.: Изд-во Моск. ун-та: Изд-во «ЧеРо», 1998. — 41б c.
  • Bassanezi, R. C. The Dirichlet Problem for the Minimal Surface Equation in Non-Regular Domains | R. C. Bassanezi, U. Massari || Ann. Univ. Ferrara. — 1978. — Vol. 24. — P. 181-189.
  • Douglas, J. Solution of the Problem of Plateau | J. Douglas || Trans. Amer. Math. Soc. — 1931. — Vol. 33, № 1. — P. 2б3-321.
  • Fomenko, A. T. The Plateau Problem | A. T. Fomenko. — New York: Gordon and Breach Science Publishers, 1990. — 219 p.
  • Jenkins, H. The Dirichlet Problem for the Minimal Surface Equation in Higher Dimension / H. Jenkins, J. Serrin // J. ReineAngew. Math. - 1968. - Vol. 229. - P. 170-187.
  • Rado, T. The Problem of the Least Area and the Problem of Plateau / T. Rado // J. d'Analyse Math. Z. - 1930. - Vol. 32. - P. 763-796.
Еще
Статья научная