Функция, которая описывает поведение на симплексе, называется пробной, вероятно потому, что на заре развития метода, ввиду слабости вычислительной техники, приходилось пробовать и подбирать функции, которые бы аппроксимировали решение. Существует огромное количество пробных функций, можно использовать и тригонометрические даже, но на практике распространение получили полиномиальные функции, что как бы намекает на разложение решения в ряд Тейлора, по аналогии с разложением в ряд Фурье, за тем лишь исключением, что разложение в ряд Тейлора мы осуществляем не на всей геометрии, а только лишь на симплексах, что позволяет нам использовать максимально простые полиномы. Выбирались, как правило, полиномы 3 степени, с 9-10 коэффициентами, и это требовало добавления дополнительных точек на симплекс, чтобы эти коэффициенты определить, что приводило к 9-10 СЛАУ на каждом симплексе, но решать их нужно было всего один раз, что с точки зрения вычислительной не проблема даже по тем временам. Конечно, это здравый подход, но я решил «попробовать» построить решение с помощью максимально простых полиномов, а именно полиномов вида:
где — количество узлов, — коэффициенты, — так называемые функции «крышки», которые равны 1 на узле симплекса и нулю в остальных узлах геометрии, и как раз-таки за счёт того, что функции «крышки» представляют из себя полиномы, пробные функции будут тоже полиномами.
где — номер узла, а не степень, — коэффициенты, зависящие от геометрии конкретного узла на симплексе. После того, как геометрия будет разбита на симплексы, нужно будет их один раз вычислить для каждого узла симплекса. Функцию «крышку» я записал для трёхмерной системы координат, но дальше будем работать с двумерной или одномерной так же.
Давайте подробнее поговорим про функции «крышки» и начнём с одномерного случая.
На рисунке Функции «крышки» для симплексов-отрезков приведено пять функций «крышек» и четыре симплекса: в общей сложности для одномерного пространства на точек приходится функций «крышек» и симплексов соответственно. На краях, в узлах и , функции имеют вид половинок «крышек». Примем , тогда симплекс между точками и (на рисунке он выделен заливкой и ограничен пунктирными линиями) определяется следующим образом: за счёт того, что остальные функции «крышки» не оказывают влияния на него ввиду того, что принимают нулевое значение на интервале . Функция проходит через точки и , а функция через точки и . Тогда справедливо
Решение систем соответственно
Если для одномерных симплексов функции «крышки» имеют вид линий на плоскости, то для двумерных симплексов уже будут поверхности в трёхмерном пространстве.
Мы взяли все три точки треугольника с рисунка Симплексы-треугольники и построили три пирамиды, вершинами которых являются «поднятые» на величину 1 вершины исходного треугольника, а основаниями пирамид являются многоугольники с того же рисунка, содержащие внутри себя вершины треугольника. Так как нашему исследованию подвергается треугольник и мы планируем записывать пробную функцию для него, отбросим лишние части и перестроим рисунок, оставив только плоскости, проецируемые на треугольник.
На рисунке Части функций «крышек» для симплекса-треугольника для двумерного пространства, как и для одномерного, каждому из узлов сетки соответствует ровно одна функция «крышка», так что всего их ; число же симплексов-треугольников зависит от конкретной триангуляции. Заметим также, что в пределах одного треугольника отличны от нуля ровно три функции «крышки» — по числу его вершин. Обозначим точки симплекса через . В итоге пробная функция примет вид . Для определения постоянных , , примем во внимание, что координата отлична от нуля только на вершинах пирамид, в итоге получим три системы уравнений
Решение уравнений будет соответственно
где — определитель матрицы.
Сложность работы с трёхмерной системой координат заключается в том, что решение сложно визуализировать, как и функции «крышки», поэтому обойдёмся только формулами. Вообще, в данном руководстве основной акцент будет делаться на двумерные краевые задачи, так как они лишены тривиальности, в отличие от одномерных, и в то же время хорошо визуализируются. Итак, в трёхмерном пространстве тетраэдр служит основанием четырёхмерного пентахорона «крышки». По аналогии с формулами выше смеем предположить, что функция «крышка» будет иметь значение 1 в одной из точек тетраэдра, поднятой в четырёхмерное пространство перпендикулярно основанию и быть нулём в остальных точках тетраэдризации, при этом пробная функция будет иметь вид . Для определения постоянных , , , примем во внимание, что координата четвёртого измерения отлична от нуля только на вершинах пентахоронов, в итоге получим четыре системы уравнений
Решение уравнений будет соответственно
где определитель матрицы: