Важное место среди вариационных и проекционных методов занимают конечно элементные методы (методы конечных элементов (МКЭ)) [1, 2, 3, 6]. Рассмотрим краевую задачу (1.3) для трёхмерной односвязной области V с границей S. Пусть область V + S пространственно дискретизована: будем считать, что она “натянута” на M узлов с фиксированными координатами xi, yi, zi, i =1, … M. Тогда конечно элементная аппроксимация приближённого решения ua краевой задачи (1.3) имеет вид (1.1).
Пусть поверхность S состоит из двух частей: S = S 1+ S 2. Пусть на части граничной поверхности S 1 задано распределение искомой величины u:
u = поверхностное распределение, (1.4)
а на части граничной поверхности S 2 задано распределение нормальной или тангенциальной составляющей некоторого дифференциального оператора распределения искомой величины u:
n *L Г u или n **L Г u = поверхностное распределение. (1.5)
(1.4) называются граничными условиями первого рода (условиями Дирихле), (1.5) – граничными условиями второго рода (условиями Неймана). При решении PDE (1.3) граничные условия первого рода удовлетворяются путём задания соответствующих значений величины u в граничных узлах.
Если использовать метод Галёркина применительно к аппроксимации (1.1), то дифференциальное уравнение (1.3) преобразуется в интегральное матричное уравнение относительно узловых значений искомой величины:
L ([ N ]*[ u (у)]) d V = f d V. (1.6)
Матрица [ u (у)] может быть вынесена за знак объёмного интеграла справа. Если дифференциальный оператор L содержит порядка z, то необходимо гарантировать кусочную дифференцируемость производных порядка z –1 от используемых функций формы [ N ] [1], иначе в точках их разрыва производные порядка z будут неограничены, что приведёт к появлению неопределённостей в интегралах, содержащихся в (1.6).
В [1] показано, что интеграл в левой части (1.6) может быть заменён выражением вида
*(D [ N ]) d V *[ u (у)] + d S,
где операторы E и D имеют более низкий порядок дифференцирования, чем исходный оператор L. Такая замена даёт возможность понизить требования к гладкости функций формы [ N ].
Модифицированное таким образом уравнение (1.6) можно преобразовать в алгебраическое матричное уравнение вида [ K ]*[ u (у)] = [ F ]. Для выполнения такого преобразования интегралы в модифицированном уравнении (1.6) можно вычислять путём суммирования по конечным элементам. Однако поверхностные интегралы по внутренним границам элементов в сумме должны обращаться в нуль (если в расчётной области отсутствуют поверхностные источники моделируемого поля), иначе данное интегральное преобразование не будет иметь смысла. Если функции формы имеют полиномиальный вид, то объёмные интегралы могут быть вычислены аналитически [10 и др.]. Однако для элементов высокого порядка, как правило, используется численное интегрирование. Аналитическое интегрирование приводит к существенной экономии вычислительных ресурсов, однако на практике мало применяется из-за трудности получения расчётных формул и усложнения программирования.
Как и в конечно-разностных методах, основным свойством получаемых систем алгебраических уравнений является ленточная или профильная структура матрицы коэффициентов (матрицы “жёсткости” [2]), а также слабая заполненность внутри ленты или профиля. Поэтому для хранения таких систем в памяти ЭВМ используют технологию разреженных матриц [11, 12, 13]. Прямым методам технологии разреженных матриц свойственно заполнение матриц в процессе факторизации. Поэтому наряду с прямыми применяются также итерационные методы. Прямые и итерационные методы реализованы в ядре MATLAB в виде операций и функций над разреженными матрицами.
Рассмотрим основные типы конечных элементов и их свойства, называемые атрибутами элементов