Введение в вычислительную физику - Федоренко Р.П.
ISBN 5-7417-0002-0
Скачать (прямая ссылка):
Технически оказывается удобнее задавать конечные элементы в виде стандартного треугольника в плоскости параметров (?, т]) с вершинами в точках (0, 0), (1, 0), (0, 1), оснащенного стандартным базисом из функций
<Pi(S. Л) = 1 -6-Л, 1P2(^tI) = I. 1P3(^tI) = tI-
Для конкретного треугольника с вершинами (Jc1, ^1), (х2, у2), (х3, уз) легко построить линейное отображение его в стандартный треугольник:
I = U1 + апх + апу, т) = а2 + а21х + а22у,
и обратное к нему.
Легко вычисляются, например, производные интерполированной функции:
ди ди д? . ди ді) / \ , / ч
ЭХ ~ 35 ЭХ + ЭГ) дх ~ (И2 Ul) aU + (u3 — ui) а21-
44
ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ
Они используются при решении задач Пуассона. Интегрирование по элементарному треугольнику сводится к интегрированию по стандартному треугольнику (в плоскости (?, т])) с последующим умножением на определитель преобразования (постоянный в силу линейности отображения).
Таким образом, конечные элементы позволили построить некоторое подпространство из того пространства W (непрерывных функций с кусочно-непрерывными производными), в котором имеется решение задачи. Этот аппарат оказался очень удобным для решения задач в областях не слишком простых форм. Он составляет основу одного из самых гибких алгоритмов решения задач математической физики — метода конечных элементов (МКЭ).
Обобщения метода конечных элементов связаны с решением не таких уж простых задач. В некоторых задачах (для бигармониче-ского уравнения, например) естественным пространством W, которое следует аппроксимировать для приближенного решения, является пространство непрерывных функций с непрерывными первыми и кусочно-непрерывными вторыми производными. Процедура гладкого восполнения внутри отдельного треугольника должна быть такой, чтобы совпадали не только проинтерполированные в двух соседних треугольниках функции на общей границе, но и их первые производные. В некоторых задачах (гидродинамика несжимаемой жидкости) желательно построить аппарат интерполяции вектор-функции с нулевой дивергенцией, и т.п. Построение таких «элементов» ценится в науке настолько, что им присваивают имена их конструкторов (элемент Оргириса и т.д.).
Необходимо подчеркнуть, что работа с конечными элементами требует решения ряда достаточно сложных алгоритмических проблем. Многие вещи, о которых так легко было говорить, ссылаясь на геометрическую картинку (см. рис. 5), не так-то просто реализовать в ЭВМ. В самом деле, пусть задана последовательность координат всех точек сетки {хп, Уп}%=1 (не следует забывать, что N могут
быть порядка IO2, IO3, а иногда IO4). Эта информация полностью определяет сетку. Ho попробуйте решить такую задачу. Составьте группы по три точки, образующие все элементы триангуляции. He сомневаюсь, что каждый справится с этой работой, но каков будет объем вычислений? Поэтому работать с такой «минимальной» информацией практически невозможно.
В процессе формирования триангуляции необходимо формировать и дополнительную, избыточную информацию, позволяющую быстро решать те задачи, которые возникают при реализации метода конечных элементов. Например, можно сформировать последовательность троек чисел {т, п; т2 п; т3 „} номеров точек сетки, образующих вершины т-го элемента. Допустим, такая информационная таблица уже есть. Попробуйте с ее помощью решить следующую за-
§3]
ИНТЕРПОЛЯЦИЯ ФУНКЦИЙ
45
дачу. Пусть задан номер п одной из точек сетки. Найдите номера к элементов, одной из вершин которых является точка (хп, уп); в некоторых случаях желательно, чтобы эти номера были расположены в порядке следования элементов при обходе n-го узла по часовой, например, стрелке.
Нетрудно понять, что если такая задача относится к числу «массовых» (решаемых многократно) при реализации метода конечных элементов, имеет смысл решить ее один раз и запасти в памяти ЭВМ соответствующую таблицу. Пусть и эта информация уже есть. Попробуйте решить такую задачу. Дана точка (х, у) в области G, даны значения {и11} функции в узлах сетки. Вычислите и(х, у). Иными словами, нужно найти номер того элемента, внутрь которого попала точка (х, у), и воспользоваться формулой интерполяции (13). Ho как найти этот номер, не перебирая всех элементов? Здесь очень полезной может оказаться информация, возникающая (и сохраняемая в памяти ЭВМ) в том процессе генерирования триангуляции, который был описан выше. Просматривают все треугольники первичной, «ручной» триангуляции (а их немного) и определяют, в каком из них находится точка (х, у), затем просматривают только четыре треугольника следующего уровня триангуляции, и т.д. Ho чтобы это можно было сделать, надо вырабатывать и сохранять соответствующую информацию (в виде некоторых таблиц).
Задача вычисления и(х, у) является, как нетрудно понять, одной из типичных, наиболее массовых задач при содержательном истолковании решения, полученного методом конечных элементов в виде таблицы {ип} значений функции в узлах сетки. Ведь нас интересует, что происходит в той или иной точке именно исходного геометрического пространства (х, у).