В задачах линейной статики решается система линейных алгебраических уравнений
|
Kx = b, |
(1) |
где K – симметричная (как правило, разреженная) матрица жесткости, возникающая при применении метода конечных элементов к задачам строительной механики и механики деформируемого твердого тела; x, b – векторы неизвестных и правых частей (загружений). В задачах нелинейной статики используется метод Ньютона – Рафсона или модифицированный метод Ньютона – Рафсона. На каждой итерации решается система линеаризованных алгебраических уравнений вида (1), в которой K – симметричная матрица тангенциальной жесткости, x – вектор приращения перемещений и углов поворота на текущей итерации, b – вектор невязки.
Для решения системы линейных алгебраических уравнений (1) в программном комплексе SCAD применяются как прямые методы, так и итерационный – метод сопряженных градиентов с предобуславливанием.
Прямые методы – многофронтальный и PARFES – используют обобщенное разложение Холецкого
|
K = L∙S∙LT , |
(2) |
где L – разреженная нижняя треугольная матрица, S – диагональ знаков, обобщающая разложение Холецкого на случай неопределенных матриц, типичный при решении задач модального анализа и устойчивости. Затем выполняется прямая подстановка
|
Ly = b → y, |
(3) |
диагональное масштабирование
|
Sz =y → z, |
(4) |
и обратная подстановка
|
LTx = z → x. |
(5) |
Кроме того, метод Гаусса использует разложение:
|
K = L∙U, |
(6) |
где L, U – соответственно нижняя и верхняя треугольные матрицы, после чего выполняются прямая (3) и обратная подстановки
|
Ux = y → x. |
(7) |
При использовании итерационного метода исходная задача (1) сводится к виду
|
B-1Kxi = B-1bi, i ∈ [1, Nr] , |
(8) |
где i – номер правой части, Nr – количество правых частей, B – оператор предобуславливания, конструируемый так, чтобы система уравнений Bzik = rik → zik , имеющая тот же порядок, что и (1), решалась значительно быстрее, чем (1), и система уравнений (6) обладала лучшей обусловленностью, чем (1): Cond(B-1K) < Cond(K), где Cond(...) – число обусловленности. Тогда сходимость (6) будет быстрее. Здесь rik = bi – Kxik – вектор невязки на текущем шаге итерации k. Процедура решения состоит из двух этапов: создания предобуславливания и итерационного процесса метода сопряженных градиентов. Условия, при которых происходит завершение итерационного процесса, описаны ниже.