Главная > Разное > Метод конечных элементов для радиоинженеров и инженеров-электриков
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

7.6. Структура матриц конечных элементов

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

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

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

минимальной ширину ленты (полный объем памяти, необходимый для записи матрицы).

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

Рис. 7.1. Представление симметричной матрицы (формула (7.10)) в виде ненаправленного графа.

В качестве примера на рис. 7.1 показано структурное представление матрицы (7.10). Переменные здесь показаны кружками, ненулевые элементы матрицы — линиями, соединяющими переменные.

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

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

Аналогично профиль (объем памяти, необходимый для профильной записи матрицы) определяется формулой

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

Рис. 7.2. Два возможных способа нумерации узлов (переменных), которые приводят к различной ширине матрицы.

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

Многие методы нумерации узлов начинаются с классификации всех переменных по так называемым «уровням». Начальная переменная, скажем К, выбрана первой и отнесена к уровню Далее, уровень формируется всеми переменными, которые непосредственно связаны с переменными уровня но которые не отнесены ни к одому из уровней Каждая переменная может принадлежать только одному уровню. Например, начиная с переменной 1, получим следующие уровни для графа, показанного в левой части рис. 7.2:

Итак, всего имеются четыре уровня, иными словами кратчайший путь между узлом 1 и наиболее удаленным узлом проходит через три связи. Действительно, всегда можно достичь узла на уровне пройдя связей от начального узла, поскольку определено как набор узлов, непосредственно соединенных (на шаг назад) с узлами на уровне

Число уровней зависит от выбора начального узла. Помещая узел 3 на нулевой уровень, для того же левого графа

на рис. 7.2 получаем следующую структуру:

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

<< Предыдущий параграф Следующий параграф >>
Оглавление