УДК 681.3
Ю.Я. ЛЕДЯНКИН
МЕТОДЫ ВЗВЕШЕННЫХ НЕВЯЗОК, КОЛЛОКАЦИЙ, МОМЕНТОВ. СПОСОБ ПАРАЛЛЕЛЬНОЙ РЕАЛИЗАЦИИ В ЕДИНОМ ВЫЧИСЛИТЕЛЬНОМ ПОТОКЕ РЕШЕНИЯ ЗАДАЧ МАТЕМАТИЧЕСКОЙ ФИЗИКИ
Анотація. Розвивається ідея паралельної реалізації методів зважених нев'язок, колокацій, моментів в єдиному обчислювальному потоці розв'язання задач математичної фізики з обробкою даних у вигляді складних структур на процесорних елементах, що включають скалярний помножувач. Запропонований спосіб, описаний і розглянутий на конкретних тестових прикладах, буде корисним математикам і розробникам методів і структур спецпроцесорів для розв'язання задач математичної фізики та інших завдань.
Ключові слова: паралельні обчислення, єдиний обчислювальний потік, складні структури даних, задачі математичної фізики, метод кінцевих елементів.
Аннотация. Развивается идея параллельной реализации методов взвешенных невязок, коллокаций, моментов в едином вычислительном потоке решения задач математической физики с обработкой данных в виде сложных структур на процессорных элементах, включающих скалярный умножитель. Предложенный способ, описанный и рассмотренный на конкретных тестовых примерах, будет полезен математикам и разработчикам методов и структур спецпроцессоров для решения задач математической физики и других задач.
Ключевые слова: параллельные вычисления, единый вычислительный поток, сложные структуры данных, задачи математической физики, метод конечных элементов.
Abstract. The idea of a parallel implementation of the methods of weighted residuals, collocations, moments in a single computational flow of solutions to the problems in mathematical physics with data processing in a form of complex structures based on processor elements including scalar multiplier is developed. The proposed method is described and reviewed on the specific test examples. It will be useful for mathematicians and developers of methods and structures of specially designed processors for solutions to the problems in mathematical physics and other problems.
Keywords: parallel computing, single computational flow, compound data structures, problems in mathematical physics, finite elements method.
1. Вступление
Применению метода конечных элементов (МКЭ) для моделирования и решения задач математической физики (МФ) способствовали успехи по внедрению вычислительных методов и, в частности, методов взвешенных невязок (МВН). Название МВН охватывает целый класс дискретных методов аппроксимации дифференциальных и интегральных уравнений, описываемых аналитически. Основной целью их применения является дискретизация аналитического уравнения и сведение его к системе алгебраических уравнений, вычисление коэффициентов которых (путем решения системы) и дает приближенное, но с высокой степенью точности, решение. При этом используются известные аналитические весовые функции, часто называемые пробными. Взамен аналитических функций могут быть применены и дискретные функции. Выбор различных весовых функций обуславливает и метод взвешенных невязок, то есть точность, сходимость и степень сложности.
Переход к новым технологиям обработки информации предполагает и новый подход к описанию и способам реализации МВН. Следует рассмотреть основные МВН, к которым, кроме базовой постановки, относятся методы наименьших квадратов (МНК), моментов (ММ), коллокаций (МК), Галеркина (МГ), и др., описанные в [1]. Из первой главы ее взяты подход к решению задач МВН, а также примеры для оценки получаемых результатов и сравнения их с результатами, полученными авторами в [1].
© Ледянкин Ю.Я., 2012
ISSN 1028-9763. Математичні машини і системи, 2012, № 2
Цель автора - разработка МВН для параллельной реализации при решении задач математической физики методом конечных элементов (МКЭ) с обработкой данных на уровне сложных структур в идеологии единого вычислительного потока [2, 3].
Реализации целей, изложенных выше, и посвящена данная работа (а вернее, цикл
работ).
2. Основа методов взвешенных невязок
На последовательности функций вида
01 (х),Ф2(x),...,Фп (x) (1)
скалярное произведение < Ф, ф > вида
x2
< Ф1, Ф2>= J Ф1 (x) * Ф2 (x) dx (2)
xi
для системы пробных (базисных) функций Ф. с коэффициентами ai
а Ф, + а2 Ф2+...+ап Фп = 0 (3)
возможно
N
li u — ^а * ф. li < e. (4)
i=1
Если определить оператор L ( ) как действие, которое при применении его к данной функции и приводит к появлению некоторой другой функции p
L(u ) = p, (5)
то для линейного оператора L , положительно определенного для всех x , может быть составлено скалярное произведение оператора L(u) и другой функции v:
< L(u), v >=< и, L* (v) + J [F (v) G (u)-F (u) G* (v)] dS, (6)
где S - ограничивающая поверхность;
F , G - дифференциальные операторы, форма которых определяется при интегрировании по частям;
L - оператор, сопряженный к оператору L (если L* = L , то L самосопряженный);
F (v) - содержит члены с v, появляющиеся на 1 -й стадии интегрирования по частям;
G (u) - аналогично, но содержит члены с u ;
F (v) - определяет главные граничные условия (ГУ);
G (u) - определяет несущественные или естественные ГУ.
Если для L* = L, F(u) на S 1, G (u) - задан S2 и S1 + S2 = S < L(u), а также
u >.. > 0 для всех нетривиальных u (которые удовлетворяют однородным ГУ), то работает
метод взвешенных невязок.
Можно установить численные процедуры [1] приближенного решения системы дифференциальных (интегральных) уравнений вида
L(u) = p, x e V с ГУ; (7)
F(u) = g, x e S, (8)
где £ - внешняя граница области;
и - точное решение, которое аппроксимируют набором функций фк ( ):
и = X ак фк; (9)
к =1
ак - неизвестные параметры;
фк - линейно независимые функции.
После подстановки (9) в (7) получают функцию ошибки е (невязку):
е =Ь(и) - р = 0. (10)
При точном решении е = 0, поэтому стремятся, чтобы ошибка была равна 0 в среднем, полагая равными нулю интегралы, взятые от невязки с некоторыми весовыми функциями
< е, w >= 0, I = 1,2,...,N, (11)
где w 1 - набор весовых функций.
Тогда, если параметры ак в (9) постоянны, то дифференциальное уравнение (7) приводится к системе алгебраических уравнений. Количество независимых соотношений задается количеством неизвестных коэффициентов ак и функций w¡.
3. Сущность предлагаемого подхода с РПМ
Предлагаемый способ использования МВН ориентирован на реализацию единого технологического потока (ЕТП) по обработке сложных структур данных (ССД) при решении класса задач МФ и др. в параллельных структурах, процессорные элементы (ПЭ) которых содержат скалярный умножитель (СУ). Использование РМП позволяет записать полиномы в матричном виде, удобном для обработки с помощью СУ.
Сущность подхода состоит [2, 3] в использовании однотипных математических выражений при загрузке исходных данных, расчете коэффициентов конечных элементов и глобальной матрицы жесткости с вектором нагрузок, получении псевдорешения с последующей обработкой результатов вычислений в виде полиномов. С этой целью их записывают в виде РМП. Это обеспечивает сохранение однотипности структуры спецпроцессора (СП) и, в итоге, его технологичность при изготовлении, стоимость и пр. А в процессе решения такое устройство обеспечивает сверхвысокую производительность за счет параллельной обработки ССД, а также исключает простой матричного устройства и т. д.
Для решения поставленной задачи необходимо сделать следующее:
1. Описать в матричном виде пробные функции (сплайны) и определить операции над сплайнами, представленными в виде РМП.
2. Дифференцировать и интегрировать полиномы в матричном или векторном виде.
3. Перемножать и суммировать вышеуказанные матрицы и векторы до или после выполнения операций дифференцирования или интегрирования.
4. Выполнять операции по пп. 2, 3 аналитически и в численном виде.
5. Вычислять полученные выражения.
Записываем полиномы / (X) и /2 (X) в виде РМП:
/ (X) *[ф .]=
а0 а1 а2
а0 а1
(12)
а0
(13)
и произведение у полиномов
7=/(Х)=/ (X) / (Х)=Уо+Уі Х1 + У2 Х2+^=
=ао Ьо +(а Ьо+а о Ь)+(а о Ь2 + ах ^ + ^2 Ь0)+...
(14)
в матричной форме
(аоЬо) (а, Ьо + аоЬ1) (аоЬ1 + а1Ь1 + а1Ьо)--1 X0
У = / (X) *[Ф 1] * [Ф 2 ] = (аоЬо) (а1Ьо + аоЬ1)--- Xі- (15)
_ (аоЬо)--- ] X2
Основным недостатком матричного представления и выполнения над ними операций типа умножения, сложения и др. в матричной форме является избыточность как в представлении, так и при выполнении процедур над ними. Так, при умножении матриц Атт и X тт надо выполнить т3 операций, а для выполнения матричного умножения надо
иметь т2 СУ. Поэтому для сокращения расхода оборудования и сокращения времени выполнения операций умножения предлагается взамен матричного представления полинома X использовать векторное. Это сократит в т раз количество СУ, а операций потребуется
2 3
т , а не т .
Замечание. В [2] показана возможность сокращения числа операций до т. Умножение матриц, представленных в виде РМП, выполняется как произведение векторов той же размерности.
Процедуру умножения векторов / (X) в СУ (записанных с помощью РМП в матричном виде [Ф]), можно заменить на процедуру умножения матрицы на вектор. Для выполнения её как операции умножения матрицы на вектор в (15) надо заменить представление функции /X на транспонированное /1 (X) (в матричном виде [Ф1] на [Ф1]Т):
а
о
/Т (X) *[Ф 1] Т = а1 ао
(16)
а2 а1 ао
а в (13) представить в виде /2(X') (в матричном виде [Ф 2 ]) как вектор столбца:
(17)
Представляя всегда первый полином (множимое) в виде /1Т (X), а второй полином (множитель) в виде столбца /2*(Х), определим произведение двух полиномов в общем виде:
7=/(X) * /2 (X)-* /Т (X) * Ш=[Ф 1]т * [Ф 2 ]
(18)
и в матричном виде:
a0 b ■ (a0b0) >0"
g= aj a0 * b = (aA + a0b1) = g =[Ф *]* f *(X),
1 о Ö sT 2 a2 і А _ _(a2b0 + a1b1 + a0b2)1 _ g _
[ f:(X)]Г =[a„ at a;...].
(19a)
Постановка задачи
Применительно к одному из МВН - методу коллокаций - покажем возможность использования РМП, описанного выше.
Метод коллокаций
Рассмотрим на примере из [1] решение уравнения вида
L(u) - p = д2 и / д x2 + и + x = 0 (20)
на промежутке 0 < x < 1 с ГУ, и = 0 при x = 0, и = 0 при x = 1. (21)
Значения дифференциального уравнения удовлетворяются в нескольких точках коллокации.
Выбирается аппроксимация в виде выражения
и = x(1-x)(a1 + a2 x +...),
(22)
которое удовлетворяет ГУ при любых а..
Оставляя в аппроксимирующем уравнении (22) только 2 члена, запишем его и с помощью РМП:
и = x(1-x)(a1 + a2 x)= a1(x-x2) + a2(x2 -x3)^ a
=а1[01 -1] г + а2[001 -1]г. (23)
Для получения ошибки вычисляем первую производную от аппроксимирующей функции:
Э и/Э х = Э (а1 х -а1 х 2 + а2 х 2 -а2 х3)Э х =(а 1-2а1 х +2а2 х-3а2х2) =
= а1(1 - 2 х)+ а2(2 х - 3х2) (24)
и вторую производную
г L " 0 "
0
+ a2 0
1
2 1
-1
1 1
д 2 и / д x 2 = д ( a j -2 a 1 x +2 a 2 x 2 -3 a2 x3) dx =
2
= д (a1 — 2a1 x) dx + д (2a2x - 3a2x )dx =(-2 a j+2 a 2 x -6 a 2 x ).
(25)
После задания апппроксимирующей функции (23) из уравненияя (10) определим ошибку е, используя запись её в виде РМП:
е =Ь(и)-р = х + а1(-2+ х-х 2)+ а2(2-6х + х2-х3)^
1 о 0 0 1 '- 2 1 -10 ' 1 -1 6 - 2 1
0 1 0 - 2 1 -1 2 - 6 1
+a + a2
0 1 1 - 2 1 2 2 - a\
0 - 2 2
=0.
(26)
Далее уравнение (20) принимает вид
Откуда
Ь(и) - р = (-2 а 1 +2 а2 х -6 а2 х 2 )+ а1(х - х2) + а2 (х2 - х3) + х =0. (27)
х = (2а1 - 2а2 + 6а2х) - (а1 (х - х2) + (а2 (х2 - х3) =
= а1(2 - х + х 2) + а2(-2 + 6 х - х2 + х3). (27а)
Для выбранных точек коллокации х 1 =1/4, х 2 =1/2 составляется система уравне-
нии:
(28)
I (2 - х1 + х1 )а1 (-2 + 6х1 - х1 + х1 )а2 = 1/ 4,
[(2-х2 + х22)а1 (-2 + 6х2 -х22 + х^)а2 = 1/2.
Вычислив значения коэффициентов при неизвестных а1 и а2 путем решения систе-
мы
“29/16 - 35/64“ * Ь 1 =11/41 или “0,8125 - 2,1875“
7/4 7/8 ґ 2 11/2І 1,75 0,875 _
I а1 II 0,251
а
0,501
(29)
определим значения ^=6/31(0,193548), а 2 =40/217 (0,184332). Это обеспечит вычисление из (23) необходимых нам значении и :
и = х (1-х )( а 1 + а 2 х )= а 1( х -х2)+ а 2 ( х2- х 3)=( х (1-х )(6/31+40/217 х ). (30)
Для хі = 1,2,3 имеем
х 1=1/4, и1=1/4* (1-1/4)* (6/31+40/217* 1/4)=0,0436,
х 2 =1/2, и2=1/2* (1-1/2)* (6/31+40/217* 1/2)=0,0703,
х 3=3/4, и3 =3/4* (1-3/4)* (6/31+40/217* 3/4)=0,0618.
Решение поставленной задачи опишем поэтапно.
Представление полиномов аппроксимирующих функций (22) в виде
= а1( х -х )+ а2( х - х )^ а1
0 1 -1 0 0 1 -1 01 0
х
0 0 1 -1 0 0 1 00 0
х
х
(31)
а оператора [А] матричного дифференцирования в виде
“0 1 0 0 0'
Э / Э х=[А] =
00200 0 0 0 3 0 00004
Эх .
(32)
Вычислим:
- аналитически первую производную от функции и из (24):
Э и/Э х = Э (а1 х- а1 х2 + а2 х2-а2 х3)/Э х =(а1-2а1 х)+(2а2 х-3 а2 х2);
*
0
0
х
х
х
и
2
х
3
х
Э и / Э х =[ А ] * а 1
- 2 0 1 - 2 1
х1 Эх +[ А ] * а
=[ А ] * а 1
1 х
х1 Эх +[ А ] * а х2
х
0
2
- 3
0 2 - 3 х
02
0
о
х1 Эх = х2
х
х1 Эх = а 1 „2
2 х
0
0
х1 + а
или
ди/дх=а
1 0 0 2 - 1 о 1 ю - 6 0 "
0 2 - х1 + а 2 2 -
1 - 2 1 х 2 2 1 2
х
х
х
х
х
и вторую производную от функции и (25) с записью в виде РМП:
Э 2 и / Э х 2 = Э / Э х (-2 а1+2 а2 -6 а2 х )=
і 0 0 2 - і х0 1 0 6 - 2 1
[ А ] а 1 0 2 - х1 Эх +[ А ] а2 2 - 6
- 2 х 2 2 2
=[ А] а
"- 2" 0 0
х
х1 Эх+[А] а2
х
0
х0
х1 Эх = а1
х 2 1
0
0
0
х0
х1 + а2
х 2 2
х1 Эх х2
"- 6^ 0 0
х
Вычислим ошибку (е) с записью уравнения (26) в виде РМП:
е =
"0 1 0 0" "- 2 1 -1 0" "2 - 6 1 -1"
0 1 0 - 2 1 -1 і 1
+а +а
0 1 1 - 2 1 2 2 - 6
0 - 2 2
=0.
(33)
(34)
(35)
Полагая е = 0 для выбранных точек коллокации х1=1/4, х2=1/2 из уравнений
х і +(-2+ х і -х 2 )а 1+(2-6х і + х 2 -х 3)а2 = 0, (36)
х і =(2-х і + х 2)а 1+(-2+6х і-х 2 + х 3)а 2 , (36а)
составляем систему. Представим полиномы при а1 и а2 в виде циркулянтов (регулярного матричного представления):
/ ( х а1)= а 1(2- х і + х 2)^ а 1
2 -110
2 -1 1
2 -1 2
х
х
=а 1[2-11 0] * [ х х х х ] ^ / (х „ ),
(36б)
0
1
х
2
0
0
2
2
6
2
2
2
0
0
х
х
0
0
2
х
6
х
х
*
3
х
I ( х )= а 2 (-2+6 хі - х2+ х3)^ а
= а 2 [-2 6-1 1] * [ х х х х ] ^ I (х ).
-1 1
6 -1
- 2 6
- 2
х
х
х
(36в)
Для выбранных точек коллокации уравнений системы (28) значения функции /* (ха ) в векторной записи могут быть вычислены следующим образом:
а 1[2-1 1]:
для х2 = 1/2:
х = 1 х1 = 1/4 х2 = 1/16
= а1 [(2-1 1] * [х 0 х ; х 2]т = а1 (2-1/4+1/16)= а11,8125; (37)
а 1 [2-1 1] * [ х 2=1 х 2=1/2 х 2=1/4]т = а 1(2*1-1*1/2+1*1/4)= а 17/4= а 11,75;
(38)
для х1=1/4:
а 2 [-2 6-1 1] * [ х 0=1 х 1=1/4 х 2=1/16 х 3 = 1/64]т = а 2(-2*1+6*1/4 -1*1/16+1*1/64)=
=-а 2 35/64=-а 2 0,5469;
(39)
для х2 =1/2:
а 2 [-2+6-11]* [х 2=1 х 2=1/2 х 2=1/4х 2=1/8]т = а 2 (-2*1+6*1/2-1* 1/4+1*1/8)=
= а 2 7/8= а 2 0,875.
(40)
Тогда система уравнений (28) с вычисленными в (35)-(39) коэффициентами для ранее определенных точек коллокации в численном виде может быть записана так:
1,8125 0,5469 1,75 0,875
[а.1 = ] 0,25 I а І 10,50 і
(41)
и ее решение по схеме исключения
"1,8125 - 0,5469 0,25 "
0 2,542968 0,46875
(41а)
Ь 22=1/ 2,542968=0,393241, Ь „=1/1,8125=0,5517
дает
а2 = Ь 22 * 0,46875=0,1843,
а= Ь 11 * (0,25+0,1843 * 0,5469)=0,1935.
По вычисленным значениям коэффициентов а1 и а2 для уравнения (23) в варианте записи уравнения (30) можно представить в виде регулярного матричного представления:
и = а 1(х-х 2)+ а 2(х 2 -х 3)=
*
2
2
х
*
что позволяет с помощью СУ вычислить значения коэффициентов для выбранных точек коллокации:
а ( х 1-х 2)= а [0 1-1] * [1 1/4 1/16]T = а10,1875 (для х1=1/4), (43)
а (х 2-х 2)= а1 [0 1-1]* [1 1/2 1/4]T = а10,25 (для х2=1/2), а2(х 2-х 3)= а2 [0 0 1-1]* [1 1/4 1/16 1/64]T = а20,0469 (для х1=1,4), (44)
а2(х 2-х 2)= а2[0 0 1-1]* [1 1/2 1/4 1/8]T = а20,1406 (для х2=1/2).
После этого вычисляем значения функции и :
и = а10,1875+ а2 0,0469=0,1935 * 0,1875+0,1843 * 0,0469=0,0449, (45)
и = а10,25+ а2 0,1406=0,1935 * 0,25+0,1843 * 0,1406=0,0742.
Для новой точки коллокации х =3/4 вычисляем (с вариантами в вычислительном процессе):
и = а1 [0 1-1] * [1 3/4 9/16]T + а2 [0 0 1-1] * [1 3/4 9/16 27/64]T = а1(3/4-9/16)+ а2 (9/16-27/64)= =( а10,75-а10,5625)+( а2 0,5625-а20,4219)=0,0346+0,0259=0,0605. (46)
Метод моментов
Метод моментов, также входящий в группу под общим названием МВН, для заданной системы уравнений предполагает рассмотрение скалярного произведения невязки е на некоторую весовую функцию w :
< e, w >= 0, i = 1,2,...,N, (47)
где wi - весовые функции. Ими может быть любой набор линейно независимых функций,
например, 1, х, х2, х3,... .
Если выполняется условие обращения в ноль моментов невязки более высокого порядка
< е, х^ >= 0, i = 0,1, (48)
то такая процедура называется методом моментов.
Рассматривается пример из [1] в записи (20)-(22):
L(u) - p = Э2u / Э х2 + и + х =0, и = х (1- х) а1 + х 2 (1- х) а2
и функция ошибки в нем ортогонализуется по отношению к 1 и х :
j е* 1 * йх =0, (49)
j е* х * йх =0 (49а)
с подстановкой ошибки е в систему (49), (49а)
е = а j (-2+ х - х 2 )+ а 2 (2-6 х + х 2 - х 3)+ х, (50)
= а 1[ А]:
2 1 -1 -2 1 -2
"- 2"
а 1[ А ] * 1
-1
х
х1 дх + а2 [ А ] *
х 2 2
х
х1 дх + а 2 [А ]:
х
- 6 1 2 - 6 2
х
х
дх +[ А ]
01
0
" 2 " х0
- 6 х1
1 х2
-1 х3
дх +[ А ]
0
1
дх =
= а,
х0 " 0" х0
0 1 2 х1
- 2 х1 х2
х2 + а2 - 3
1/2 х3
х3 1/3
-1/3 0 х 4
-1/4
+
0
0
1/2
х
х
0
= а 1(-2х + х 2/2-х 3/3) |0 + а 2 (2х-6х 2/2+ х 3/3-х 4/4)|'0 + х 2/2 |'0: = а 1 (-2+1/2 -1/3)+ а 2 (2-3+1/3-1 /4)+1 /2=
=-11/6 а ,-11/12 а 2+1/2=0.
11/6 а 1+11/12 а 2 =1/2, где [ А] - матрица интегрирования в записи РМП, равная
"0 0 0 0 0 .
[ А] =
1 0 0 0 0
0 1/2 0 0 0
0 0 1/3 0 0
00
00
0 1/4 0
0 0 1/5
(51)
(51а)
Замечание. Следует помнить, что при интегрировании функций (с записью РМП) в виде произведения матрицы [А] на вектор столбца I* (х) количество столбцов т матрицы должно быть равно количеству строк т вектора, а размерность результирующего вектор столбца тк - на единицу больше: тк = т +1.
По аналогии с (51) вычислим второй (49а) интеграл:
| Є* х * дх = | (х + а 1(-2+ х-х 2))дх +1 а 2 (2-6х + х2-х 3)дх =
= | ( х 2) дх +1 а 1(-2 х + х 2- х 3) дх +1 а 2 (2 х -6 х 2+ х 3- х 4) дх =
= х 3/3 |0 + а 1 (-2х 2/2+ х 3 /3-х 4/4) |0 + а 2(х 2-2х 3+1/4х 4-1/5 х 5) |0 =
2
1
1
х
6
3
2
х
0
х
х
1
1
х
0
=[ А ] * [0 0 1]т дх + а 1[ А ] * [0-2 1-1]т дх + а 2[ А ] * [0 2-6+1-1]т дх =
х0 ' 0 " х0
х0 0 1
" 0 " 1 0 х1
0 х1 х2
0 х1 х2 1
х2 +а -1 + а 2 х3
0 1 х3 - 6/3
х3 1/3 х 4
1/3 0 х 4 1/4
-J -1/4 0 х5
-1/5
1
=[0 0 0 1/3]т |0 + а 1[0 0-1 1/3-1/4]т |0 + а2 [0 0-6/3 1/4-1/5]т |= =1/3+ а1(-1+1/3-1/4)+ а2 (1-2+1/4-1/5)=1/3+а111/12- а219/20. (11/12 а1+19/20 а2=1/3).
Отсюда система уравнений относительно а1 и а2:
" 11/6 11/12" . І а-1 или “1,8333 0,91667“
11/12 19/20 1а2 1.1/3І 0,91667 0,95
а
а
I 0,5 I
10,33331
Решаем систему (54) по методу исключения:
1,8333 0,91667 0,5
_ 0 0,9014 0,1526_
Х11 =1/1,18333=0,54546, Ь22 =1/0,9014=1,1094, а2 =0,1695, а1=0,18796.
Отсюда из х (1- х )( а1 + а2 х ) для выбранных точек коллокации имеем и 1 =0,25 * 0,75(0,18796+0,1695 * 0,25)=0,04319, и2=0,5 * 0,5(0,18796+0,1695 * 0,5)=0,06816, и3 =0,75 * 0,25(0,18796+0,1695 * 0,75)=0,0590.
(52)
(53)
(54)
(55)
(56)
4. Выводы
Из рассмотренного видно, что применение МВН, коллокаций, моментов хорошо вписывается в общую идеологию параллельной реализации процесса вычислений на уровне обработки сложных структур данных в едином технологическом потоке [2]. Это показывает и на возможность реализации методов в спецпроцессоре, построенном на базе процессорных элементов со скалярным умножителем в его основе, с ориентацией его на решение задач математической физики.
Сравнение значений, вычисленных по предлагаемому способу, со значениями, вычисленными традиционным приближенным способом [1], показывает на их близость.
Запись исходных уравнений в виде РМП позволяет:
- поднять уровень обработки информации (включая выполнение операций типа умножения, дифференцирования, интегрирования полиномов) с уровня чисел до уровня обработки сложных структур данных;
0
- распараллелить вычислительный процесс, выполняя операции в ПЭ с помощью входящих в его структуру скалярных умножителей, то есть в параллельном спецпроцессоре на структуре, предназначенной для [2] вычисления матриц жесткости конечных элементов (КЭ), а затем и глобальной матрицы с вектором нагрузок применительно к использованию МКЭ при решении задач МФ.
Реализация такого подхода расширит область применения параллельных структур из процессорных элементов (ПЭ), построенных на базе скалярных умножителей, позволит унифицировать вычислительный процесс, начиная с этапа подготовки исходных данных с последующим решением глобальной матрицы жесткости, организовать таким образом единый технологический (вычислительный) поток при решении задач МФ.
В заключение с глубокой благодарностью хочу вспомнить В.М. Глушкова. Он инициировал работы по использованию метода конечных элементов, поддержал разработку новых численных методов и структур для решения задач математической физики с использованием МКЭ и других численных методов. Виктор Михайлович считал эту задачу трудной, но очень важной.
Полагаю, что к инициаторам работы автора под углом видения, определенным в моем цикле статей по применению МВН для решения задач МФ с помощью МКЭ, можно отнести Дж. Коннора и К. Бреббиа, выпустивших книгу [1], необходимую для работы математикам и инженерам. Предложенные выше методы можно с успехом применить при решении задач, описанных ими в своей книге, на СП или векторных процессорах архитектуры CUDA серии Tesla фирмы nVidia, например, или AMD в составе GPU - CPU (графических и центральных кластерных процессоров), выполняющих векторные операции [4].
СПИСОК ЛИТЕРАТУРЫ
1. Коннор Дж. Метод конечных элементов в механике жидкости / Дж. Коннор, К. Бреббиа; пер. с англ. - Л.: Судостроение, 1979. - 264 с.
2. Единый технологический поток в организации вычислений - способ повышения производительности параллельных структур на процессорных элементах транспьютерного типа / Ледянкин Ю.Я.
- Киев, 1989. - 20 с. - (Препринт / АН УССР, Ин-т кибернетики им. В.М. Глушкова; 89-57).
3. Ледянкин Ю.Я. К вопросу преобразования и параллельного ввода граничных условий при решении краевых задач в едином вычислительном потоке / Ю.Я. Ледянкин // Математичні машини і системи. - 2012. - № 1. - С. 28 - 35.
4. Адинец А. Графический вызов суперкомпьютерам / А. Адинец, В. Воеводин // Открытые системы. - 2008. - № 4. - С. 35 - 41.
Стаття надійшла до редакції 05.10.2011