Смекни!
smekni.com

Алгоритм компактного хранения и решения СЛАУ высокого порядка (стр. 2 из 5)

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

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

Совокупностьпроведенных вычислений называется прямым ходом метода Гаусса.

Из -го уравнения системы (2) определяем ,из ()-гоуравнения определяем  и т.д. до . Совокупность таких вычисленийназывают обратным ходом метода Гаусса.

Реализация прямого метода Гаусса требует  арифметических операций,а обратного -  арифметических операций.

1.2. Итерационныеметоды решения СЛАУ

Метод итераций (метод последовательных приближений).

Приближенные методы решения систем линейных уравненийпозволяют получать значения корней системы с заданной точностью в виде пределапоследовательности некоторых векторов. Процесс построения такойпоследовательности называется итерационным (повторяющимся).

Эффективность применения приближенных методов зависят отвыбора начального вектора и быстроты сходимости процесса.

Рассмотрим метод итераций (метод  последовательныхприближений). Пусть дана система n линейных уравнений с n неизвестными:

Ах=b,    (14)

Предполагая, что диагональные элементы aii  0 (i = 2, ...,n), выразим xi через первое уравнение систем x2 - через второе уравнение и т.д. В результате получим систему, эквивалентную системе (14):

Обозначим ; , где i == 1, 2, ...,n; j ==1,2,..., n. Тогда система (15) запишется таким образом в матричной форме

Решим систему (16) методом последовательных приближений.За нулевое приближение примем столбец свободных членов. Любое (k+1)-еприближение вычисляют по формуле

Если последовательность приближений x(0),...,x(k) имеетпредел ,то этот предел является решением системы (15), поскольку в силу свойствапредела ,т.е.  [4,6].

Метод Зейделя.

Метод Зейделя представляет собой модификацию методапоследовательных приближений. В методе Зейделя при вычислении (k+1)-гоприближения неизвестного xi (i>1) учитываются уже найденные ранее (k+1)-еприближения неизвестных xi-1.

Пусть дана линейная система, приведенная к нормальномувиду:

    (17)

Выбираем произвольно начальные приближения неизвестных иподставляем в первое уравнение системы (17). Полученное первое приближениеподставляем во второе уравнение системы и так далее до последнего уравнения.Аналогично строим вторые, третьи и т.д. итерации.

Таким образом, предполагая, что k-е приближения известны,методом Зейделя строим (k+1)-е приближение по следующим формулам:

где k=0,1,...,n

Метод Ланцоша.

Для решения СЛАУ высокого порядка (1), матрица,коэффициентов которой хранится в компактном  нижеописанном виде, наиболееудобным итерационным методом является метод Ланцоша [4], схема которого имеетвид:

      (18)

где

Преимуществом данного метода является его высокаяскорость сходимости к точному решению. Кроме того, доказано, что он обладаетсвойством «квадратичного окончания», т.е. для положительно определенной матрицыможно гарантировано получить точное решение при количестве итераций . Размертребуемой памяти на каждой итерации не изменяется, т.к. не требуетпреобразование матрицы . В качестве критерия остановкиданного итерационного процесса обычно используют соотношение

,           (19)

где - заданная точность. В качестведругого критерия сходимости иногда удобнее использовать среднеквадратичнуюразность между решениями, полученными на соседних итерациях:

            (20)

Среднеквадратичную разность необходимо контролироватьпри выполнении каждых k наперед заданных итераций.

Отдельно следует рассмотреть проблему выбора начальногоприближения .Доказывается, что при положительно определенной матрице , итерационный процесс(18) всегда сходится при любом выборе начального приближения. При решенииконтактных задач, когда для уточнения граничных условий в зоне предполагаемогоконтакта требуется большое количество решений СЛАУ вида (1), в качественачального приближения для первого расчета используется правая часть системы(1), а для каждого последующего пересчета - решение, полученное на предыдущем.Такая схема позволяет значительно сократить количество итераций, необходимыхдля достижения заданной точности (19) или (20) [10,11].

 2 МЕТОДЫКОМПАКТНОГО ХРАНЕНИЯ МАТРИЦЫ ЖЕСТКОСТИ

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

Первоначально,с целью выявления связей каждого узла с другими, производится анализ структурыдискретизации области на КЭ. Например, для КЭ - сетки, изображенной на рис. 1,соответствующая структура связей будет иметь вид:

№ узла 1 2 3 4 5 6 7
Связи 1, 2, 5, 6, 7 1, 2, 3, 6 2, 3, 4, 6 3, 4, 5, 6, 7 1, 4, 5, 7 1, 2, 3, 4, 6, 7 1, 4, 5, 6, 7


Тогда, для хранения матрицыжесткости необходимо построчно запоминать информацию о коэффициентах,соответствующих  узлам, с которыми связан данный узел.  На рис. 2 приведены  матрица жесткости и ее компактное представление для сетки изображенной на рис 1[9].


Текстподпрограммы, реализующий предложенный алгоритм анализа структуры КЭ-разбиениятела, приведен в Приложении 1.

Данныйспособ компактного хранения матрицы жесткости позволяет легко его использоватьсовместно с каким-нибудь численным методом. Наиболее удобным для этой целипредставляется использование вышеизложенного итерационного метода Ланцоша, таккак на каждой итерации требуется только перемножать матрицу коэффициентов СЛАУи заданный вектор. Следовательно, для использования предложенного методакомпактного хранения СЛАУ необходимо построить прямое и обратное преобразованиев первоначальную квадратную матрицу.

Пусть– элементпервоначальной квадратной матрицы размерностью , а  - ее компактное представление. Тогда дляобратного преобразования будут справедливы следующие соотношения:

,                                                                       (*)

гдеm – количество степеней свободы (m=1,2,3).

Дляпрямого преобразования будут справедливы соотношения, обратные к соотношениям(*).

 3 ЧИСЛЕННЫЕЭКСПЕРИМЕНТЫ

Дляпроверки предлагаемого метода компактного хранения матрицы жесткости быларешена задача о контактном взаимодействии оболочечной конструкции и ложемента[12] (рис. 4).


Данная задача часто возникает напрактике при транспортировке или хранении с горизонтальным расположением осиоболочечные конструкции устанавливаются на круговые опоры - ложементы.Взаимодействие подкрепленных оболочечных конструкций и ложементовосуществляется через опорные шпангоуты, протяженность которых вдоль осиоболочки соизмерима с шириной ложементов и много меньше радиуса оболочки ивеличины зоны контакта.

Даннаязадача решалась методом конечных элементов при помощи системы FORL [5]. Дискретная модель ложемента (в трехмерной постановке)представлена на Рис. 5.


Припостроении данной КЭ-модели было использовано 880 узлов и 2016 КЭ в формететраэдра. Полный размер матрицы жесткости для такой задачи составляет  байт, чтоприблизительно равно 2,7 Мбайт оперативной памяти. Размер упакованногопредставления составил около 315 Кбайт.

Даннаязадача решалась на ЭВМ с процессором Pentium166  и 32 МБ ОЗУ двумя способами – методом Гаусса и методом Ланцоша.Сопоставление результатов решения приведено в Таблице 1.

   Таблица1.

Время решения (сек)
Метод Гаусса 280 2.2101 -2.4608 1.3756 -5.2501 1.7406 -2.3489
Метод Ланцоша 150 2.2137 -2.4669 1.3904 -5.2572 1.7433 -2.3883

ИзТаблицы 1 легко видеть, что результаты решения СЛАУ методом Гаусса и методомЛанцоша хорошо согласуются между собой, при этом время решения вторым способомпочти в два раза меньше, чем в случае использования метода Гаусса.

ВЫВОДЫ.

Вданной работе были рассмотрены способы компактного хранения матрицыкоэффициентов системы линейных алгебраических уравнений (СЛАУ) и методы еерешения. Разработан алгоритм компактного хранения матрицы жесткости,позволяющий в несколько раз (иногда более чем в десятки раз) сократить объемтребуемой памяти для хранения такой матрицы жесткости.

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