Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2788

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
2.3 Mб
Скачать

41

Препроцессор содержит средства, позволяющие оценить качество сформированной сетки. В случае треугольных элементов, например, на экран может быть выведена цветовая карта, на которой каждый конечный элемент закрашивается определенным цветом в зависимости от величины отношения радиусов вписанной и описанной окружностей. Также пользователь может задать какоелибо предельное значение k0 из диапазона (0, 1/2), и при этом будут закрашены только те элементы, для которых k < k0.

3.3.2. Процессор

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

Входные данные – массивы, содержащие данные о конечноэлементной сетке и граничных условиях – NN1, X, Y, Z, POTENT. Указания по режиму вычислений, информация о типе и параметрах задачи содержится в файле taskinfo. На выходе процессор выдает значения искомых величин в каждом узле сетки – массив RHS. В связи с большой разреженностью матрица системы уравнений хранится в виде графа смежности. Нулевые элементы не хранятся.

Основные этапы вычислений:

1)формирование структуры хранения матрицы (создается список соседей каждого узла);

2)формирование глобальной системы алгебраических уравнений –

а) вычисление коэффициентов, матриц и функций, общих для всех конечных элементов;

б) вычисление дифференциальных параметров конечных элементов (произ-

водные

x

,

y

,

z

, якобиан и т.п.).

 

 

 

k

k

k

 

 

 

 

в) численное и аналитическое интегрирование; г) вычисление локальных подматриц и подвекторов и добавление их в гло-

бальную матрицу и вектор правых частей конечноэлементной задачи; д) учет граничных и других дополнительных условий; 3) решение системы линейных алгебраических уравнений.

 

 

 

 

 

 

 

42

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формирование структуры

 

 

 

 

 

 

 

 

Управление

 

 

 

 

 

смежности графа КЭ сетки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Упорядочивание графа

 

памятью IBM-

 

 

 

 

 

 

 

 

 

 

 

смежности (перенумерация

 

совместимого

 

 

 

 

 

 

 

 

 

 

 

параметров дискретизации)

 

компьютера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Расчет на элементах

 

 

 

 

 

 

 

 

– линейных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– независимых от времени

 

Подкачка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

внешней

 

 

 

 

 

Расчет на линейных

 

памяти

 

 

 

 

 

 

элементах

 

 

 

 

 

 

 

 

 

 

 

 

Реализация

 

 

 

 

 

Расчет на нелинейных

 

 

 

 

 

 

 

элементах

 

механизма

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

виртуальной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Учет граничных и других

 

памяти

 

 

 

 

 

 

 

 

 

 

 

дополнительных условий

 

 

 

 

 

 

 

 

 

 

 

 

MS-DOS

 

 

 

 

 

Добавление локальных мат-

 

 

 

 

 

 

 

 

риц и векторов в систему

 

 

 

 

 

 

 

 

 

MS Windows

 

 

 

 

 

(структуру смежности)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Реальный/

 

 

 

 

 

Решение системы линейных

 

 

 

 

 

 

алгебраических уравнений

 

защищенный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

режим

 

 

 

 

 

 

Проверка

процессора

 

 

Нет

 

 

 

сходимости метода Ньютона-

Intel

 

 

 

 

 

 

 

 

 

 

 

Рафсона

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

 

t = t +

 

t

 

 

 

 

 

t tmax

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

Приведение к стандартному элементу

Кубатурные формулы с наименьшим числом узлов Точное интегрирование

с применением таблиц

ГУ Дирихле, Неймана, смешанные, симметричности, сдвига, скачка, постоянства потока

Метод Холесского с упорядочиванием профильным и методом вложенных сечений.

Метод сопряженных градиентов с предобусловленностью.

Метод наискорейшего спуска.

Метод АА*-минимальных итераций

Рис. 20. Решение нестационарной задачи процессором СКМ

В случае нелинейной задачи осуществляется итерационный процесс по методу Ньютона–Рафсона. Если задача к тому же и нестационарна, производится пересчет на каждом временнóм отсчете (см. схему на рис. 20).

Ниже приведены некоторые численные методы, используемые в процес-

соре.

Численное интегрирование

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

43

Основой численных методов интегрирования является замена интеграла

I f (x, y, z)dxdydz

конечной суммой (кубатурной формулой)

 

M

 

I*

wi f (xi , yi , zi ) ,

(74)

i1

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

Ниже приведены часто используемые в СКМ кубатурные формулы для некоторых конечных элементов

1)Формула Гаусса

1

p

f (x)dx

Wi f (xi ) .

1

i 1

Эта формула точна, когда f(x) многочлен степени не выше 2p–1. xi - неравномерно расположенные внутри интервала [–1; 1] узлы; Wi – соответствующие этим узлам веса.

Обобщение для единичного квадрата и единичного куба выглядит так:

 

 

 

 

1

1

 

p

p

 

 

 

 

 

 

 

 

 

f (x, y)dxdy

 

 

WW f (x , y ) ;

 

 

 

 

 

 

 

 

 

i

j

 

i

i

 

 

 

 

1 1

 

i 1

j

1

 

 

 

 

 

 

1

1

1

 

 

p

p

p

 

 

 

 

 

 

 

 

f (x, y, z)dxdydz

 

 

 

 

WW

W f (x , y , z ) .

 

 

 

 

 

 

 

 

 

 

i j

 

k

i i i

 

 

1

1

1

 

i

1

j

1 k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эти формулы имеют соответственно p2 и p3 узлов и точны, когда

 

 

 

 

f(x, y) = x 1 y 2

и f(x, y, z) = x 1 y 2 z 3,

где 0

k 2p

 

1

(k = 1, 2, 3).

 

 

 

 

 

 

 

 

 

Приведем примеры абсцисс и весовых коэффициентов для нескольких

значений p.

 

 

 

 

 

 

 

 

 

 

 

 

p = 2:

x2 =

x1 = 0,577359269189626

 

W1 = W2 = 1

 

p = 3:

x = 0

 

 

W =

8

 

 

 

 

 

 

 

 

 

2

 

 

2

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x =

x = 0,774596669241483

 

W = W =

5

 

 

3

1

 

 

 

 

 

 

1

3

 

9

 

 

 

 

 

 

 

 

 

 

 

p = 4:

x3 =

x1 = 0,861136311594053

 

W1 = W3 = 0,347854845137454

 

x4 = x2 = 0,339981043584856

 

W2 = W4 = 0,652145154862546

44

2) Кубатурные формулы для треугольника

 

Ошибка R = o(h3)

 

 

Ошибка R = o(h4)

 

 

 

 

 

 

 

 

 

1i

½

1/2

0

1/3

3/5

1/5

1/5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2i

0

1/2

1/2

1/3

1/5

1/5

3/5

 

 

 

 

 

 

 

3i

½

0

1/2

1/3

1/5

3/5

1/5

 

 

 

 

 

 

 

Wi

1/6

1/6

1/6

–27/96

25/96

25/96

25/96

 

 

 

 

 

 

 

 

3) Кубатурные формулы Радона ( точность o(h6))

 

 

Треугольник 1

0,

2

0,

1 + 2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1i

 

1/3

 

 

(6+ 15).

 

(9

2

15).

 

(6+ 15).

 

 

(6

15).

 

 

 

 

(9+2

15).

 

(6

15).

 

 

 

21

 

 

 

 

 

21

 

 

 

21

 

 

 

 

 

21

 

 

 

 

 

 

21

 

 

 

 

 

 

 

 

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2i

 

1/3

 

 

(9 2 15).

 

(6+ 15).

 

(6+ 15).

 

 

(9+2 15).

 

 

(6+ 15).

 

 

(6+ 15).

 

 

 

 

21

 

 

 

 

 

21

 

 

 

21

 

 

 

 

 

21

 

 

 

 

 

 

21

 

 

 

 

 

 

 

 

21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Wi

 

9/80

 

 

 

 

(155+ 15).

 

 

 

 

 

 

 

 

 

 

 

(155

15).

 

 

 

 

 

 

 

 

 

 

 

 

 

2400

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2400

 

 

 

 

 

 

 

 

 

 

 

 

 

Квадрат –1

,

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

0

 

14

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

3

 

 

 

 

3

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

0

 

0

 

 

 

 

 

0

 

 

 

3

 

 

3

 

 

 

3

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

5

 

 

 

5

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Wi

 

8/63

 

 

 

 

 

20/63

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5/9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4) Кубатурная формула для тетраэдра

1

0, 2

 

 

 

 

 

0, 3

0, 1+

2+

3 1

 

Wi

 

1i

 

 

 

2i

 

 

 

 

 

 

3i

 

 

 

4i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2/15

 

 

¼

 

1/4

 

 

 

 

 

1/4

 

 

 

1/4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9/120

 

 

½

 

1/6

 

 

 

 

 

1/6

 

 

 

1/6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9/120

 

 

1/6

 

1/2

 

 

 

 

 

1/6

 

 

 

1/6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9/120

 

 

1/6

 

1/6

 

 

 

 

 

1/2

 

 

 

1/6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9/120

 

 

1/6

 

1/6

 

 

 

 

 

1/6

 

 

 

1/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

45

5) Кубатурная формула для куба

 

 

 

 

 

 

3

 

 

 

 

 

 

6

f (x, y, z)dxdydz A

 

f (

, ,

)

 

B f 0, , 0 ,

ед. куб

 

 

 

 

 

1

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

5n

4

,

 

 

 

5n

4

,

 

 

3(5n

4)

 

30

 

 

 

 

 

 

 

 

 

 

5n 4

2

 

 

5 2n 3

 

 

 

n 6.

A

 

 

,

 

B

 

,

 

5n 4

 

5n 4 2

 

Решение систем линейных алгебраических уравнений

 

Задача состоит в решении системы

 

Ax = b,

(75)

в которой А регулярная разреженная матрица, частным видом которой является ленточная матрица (все элементы равны 0, если индексы i и j помещают этот член в матрице за пределами некоторой полосы, осью которой является главная диагональ). Такая особенность приводит на практике к работе в два этапа: построению системы линейных алгебраических уравнений и решению этой системы. Построение будет эффективным, если принять во внимание, что нет необходимости их размещать в памяти ЭВМ и тем более использовать при расчетах.

1) Прямые методы.

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

Основной алгоритм Гаусса состоит в следующем:

найти треугольную нижнюю матрицу L и треугольную верхнюю матрицу U с единицами на диагонали, такие что A=LU (факторизация A);

46

найти вектор y, такой что LY=b (решение обычно осуществляется параллельно с факторизацией);

найти вектор x, такой что Ux=y (x является решением системы Ax=b). Треугольные матрицы L и UT имеют одинаковую топологию (ненулевые

элементы расположены на тех же местах).

Метод Холесского является симметричным вариантом гауссова исключения, определенном только для симметричных положительно определенных матриц. В этом методе факторизация имеет вид A=LLT.

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

(PAPT)(Px) = Pb ,

и метод Холесского применяется к симметричной положительно определенной матрице PAPT, что приводит к треугольному разложению LLT, где L содержит меньше ненулевых элементов, чем в отсутствие упорядочения. Задача отыскания “ хорошего” упорядочения занимает центральное место при решении разреженных положительно определенных систем. Вычислительный процесс в целом может быть разделен на четыре этапа:

упорядочение (найти P),

распределение памяти, или символическое разложение (определить необходимую информацию о множителе Холесского L матрицы PAPT с тем, чтобы сформировать подходящую схему хранения),

разложение (найти L численно),

решение треугольных систем Ly=b и LТz=y. После этого положить x=PTz.

2) Итерационные методы.

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

x(i+1) = x(i) + (i) v(i),

что дает решение уравнения (75) последовательным уменьшением величины некоторого функционала F(x). На каждом шаге направление спуска v(i) известно; скалярная величина (i) рассчитывается таким образом, чтобы величина F(x(i+1)) была минимальна.

а) Метод сопряженных градиентов

A симметричная положительно определенная матрица. На каждом шаге минимизируется функционал

F(x) = (Ax, x) 2(b, x).

47

Алгоритм итерации имеет вид s1 r0 ,

ri

ri 1

i Asi ,

 

 

 

 

 

 

 

si 1

ri

i si ,

 

 

 

 

 

 

 

xi

xi 1

i si ,

 

 

 

 

 

 

 

 

 

 

(ri 1 ,ri 1 )

 

 

(ri 1 , si

)

0

,

i

 

 

( Asi , ri 1 )

 

 

( Asi , si )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(ri , Asi )

 

 

(ri , ri )

 

 

0 .

 

i

 

( Asi

, si )

 

(ri 1 , ri 1 )

 

 

 

 

 

 

 

 

 

 

 

 

 

Процесс начинается с выбора начального вектора x(1) и направления v(0) = r(1). Он заканчивается, когда норма невязки r(i) = Ax(i) b становится достаточно малой. Для хорошо обусловленной матрицы размером n этот процесс сходится за n итераций. На практике на скорость сходимости влияет обусловленность системы, степень разреженности матрицы и ошибки округления при вычислениях на ЭВМ.

б) Метод AA*-минимальных итераций

А произвольная матрица. На каждом шаге минимизируется квадрат евклидовой нормы самой ошибки.

s1

A * r0 ,

 

 

 

 

 

 

 

 

 

 

ri

ri 1

i Asi ,

 

 

 

 

 

 

 

 

si 1

A*ri

 

i si ,

 

 

 

 

 

 

xi

xi 1

i si ,

 

 

 

 

 

 

 

 

 

 

 

(ri 1

, ri 1 )

 

 

(ri 1

, ri 1 )

 

0

,

i

 

 

( Asi

, ri 1 )

 

 

(si , si )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(ri , Asi )

 

(ri

, ri )

 

0 .

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

(si , si )

 

(ri 1 , ri 1 )

 

 

 

 

 

 

 

 

в) Метод A*A-минимальных итераций

А произвольная матрица. На каждом шаге минимизируется квадрат евклидовой нормы вектора невязки.

s1

A * r0 ,

 

ri

ri 1

i Asi ,

48

si 1

A*ri

i si ,

 

 

xi

xi 1

i si

,

 

 

 

 

( A * ri 1

, A * ri 1 )

0

,

i

 

 

( Asi

, Asi )

 

 

 

 

 

 

 

 

 

 

( A * ri

, A * ri

)

0 .

i

( A * ri 1

, A * ri

1 )

 

 

 

г) Метод сопряженных градиентов с предообусловленностью посредством неполного разложения Холесского

Если Ax = b решаемая система, применим метод сопряженных градиентов к системе

(L-1AL-T)LTx = L-1b,

где L нижняя предообусловленая треугольная матрица, полученная, например при неполном разложении Холесского. Этот метод состоит в расчете по алгоритму Холесского только элементов L, находящихся на тех местах, где элементы матрицы A отличны от нуля. Необходимо, чтобы матрица L-1AL-T была положительно определенной.

3.3.3. Постпроцессор

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

взависимости от времени.

Всостав постпроцессора входят следующие основные блоки (рис. 21):

– блок визуализации исходных данных (данных препроцессора);

– блок визуализации поля;

– блок вычисления локальных характеристик;

– блок вычисления интегральных характеристик;

– блок построения графиков;

– блок вывода результатов анализа.

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

 

49

 

 

 

Оболочка постпроцессора

 

 

 

 

Файлы

 

 

 

данных

 

Блок вычисления

 

 

 

локальных х-к

 

 

Блок вычисления

Блок построения

Блок визуализа-

Блок визуали-

интегральных х-к

графиков

ции поля

зации задачи

Блок вывода результатов

Рис. 21. Взаимодействие блоков и обмен данными в постпроцессоре

Блок локальных характеристик содержит функции вычисления самой неизвестной функции u, ее пространственных производных и градиента в заданной точке области (x, y, z), что необходимо для работы практически всех остальных блоков. Для этого требуется найти конечный элемент, которому принадлежит точка. Скорость вычисления зависит от того, насколько эффективно организован поиск этого элемента. Наиболее простой алгоритм использует цикл по всем конечным элементам и расчет локальных координат точки (x, y, z) для каждого элемента. Точка принадлежит конечному элементу, если выполняются условия

0

–1

i i

1 для треугольников и тетраэдров;

1 для четырехугольников и гексаэдров.

Значительно ускорить поиск элемента можно, если предварительно проверять выполнение более грубых условий

min{xi(e) }

i

min{yi(e) }

i

min{zi(e) }

i

x

max{x(e) },

 

i

i

 

 

y

max{y(e) },

 

i

i

 

 

z

max{z(e) },

 

i

i

 

 

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

min{X (k ) } x

max{X (k ) },

i

i

i

i

 

 

 

 

 

 

 

 

 

 

 

50

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

min{Y (k ) }

y

max{Y (k )

},

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

 

 

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

min{Z

(k ) }

z

max{Z

(k )

},

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где i обозначает номер вершины многоугольника, который представляет собой

зона k, а X (k ) , Y (k ) , Z (k )

– декартовы координаты i-й вершины. Если хотя бы од-

 

 

 

i

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

но из условий не выполнено, то точка (x, y, z) не принадлежит k-й зоне, и все

элементы этой зоны пропускаются.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После того, как элемент найден, требуемые величины определяются по

формулам

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

Nm (ξ)Um ;

 

 

 

 

 

 

 

 

 

 

(76)

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

u

u

 

u

 

 

N

 

 

 

N

 

 

 

N

 

 

U

 

, (77)

 

 

i

 

j

k

 

 

 

m

k

i

 

 

m

k

j

 

m

k k

m

 

 

 

x

y

 

z

 

 

 

 

x

 

 

 

 

y

 

 

 

z

 

 

 

 

 

 

m

k

 

k

 

 

 

k

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

обозначает совокупность локальных координат, Um – значения функции u

в узлах элемента, Nm( )– функции формы для данного типа элементов.

 

 

 

 

Видно, что и для нахождения элемента, и для расчета величин требуется

знать локальные координаты произвольной точки (x, y, z), относящиеся к эле-

менту е. В общем случае локальные координаты определяются из соотношений

 

 

 

 

x

 

Nm (ξ) X m ,

y

 

 

Nm (ξ)Ym ,

 

z

 

 

Nm (ξ)Zm ,

 

 

(78)

 

 

 

 

 

m

 

 

 

 

m

 

 

 

 

 

 

m

 

 

 

 

 

 

которые являются нелинейными уравнениями. Для их решения обычно приме-

няется метод Ньютона.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для простоты алгоритм вычисления

будет рас-

 

 

 

 

 

 

 

 

смотрен на примере двумерного изопараметрического

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

треугольного элемента 2 порядка (рис. 22). Нужно

 

 

 

 

 

 

 

 

найти локальные координаты, соответствующие

 

де-

 

 

1 3

 

 

 

 

 

картовым координатам точки (x, y). Из трех локальных

 

 

 

 

 

 

 

 

координат

1,

2,

3 только две являются независимы-

 

 

4

 

2

 

 

 

 

 

 

 

 

 

 

 

ми,

а третью можно выразить через них,

зная,

 

что

 

 

5

 

6

1

 

 

1 +

2 +

 

1.

Произвольным

образом

выберем

 

на-

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

чальное

приближение,

например,

(0)

(0)

(0)

 

1

 

 

0

 

 

1

 

1

1

 

2

 

2

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 22.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(центр элемента). Итерационный процесс начинается с

 

 

 

 

 

 

 

 

 

 

 

 

 

вычисления невязок:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R(k )

 

x

 

Чтобы найти

(k 1)

 

i

 

 

 

ление которых к

(k )

i

 

 

6

6

 

 

x

N j (ξ(k ) ) X j , Ry(k ) y

N j (ξ(k ) )Yj .

 

j 1

j

1

 

(k )

(k ) , необходимо вычислить уточнения

(k ) , добав-

i

i

 

i

приведет к обнулению невязок:

Rx( (k) + (k)) = 0, Ry( (k) + (k)) = 0.

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