А Б В Г Д Е Є Ж З І Ї Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ю Я
Ширина - стрічка - матриця
Ширина стрічки матриці суттєво визначає ефективність застосування прямих методів вирішення алгебраїчних рівнянь. Але головним обмеженням є те, що приблизно такий же обсяг проміжної числової інформаціїнеобхідно запам'ятовувати в процесі обчислень. Це означає, наприклад, що для тривимірних задач з числом вузлів близько 40 - 50 в одному вимірі потрібно запам'ятовувати більше 108 чисел.
Сітка, що складається більш ніж з одного прямокутника. | Вид матриці А для впорядкуванняневідомих. В даному випадку ширина стрічки матриці змінна.
Підпрограма МСНВ вимагає завдання ширини стрічки JH матриці коефіцієнтів. Адже значення ДТ визначається один раз і входять у програму вирази можна просто записати в рядок з використаннямдискретної змінної.
Перенумерація вершин для зменшення ширини. На рис. 3.8.1 наведено простий приклад, що ілюструє зменшення ширини стрічки матриці шляхом перенумерованія вершин відповідного їй графа. Після зміни номерів вершин графа Q, якийвідповідає матриці В, виходить граф Q, якому відповідає матриця В. У матрицях В до В одиниці позначені знаками множення, нулі - точками.
При визначенні розмірів глобальної матриці жорсткості[К ]слід мати на увазі, що ширині стрічки матриці[R3 будет больше. В самом деле, узловые перемещения 1-го и 4-го узлов элементов А и В рис. 1.27, не связанные в[К ],пов'язані в матриці[R. Это следует из того, что /дп выражается через все перемещения элемента А, а и /Эл - элемента В, поэтому в матрице[R.
Формирование разрешающей системы уравнений осуществляется с помощью процедуры PRA151, не описанные ранее формальные параметры которой имеют следующий смысл: М - ширина ленты матрицы жесткости всей конструкции; A ( 2 NR, М 1) - матрица коэффициентов при неизвестных перемещениях узлов в разрешающей системе алгебраических уравнений метода перемещений ( нижняя половина ленты матрицы жесткости конструкции вместе с главной диагональю, дополненная фиктивными нулевыми элементами); C ( 2 NR, NQL) - векторы правых частей уравнений для каждого варианта нагружения, обусловленные действием сосредоточенных и распределенных сил, а также температурных нагрузок.
Входными данными для подпрограммы формирования глобальных матрицы и столбца, приведенной на рис. 4.15, вляются: N - число треугольных элементов, М - число узлов, MS - ширина ленты матрицы, X, Y - массивы координат узлов хт, ут длиной М, IND - индексная матрица - массив длиной 4 N. Все эти данные получаются в результате выполнения процедуры разбиения и перенумерации узлов.
Структура следующих далее нечетных и четных строк ( кроме последней и предпоследней) повторяет рассмотренную структуру третьей и четвертой. Таким образом, ширина ленты матрицы получается равной 5 и не зависит от числа уравнений. Заметим, что, как видно из рис. 5.10, матрица является несимметричной.
Сравнение времени работы центрального процессора показывает, что с увеличением числа подконструкции от 2 до 5 время счета уменьшается более чем в два раза. Уменьшение времени работы центрального процессора объясняется уменьшением ширины ленты матрицы К /У.
Поскольку не всегда эти строки могут разместиться в. � азмер порции ограничен доступным объемом оперативной памяти, шириной ленты матрицы и принятым алгоритмом обработки порций, сущность которого заключается в следующем.
В процессе автоматического разбиения области проводится и нумерация получившихся элементов разбиения. После этого возникает задача оптимальной перенумерации узлов с целью уменьшения ширины ленты матрицы.
Высшие члены разложений ( п 3) полей напряжений и перемещений в вершине трещины используются в двух аспектах. Тем самым сингулярные конечные элементы позволяют избежать сгуще ния сетки конечных элементов в вершине и, следовательно, нежелательного увеличения числа неизвестных и ширины ленты матрицы жесткости при конечно-элементных расчетах.
Основной проблемой при реализации описанного подхода является быстрый рост затрат машинного времени с увеличением числа узловых точек в области. Например, при использовании специальных модификаций метода Гаусса для ленточных матриц число арифметических операций для решения системы уравнений пропорционально KL2, где К - общее число узловых точек в области, равное числу неизвестных в системе, L - ширина ленты матрицы. Особенно неприятно это для нестационарных нелинейных задач.
Из этих двух примеров видно, что характерной особенностью метода конечных элементов является нумерация узлов и элементов. В дальнейшем, однако, будет показано, что способ нумерации узлов и элементов влияет на ширину ленты матрицы системы уравнений, получающейся при применении конечно-элементной аппроксимации, - факт, который в вычислительном плане может иметь важное значение.
Данный вывод можно считать положительным, так как имеется возможность выбора произвольного порядка формирования главной матрицы МГЭ - вектора начальных параметров X. Это значит, что для данной стержневой системы существует множество вариантов топологической матрицы С, матриц Л и В. В этой связи возникает проблема оптимального построения матриц X и С, которая сводится к проблеме рационального обхода узлов. Если в МКЭ направление обхода узлов существенно влияет на ширину ленты матрицы коэффициентов и связанную с этим трудоемкость решения задачи[258], То в МГЕ напрямок обходу вузлів (орієнтований граф) впливає на трудомісткість розрахунку значно слабкіше. Пов'язано це з тим, що за МГЕ орієнтований граф незначно змінює лише топологічну матрицю С, а структура матриці А залишаєтьсянезмінною.
Даний висновок можна вважати позитивним, оскільки є можливість вибору довільного порядку формування головної матриці МГЕ - вектора початкових параметрів X. Це означає, що для даної стрижневий системи існує безліч варіантівтопологічної матриці С, матриць А і В. У цьому зв'язку виникає проблема оптимальної побудови матриць X і С, яка зводиться до проблеми раціонального обходу вузлів. Якщо в МКЕ напрямок обходу вузлів істотно впливає на ширину стрічки матриці коефіцієнтів і пов'язануз цим трудомісткість рішення задачі[71], То в МГЕ напрямок обходу вузлів (орієнтований граф) впливає на трудомісткість розрахунку значно слабкіше. Пов'язано це з тим, що за МГЕ орієнтований граф незначно змінює лише топологічну матрицю С, а структураматриці А залишається незмінною. Наступні операції обнулення стовпців і перестановки рядків призводять матрицю А до матриці, мало відрізняється від верхнетреугольной.
Двухточечное зважування вверх по потоку більш точне, ніж одноточечную, хоча і не володіє властивістюзнищення похибки. При ньому також зменшується вплив небажаного явища, званого ефектом орієнтації сітки, яке зустрічається при рішенні багатомірних задач (див. гл. Обсяг обчислень той же, що і для одноточечную схеми, якщо kri визначається в часіявно. При полунеявном визначенні kn або неявній апроксимації рівняння (5.80) у разі використання методу двоточковим зважування збільшується ширина стрічки матриці для багатовимірних задач.
Формування системи здійснюється в порядку обходу кінцевихелементів, чисельне інтегрування по кожному з яких на ітерації з використанням двоточкових квадратур Гауса здійснюється один раз. Причому кількість переміщень в кожному вузлі може бути дорівнює двом або трьом залежно від вихідної інформації задачі. У міру накопичення частини матриці Ац з урахуванням її структури у відведену порцію оперативної пам'яті ЕОМ здійснюється прямий хід по методу квадратного кореня і потім записується у зовнішню пам'ять. Такий порядок вирішення системи економить число обмінів із зовнішньою пам'яттю. Ширина стрічки матриці коефіцієнтів може змінюватися від рядка до рядка. Pезультірующее рішення виходить накопиченням Аі, Та, Де.
Вибір способу кодування в кожному конкретному випадку залежить від особливостей задачі. Так, при вирішенні двовимірних задач (наприклад, плоскої задачі теорії пружності) часто застосовують автоматичну генерацію сітки кінцевих елементів. Для цього досліджувану область розвивають на підобласті (як правило, ізопараметричних прямокутники), по кожній стороні яких задають необхідне число розбиттів на кінцеві елементи. У межах кожної підобласті автоматично генерується сітка кінцевих елементів, після чого здійснюється їх зшивання в єдину систему. В окремих програмах передбачена перенумерація вузлів сітки з метою мінімізації ширини стрічки матриці роздільною системи рівнянь. Можливе введення вихідних даних по планшетному принципом. При цьому планшет-масив незалежно від заданої розрахункової схеми повинен бути впорядкований по чергуванню кінцевих елементів і способом їх ідентифікації в алгоритмі. В результаті зшивання локальних матриць в глобальні здійснюється повністю програмно, включаючи формування матриці індексів.
В дійсності цей метод застосовується не до одновимірним завданням (звичайні диференціальні рівняння), так як система Ах виданню з трехдіагональной матрицею легко вирішується. Верхня релаксація найбільш важлива для випадку великих розмірностей, що відповідає рівнянням з приватними похідними. Якщо ми замінимо одиничний інтервал 0 х 1 на одиничний квадрат Про л, у 1 а рівняння - uxx f на - іхх - uyy f, то природним звичайно-різницевим аналогом для цього рівняння буде П'ятиточкова схема. Коефіцієнти - 1 2 - 1 за напрямком х комбінуються з коефіцієнтами-1 2 - 1 за напрямком у. Але ширина стрічки матриці А не дорівнює п'яти, і не існує способу нумерації ЛГ2 вузлових точок в квадраті так, щоб кожна точка розташовувалася близько до всіх чотирьох своїм сусіднім. Якщо упорядкування проводиться рядок за рядком, то кожна точка на протязі цілого рядка повинна очікувати свою верхню сусідню точку.
Сітка, що складається більш ніж з одного прямокутника. | Вид матриці А для впорядкуванняневідомих. В даному випадку ширина стрічки матриці змінна.
Підпрограма МСНВ вимагає завдання ширини стрічки JH матриці коефіцієнтів. Адже значення ДТ визначається один раз і входять у програму вирази можна просто записати в рядок з використаннямдискретної змінної.
Перенумерація вершин для зменшення ширини. На рис. 3.8.1 наведено простий приклад, що ілюструє зменшення ширини стрічки матриці шляхом перенумерованія вершин відповідного їй графа. Після зміни номерів вершин графа Q, якийвідповідає матриці В, виходить граф Q, якому відповідає матриця В. У матрицях В до В одиниці позначені знаками множення, нулі - точками.
При визначенні розмірів глобальної матриці жорсткості[К ]слід мати на увазі, що ширині стрічки матриці[R3 будет больше. В самом деле, узловые перемещения 1-го и 4-го узлов элементов А и В рис. 1.27, не связанные в[К ],пов'язані в матриці[R. Это следует из того, что /дп выражается через все перемещения элемента А, а и /Эл - элемента В, поэтому в матрице[R.
Формирование разрешающей системы уравнений осуществляется с помощью процедуры PRA151, не описанные ранее формальные параметры которой имеют следующий смысл: М - ширина ленты матрицы жесткости всей конструкции; A ( 2 NR, М 1) - матрица коэффициентов при неизвестных перемещениях узлов в разрешающей системе алгебраических уравнений метода перемещений ( нижняя половина ленты матрицы жесткости конструкции вместе с главной диагональю, дополненная фиктивными нулевыми элементами); C ( 2 NR, NQL) - векторы правых частей уравнений для каждого варианта нагружения, обусловленные действием сосредоточенных и распределенных сил, а также температурных нагрузок.
Входными данными для подпрограммы формирования глобальных матрицы и столбца, приведенной на рис. 4.15, вляются: N - число треугольных элементов, М - число узлов, MS - ширина ленты матрицы, X, Y - массивы координат узлов хт, ут длиной М, IND - индексная матрица - массив длиной 4 N. Все эти данные получаются в результате выполнения процедуры разбиения и перенумерации узлов.
Структура следующих далее нечетных и четных строк ( кроме последней и предпоследней) повторяет рассмотренную структуру третьей и четвертой. Таким образом, ширина ленты матрицы получается равной 5 и не зависит от числа уравнений. Заметим, что, как видно из рис. 5.10, матрица является несимметричной.
Сравнение времени работы центрального процессора показывает, что с увеличением числа подконструкции от 2 до 5 время счета уменьшается более чем в два раза. Уменьшение времени работы центрального процессора объясняется уменьшением ширины ленты матрицы К /У.
Поскольку не всегда эти строки могут разместиться в. � азмер порции ограничен доступным объемом оперативной памяти, шириной ленты матрицы и принятым алгоритмом обработки порций, сущность которого заключается в следующем.
В процессе автоматического разбиения области проводится и нумерация получившихся элементов разбиения. После этого возникает задача оптимальной перенумерации узлов с целью уменьшения ширины ленты матрицы.
Высшие члены разложений ( п 3) полей напряжений и перемещений в вершине трещины используются в двух аспектах. Тем самым сингулярные конечные элементы позволяют избежать сгуще ния сетки конечных элементов в вершине и, следовательно, нежелательного увеличения числа неизвестных и ширины ленты матрицы жесткости при конечно-элементных расчетах.
Основной проблемой при реализации описанного подхода является быстрый рост затрат машинного времени с увеличением числа узловых точек в области. Например, при использовании специальных модификаций метода Гаусса для ленточных матриц число арифметических операций для решения системы уравнений пропорционально KL2, где К - общее число узловых точек в области, равное числу неизвестных в системе, L - ширина ленты матрицы. Особенно неприятно это для нестационарных нелинейных задач.
Из этих двух примеров видно, что характерной особенностью метода конечных элементов является нумерация узлов и элементов. В дальнейшем, однако, будет показано, что способ нумерации узлов и элементов влияет на ширину ленты матрицы системы уравнений, получающейся при применении конечно-элементной аппроксимации, - факт, который в вычислительном плане может иметь важное значение.
Данный вывод можно считать положительным, так как имеется возможность выбора произвольного порядка формирования главной матрицы МГЭ - вектора начальных параметров X. Это значит, что для данной стержневой системы существует множество вариантов топологической матрицы С, матриц Л и В. В этой связи возникает проблема оптимального построения матриц X и С, которая сводится к проблеме рационального обхода узлов. Если в МКЭ направление обхода узлов существенно влияет на ширину ленты матрицы коэффициентов и связанную с этим трудоемкость решения задачи[258], То в МГЕ напрямок обходу вузлів (орієнтований граф) впливає на трудомісткість розрахунку значно слабкіше. Пов'язано це з тим, що за МГЕ орієнтований граф незначно змінює лише топологічну матрицю С, а структура матриці А залишаєтьсянезмінною.
Даний висновок можна вважати позитивним, оскільки є можливість вибору довільного порядку формування головної матриці МГЕ - вектора початкових параметрів X. Це означає, що для даної стрижневий системи існує безліч варіантівтопологічної матриці С, матриць А і В. У цьому зв'язку виникає проблема оптимальної побудови матриць X і С, яка зводиться до проблеми раціонального обходу вузлів. Якщо в МКЕ напрямок обходу вузлів істотно впливає на ширину стрічки матриці коефіцієнтів і пов'язануз цим трудомісткість рішення задачі[71], То в МГЕ напрямок обходу вузлів (орієнтований граф) впливає на трудомісткість розрахунку значно слабкіше. Пов'язано це з тим, що за МГЕ орієнтований граф незначно змінює лише топологічну матрицю С, а структураматриці А залишається незмінною. Наступні операції обнулення стовпців і перестановки рядків призводять матрицю А до матриці, мало відрізняється від верхнетреугольной.
Двухточечное зважування вверх по потоку більш точне, ніж одноточечную, хоча і не володіє властивістюзнищення похибки. При ньому також зменшується вплив небажаного явища, званого ефектом орієнтації сітки, яке зустрічається при рішенні багатомірних задач (див. гл. Обсяг обчислень той же, що і для одноточечную схеми, якщо kri визначається в часіявно. При полунеявном визначенні kn або неявній апроксимації рівняння (5.80) у разі використання методу двоточковим зважування збільшується ширина стрічки матриці для багатовимірних задач.
Формування системи здійснюється в порядку обходу кінцевихелементів, чисельне інтегрування по кожному з яких на ітерації з використанням двоточкових квадратур Гауса здійснюється один раз. Причому кількість переміщень в кожному вузлі може бути дорівнює двом або трьом залежно від вихідної інформації задачі. У міру накопичення частини матриці Ац з урахуванням її структури у відведену порцію оперативної пам'яті ЕОМ здійснюється прямий хід по методу квадратного кореня і потім записується у зовнішню пам'ять. Такий порядок вирішення системи економить число обмінів із зовнішньою пам'яттю. Ширина стрічки матриці коефіцієнтів може змінюватися від рядка до рядка. Pезультірующее рішення виходить накопиченням Аі, Та, Де.
Вибір способу кодування в кожному конкретному випадку залежить від особливостей задачі. Так, при вирішенні двовимірних задач (наприклад, плоскої задачі теорії пружності) часто застосовують автоматичну генерацію сітки кінцевих елементів. Для цього досліджувану область розвивають на підобласті (як правило, ізопараметричних прямокутники), по кожній стороні яких задають необхідне число розбиттів на кінцеві елементи. У межах кожної підобласті автоматично генерується сітка кінцевих елементів, після чого здійснюється їх зшивання в єдину систему. В окремих програмах передбачена перенумерація вузлів сітки з метою мінімізації ширини стрічки матриці роздільною системи рівнянь. Можливе введення вихідних даних по планшетному принципом. При цьому планшет-масив незалежно від заданої розрахункової схеми повинен бути впорядкований по чергуванню кінцевих елементів і способом їх ідентифікації в алгоритмі. В результаті зшивання локальних матриць в глобальні здійснюється повністю програмно, включаючи формування матриці індексів.
В дійсності цей метод застосовується не до одновимірним завданням (звичайні диференціальні рівняння), так як система Ах виданню з трехдіагональной матрицею легко вирішується. Верхня релаксація найбільш важлива для випадку великих розмірностей, що відповідає рівнянням з приватними похідними. Якщо ми замінимо одиничний інтервал 0 х 1 на одиничний квадрат Про л, у 1 а рівняння - uxx f на - іхх - uyy f, то природним звичайно-різницевим аналогом для цього рівняння буде П'ятиточкова схема. Коефіцієнти - 1 2 - 1 за напрямком х комбінуються з коефіцієнтами-1 2 - 1 за напрямком у. Але ширина стрічки матриці А не дорівнює п'яти, і не існує способу нумерації ЛГ2 вузлових точок в квадраті так, щоб кожна точка розташовувалася близько до всіх чотирьох своїм сусіднім. Якщо упорядкування проводиться рядок за рядком, то кожна точка на протязі цілого рядка повинна очікувати свою верхню сусідню точку.