Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник 411.docx
Скачиваний:
19
Добавлен:
30.04.2022
Размер:
4.84 Mб
Скачать

4.3 Процессор

Процессор пакета FEMPDESolver реализован на основе метода конечных элементов, который является одним из наиболее эффективных методов численного анализа различных физических процессов. Его широкое распространение связано с простотой и универсальностью математической формулировки, гибкостью численных алгоритмов, позволяющих учитывать свойства каждой конкретной задачи и быстрым развитием средств вычислительной техники, недостаточный уровень которого сдерживал применение МКЭ на начальных этапах его развития. Впервые предложенный Курантом в 1943 году, к настоящему времени МКЭ превратился в мощную математическую основу для создания пакетов программ решения задач математической физики, область его применения охватывает все задачи, описываемые дифференциальными уравнениями в частных производных.

Процессор, или решатель (файл difeqt.exe), осуществляет все конечно-элементные вычисления (формирование системы алгебраических уравнений и ее решение).

Входные данные – файлы, генерируемые препроцессором, – nn1, xr, yr, potent, taskinfo. На выходе процессор выдает значения искомых величин в каждом узле сетки – массив rhs. В связи с большой разреженностью матрица системы уравнений хранится в виде графа смежности. Нулевые элементы не хранятся.

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

В данной программе используется традиционный для МКЭ подход, состоящий в последовательной обработке всех конечных элементов (цикл по номерам элементов), вычислении локальной матрицы для отдельного элемента и добавлении этой матрицы в глобальную матрицу, соответствующую всей задаче. Сама возможность такого подхода исходит из аддитивности функционала (энергетической величины). Всего для каждого конечного элемента требуется вычислить m(m+1)/2 матричных элементов и m элементов вектора правых частей, где m – число степеней свободы (параметров аппроксимации) данного элемента.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]