
книги из ГПНТБ / Постнов В.А. Метод конечных элементов в расчетах судовых конструкций
.pdfВсе основные операции могут быть выполнены за три шага по уравнениям (23.1) и (23.2).
Ш а г 1. Нахождение треугольной ленточной матрицы [G], так чтобы произведение ее на транспонированную матрицу [G1T
дало исходную матрицу коэффициентов [/(]. Переписав снова уравнение (23.2), получим
[Я] = [СГ [G], |
(23.4) |
Для примера возьмем ленточную симметричную матрицу [/(] порядка 5x5 и Я = 3, тогда подробная запись уравнения (23.4) будет иметь следующий вид:
^11 *12 |
*13 |
|
|
Gu |
|
|
|
Gii G12 |
G13 |
|
|
*22 |
A23 |
^2-t |
|
G12 |
@22 |
|
|
g22 |
^23 |
G24 |
|
|
*33 |
*34 |
*35 |
G13 |
^23 G33 |
|
|
|
G33 |
G31 |
G30 |
|
|
*44 |
*45 |
|
G04 G31 |
G44 |
|
|
|
G44 |
G.]5 |
Симметрично |
^55 |
|
G35 |
G45 |
Gs5 |
|
|
|
^55 |
||
|
|
|
|
|
|
|
|
|
|
|
(23.5) |
Элементы матрицы [G1т определяются построчно (используется правило умножения двух матриц) слева направо в следующем порядке:
а) находится главный элемент Gll первой строки:
Gn - /£ 7 i; |
(23.6) |
б) определяются побочные элементы первой строки:
Gii = kijlGud = 2, 3, . . ., Я); |
(23.7) |
в) вычисляются диагональные элементы [G](7 при £ > 1 как корни квадратные из разности соответствующих диагональных эле ментов ku и суммы квадратов всех заранее вычисленных элементов [G], стоящих выше в столбце над этим диагональным элементом:
Gu = у h i — Б G2m при £ > 1 . |
(23.8) |
Если на этом этапе подкоренное выражение получается отрица тельным, то это значит, что исходная матрица вырожденная. Следует отметить, что отрицательное число в формуле (23.8) может быть следствием неустойчивости конструкции в целом.
Вырожденная или отрицательно-определенная матрица может быть также следствием неправильного выбора расчетной схемы кон
150
струкции, например при попытке определения перемещения из плоскости пластины, работающей в условиях плоского напряжен ного состояния, в случае незакрепленной системы (имеются переме щения её как абсолютно твердого тела);
г) вычисляются построчно побочные элементы G;/- как разност между соответствующими элементами ktJ исходной матрицы и сум мой произведений элементов столбцов i и /, разделенные на диаго нальный элемент Gu по формуле
Gu = l/G[[ ( ku — S GntGnj) при i, / > 1 . |
(23.9) |
Операции первого шага являются основными и самыми трудоем кими при решении системы уравнений методом квадратного корня
по схеме |
Халецкого, так как после получения матрицы |
[G]T все |
остальные |
операции сводятся к двум подстановкам по |
уравне |
нию (23.2). |
_ |
|
Ш а г |
2. Определяют промежуточный вектор неизвестных \z\ |
сверху вниз посредством процесса исключения, используя транспо нированную треугольную матрицу [G]T:
[G]T [z] = \Р\. |
(23.10) |
Одновременно с получением матрицы |
[G]т преобразуются коэф |
фициенты правой части системы уравнений по уравнению (23.9). Шаг 2 выделяется только формально, для четкости описания
алгоритма. Фактически элементы вектора \z\ получаются одновре менно с матрицей [G]т и вносятся на место вектора \Р\.
Ш а г 3. Определяют вектор неизвестных {<7) исходной системы уравнений путем обратной подстановки снизу вверх, используя результаты шагов 1 и 2 по уравнению
IG]Wl = {z}- |
(23.11) |
При исключении неизвестных по методу Гаусса мы можем дер жать в памяти не всю ленточную систему уравнений, а только ее часть. Но для переработки коэффициентов системы уравнений в па
мяти должны все время находиться (Я—1) строк |
для |
связи |
частей ленточной системы между собой (см. на рис. |
III.24 |
этап |
передвижки). |
|
|
Схема Халецкого позволяет более оптимально использовать па
мять ЭВМ, так как на первом шаге при получении матрицы [G]т одновременно из каждой строки формируется и запоминается вся информация, необходимая для последующего исключения.
Эта информация характеризуется следующими тремя массивами: а) одномерным массивом [вектор длиной (В—1)] для накопле ния сумм квадратов элементов, стоящих в столбце над искомым диа гональным элементом, по уравнению (23.8), где В — ширина ленты; б) одномерным массивом длиной GP для накопления сумм попар ных произведений элементов столбцов i и / по уравнению (23.9).
где GP = (В2— ЗВ + 2)/2;
в) одномерным массивом длиной (В—1) для преобразования эл ментов столбца правых частей по уравнению (23.10).
Эти три массива занимают (В3 + В — 1)/2 ячеек памяти, тогда как решение системы уравнений по методу Гаусса в описанном выше варианте требует сохранения (В -f- 1) X (В — 1) = (В3— 1) ячеек памяти ЭВМ, т. е. почти в два раза больше, чем в варианте метода Халецкого.
Ниже приводится Алгол-программа решения системы алгебраи ческих уравнений для ленточной симметричной матрицы по методу Халецкого с автоматической разбивкой на части.
О б о з н а ч е н и я
N — общее количество неизвестных; В — ширина ленты;
Р— количество столбцов нагрузочных членов системы уравнений;
|
|
GP = (В3— ЗВ + 2)/2; |
|
|
|
|
|
КР — количество порций при решении системы |
|||
|
|
по частям в случае, если вся система |
|||
|
|
не может быть размещена в блоке опера |
|||
|
|
тивной памяти ЭВМ; |
|
|
|
|
|
Т — количество строк в одной порции; |
ЭВМ |
||
|
|
F — объем |
оперативной |
памяти |
|
|
|
«Минск-22» для размещения исходных |
|||
|
|
матриц [6550— количество слов, остав |
|||
|
|
шихся от всей памяти (8192) после разме |
|||
К [1 : Т, |
|
щения программы]; |
|
|
|
1 : В + Р] — матрица системы уравнений; |
|
||||
G [1 : В — 1] — вектор |
для вычисления |
коэффициентов |
|||
РР [1 |
на главной диагонали матрицы; |
коэф |
|||
: GP] — вектор |
для вычисления побочных |
||||
D [1 : Р, |
|
фициентов; |
грузовых |
чле |
|
1 : В — 1] — матрица для вычисления |
|||||
X [1 |
: Р, |
нов; |
|
|
|
1 : Т] — матрица результирующих перемещений; |
|||||
|
|
А1 — начало на магнитной ленте для записи |
|||
|
|
очередной порции полученных неизвест |
|||
|
|
ных; |
|
|
|
А— начало на магнитной ленте для записи (чтения) очередной порции коэффи
циентов системы;
div — стандартная процедура целочисленного деления;
tape —■стандартная процедура записи на маг нитную ленту;
input — стандартная процедура ввода числовой информации с перфоленты.
152
Band Matrix Solution by the Cholesski Method
begin integer N, В, P, B\, 52, 53, GP, F, KP, T, R, N4, I, S, A, Al;
input (1, N, B, P); Al : = 33408 + N X P; B\ : = В — Y, B2 : =
_Q _ 2*
53 : = В + P; |
GP : = |
div (В X В — 3 X |
В + 2, |
2); |
|
|
|
||||||||||||||
F : = 6550 — GP — P X 51 — 51; |
T : = |
R : = div (F, 53); |
|||||||||||||||||||
if T ^ N |
then |
|
|
|
|
|
1; |
N4 : = |
0; |
goto |
L8 |
|
|
|
|||||||
begin T : = R : = N; KP : = |
|
|
|
||||||||||||||||||
end; |
|
|
T); |
N4 : = N — KP |
X |
T; |
|
if |
N4 Ф 0 |
then |
|
||||||||||
/С5 : = div (N, |
|
|
|||||||||||||||||||
KP : = /<5 H- 1; |
|
|
|
1 : 53], |
G[1 : 51], |
|
|
|
|
|
|
||||||||||
L8 : begin array К П : T, |
|
|
|
|
|
|
|||||||||||||||
PP [1 |
: GP], D [1 : P, 1 |
: 51]; |
|
|
|
|
: = |
0; |
|
|
|
||||||||||
for |
/ |
: |
= 1 |
step |
1 until GP |
do PP [/] |
|
|
|
||||||||||||
for |
/ |
: |
= 1 |
step |
1 until 51 |
|
do G [/] |
: = 0; |
|
|
|
|
|||||||||
for |
/ |
: |
= 1 |
step |
1 until P do |
|
|
|
|
5] : |
= |
0; |
|
|
|
||||||
for |
S : |
= 1 |
step |
1 until 51 |
|
do D [/, |
|
|
|
||||||||||||
for S : = |
1 step |
1 until |
KP do |
|
|
|
|
|
|
|
|
|
|
||||||||
begin comment Начало прямого хода; |
|
|
|
|
|
|
|||||||||||||||
|
if S = KP and N4 =F 0 |
then R : = Л^4; |
|
L; |
|
||||||||||||||||
|
begin |
integer J, |
Cl, |
V, |
C2, |
N 1, N2, N3, C, |
K)) |
||||||||||||||
|
|
A |
: = |
320 -I- (S — 1) |
X |
T |
X 53; tape (0, |
2, A, |
|||||||||||||
|
|
for I : — 1 |
step 1 |
until |
R |
do |
|
|
|
|
|
|
|
|
|||||||
|
|
begin |
К U, |
1] : = |
sqrt |
(K U, |
|
1] - |
G Ш); |
|
|
||||||||||
|
|
|
for |
L : = |
1 step |
1 |
until |
P do |
- |
D |
IL, |
1]) |
|||||||||
|
|
|
К [/, |
в |
+ |
L] |
: = |
(К [/, |
5 + |
и |
|||||||||||
|
|
|
IK 11, |
1]; |
2 step |
1 |
until |
51 |
do |
|
|
|
|
|
|||||||
|
|
|
for |
J |
: = |
|
|
|
|
|
|||||||||||
|
|
|
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К I/, J] : = |
(K [/, J] - |
|
PP U - |
1])IK [I, П; |
|||||||||||||
|
|
|
|
G [J — 1] : = |
|
G [J] + К [/, J] |
X к |
[I, |
JY, |
||||||||||||
|
|
|
|
for L : = 1 step |
1 until |
P do |
|
|
L) X |
||||||||||||
|
|
|
|
D [L, J — 1] : = D [L, |
J] + К И, В + |
||||||||||||||||
|
|
|
|
К [/, |
Л |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К II, |
5] |
: = K U , |
ВПК И, |
1]; |
|
|
|
|
|
|||||||||
|
|
|
G [51] : = |
К [I, |
В] |
X К U, |
BY, |
|
|
|
|
|
|||||||||
|
|
|
for |
L : = |
1 step |
1 |
until |
P do |
|
|
|
|
|
||||||||
|
|
|
D [L, |
51] : = К [I, |
В + |
L] |
X К [I, By, |
|
|
||||||||||||
|
|
|
Cl |
: = |
0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for V : = 2 step 1 until 51 do |
+ V + |
|
1; |
|
||||||||||||||
|
|
|
begin Cl |
: |
= Cl + V; C2 : |
= |
Cl |
|
|
||||||||||||
|
|
|
N1 : = |
(V — 1) X 5 + |
|
1 —Cl; |
N2 : = |
|
|||||||||||||
|
|
|
|
V X |
В |
— C2; |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
iV3 : = |
5 — V\ |
|
1 |
until |
N2 do |
|
|
|
||||||||||
|
|
|
for |
C : — N 1 step |
|
|
|
||||||||||||||
|
|
|
PP [C — N3] : = PP [С] + К И, V] X К |
||||||||||||||||||
|
|
|
[I, |
V + |
C + |
I |
— NIY, |
|
|
|
|
|
|
|
|
|
153
PP [Nl - И : = |
К U, V] |
X К [I, В\ |
end |
|
|
end; |
tape (K, |
0, 0, A)\ |
if S = KP then goto LI; |
||
LI : end |
|
|
end Конец прямого хода; |
|
|
|
step |
1 |
|
|
|||||||||
for |
/ |
: = |
1 step |
1 |
until |
P do for S : = 1 |
|
|
||||||||
until |
£1 |
do D |
[I, |
S] : = 0; |
|
|
|
|
|
|
|
|||||
for |
S : = |
1 step |
1 until |
KP do |
|
|
|
|
|
|||||||
begin comment Начало обратного хода; |
|
|
|
|
||||||||||||
|
if |
5 |
1 then |
R : = |
T; |
|
|
|
|
|
|
|
||||
|
if |
R < 5 1 |
then |
F : = R else F : = 5 1 ; |
|
|
|
|||||||||
|
begin |
integer |
M, |
H, |
G, |
El, |
J, L; |
real |
U\ |
|
|
|
||||
|
|
array X U : P , |
1 : RY, M : = 51; |
|
|
|
|
|||||||||
|
|
for I : = R step — 1 until 0 do |
|
|
|
|
||||||||||
|
|
begin if |
I = 0 then goto L3; |
|
|
|
|
|
||||||||
|
|
|
for L : — 1 step 1 until P do |
|
|
|
|
|||||||||
|
|
|
begin U : = 0; H : = 5; |
|
do |
|
|
|
||||||||
|
|
|
for J : = M step — 1 until 0 |
|
|
|
||||||||||
|
|
|
begin if J = 0 then goto IA |
|
|
|
H |
|||||||||
|
|
|
|
U : = |
U + |
К [I, H] |
X D IL, Л ; H : = |
|||||||||
|
|
|
|
— 1 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
end; |
|
|
|
|
|
then £1 : = 5 |
else |
£1|: = |
|
||||
|
|
|
L4 : if M sg: 0 |
|
||||||||||||
|
|
|
R — / |
+ |
1; |
for G : = 2 step |
1 until |
G—1]; |
||||||||
|
|
|
£1 do U : = U + |
K U , G ] X X[L, |
I + |
|||||||||||
|
|
|
X [L, /] : |
= |
(/( [/, |
5 + |
L) - |
U ) / K [I, |
П |
|
||||||
|
|
|
end; |
M : = M — 1 |
|
|
|
|
|
|
||||||
|
|
end; |
KP = |
1 |
then goto £5; if S |
|
then |
|
|
|||||||
|
|
£3 : if |
< 2 |
|
|
|||||||||||
|
|
goto £6; |
if S ^ |
2 and R ^ В 1 then |
|
R + 1; |
|
|||||||||
|
|
goto £6; G : = S |
X R + N4 — R; H : = |
|
||||||||||||
|
|
for |
£ : = |
1 step |
1 |
until P do for / |
: = |
G |
|
|
||||||
|
|
step — 1 until H do |
|
|
|
|
|
|
|
|||||||
|
|
begin if |
/ |
> |
51 |
or (/ — R) <£ 1 then |
|
|
|
|||||||
|
|
|
goto £7; D [£, |
J] : = D [£, |
J — £]; |
|
|
|
||||||||
|
|
£7 : end; |
: = |
1 |
step |
1 until £ |
do |
|
|
|
|
|||||
|
|
£6 : for J |
|
X [G, |
J]\ |
|||||||||||
|
|
fo- G : = |
1 |
step |
1 until P do D |
[G, J] : = |
||||||||||
|
|
A l |
: = Al — R |
X 5; A : = A — T X 53; |
|
|
||||||||||
|
|
tape [X, |
0, |
1, |
Л1); |
|
|
|
|
|
|
|
|
|||
|
|
L5 : if key (1) then output (3, '£ ', X) |
|
|
|
|||||||||||
|
end; |
KP then |
goto |
L2; |
|
|
|
|
|
|
|
|||||
|
if S = |
|
|
|
|
|
|
|
||||||||
|
tape (0, 2, A, |
K)\ |
|
|
|
|
|
|
|
|
|
£2 : end Конец обратного хода
end Конец программы;
154
§ 24
Ошибки округления и итерационное уточнение решения системы уравнений
Несмотря на то что ошибки округления в методе исключения по Гауссу для хорошо масштабированной матрицы очень малы [79, 85], иногда возникает необходимость получить более высокую точность, оценить погрешность и, если потребуется, уточнить полученное решение.
Представление об ошибках округления необходимо потому, что мы будем иметь дело с числом уравнений, превышающим 1000. При этом число операций над числами с плавающей запятой (число сложений, вычитаний, умножений и делений) измеряется уже десят ками и сотнями миллионов.
Разрядная сетка для размещения чисел в машине ограничена. Поэтому в каждой элементарной арифметической операции про исходит ошибка при округлении.
Вместе с тем важно отметить, что ошибки округления получаются с разными знаками. В силу этого нельзя утверждать, что скорость накопления ошибок округления с увеличением числа уравнений имеет постоянную тенденцию к пропорциональному возрастанию. Однако ясно и то, что при больших системах уравнений эти ошибки могут накапливаться. Поэтому их анализ является чрезвычайно важной задачей.
Поскольку эти вопросы достаточно сложны, мы ограничимся некоторыми важными частными случаями, в какой-то мере проливаю щими свет на поставленные вопросы.
Прежде всего укажем, что используемый в расчетах упругих систем метод конечных элементов при правильной нумерации узлов всегда дает симметричную ленточную матрицу коэффициентов. При этом матрица является положительно-определенной, невы рожденной и в большинстве случаев хорошо обусловленной, а си
стема уравнений [А] {х} — {6} имеет |
единственное |
решение {х}, |
которое мы можем записать в виде |х} |
= [Л ] -1 \ Ь\. |
связано полу |
Так как с нахождением обратной матрицы [Л ] -1 |
чение решения системы уравнений, становится очевидным, что если матрица системы уравнений имеет хотя бы одно собственное значение, равное нулю, то система не имеет решения. Практически огромные трудности возникают и в том случае, если хотя бы одно собственное значение матрицы оказывается очень малым. При этом система урав нений будет иметь неустойчивое решение, или, как говорят, окажется плохо обусловленной. Для плохо обусловленных матриц ошибки округления при исключении по Гауссу иногда могут дать совершенно неправильный результат.
В работе Уилкинсона [79] показано, что при выборе главного элемента максимальным по абсолютной величине в столбце матрицы ошибки округления резко уменьшаются.
Однако при перестановке столбцов нарушается симметрия мат рицы. Для сохранения симметрии требуется одновременно пере-
155
ставлять и строки, а эта операция занимает много машинного вре мени. В этой же работе Уилкинсон доказал, что если матрица сим метрична и положительно определена, то перестановки можно опу стить бе§ серьезного увеличения ошибок округления.
Рассмотрим некоторые признаки обусловленности матриц. |
||||
Число обусловленности |
(cond [Л ]) |
равно |
отношению |
наиболь |
шего собственного значения |
матрицы |
[А ] к |
ее наименьшему соб |
|
ственному значению, т. е. (cond [Л]) |
= Хшх/Хт1п. |
является |
||
Если (cond [Л ]) относительно мало, то матрица [Л ] |
хорошо обусловленной по отношению к задаче решения системы уравнений, если же (cond [Л ]) относительно велико, то матрица [Л ] является плохо обусловленной по отношению к той же задаче.
Для некоторых матриц можно судить о их плохой обусловленности
по величине определителя матрицы. |
Малость определителя |
| Л | |
иногда влечет за собой плохую обусловленность матрицы [Л], |
так |
|
как можно показать, что | Л | = |
. . ., Хп, где Я,- — i-e собствен |
ное значение матрицы [Л ]. Однако, с учетом того, что число обусло вленности матрицы [Л] (cond [Л]) = Я,„А1) может случиться, что матрица [Л] хорошо обусловлена, хотя ее определитель мал.
Получение чисел обусловленности — весьма трудоемкая задача из-за громадного числа арифметических операций и для больших матриц практически невыполнимо. Для матриц с относительно малым порядком был произведен анализ чисел обусловленности, показав ший, что метод конечных элементов дает, как правило, хорошо обусловленные матрицы.
Говоря об ошибках округления при решении системы уравнений по Гауссу, мы зададимся целью не столько найти верхнюю границу возможной ошибки округления (это также сложная задача; к реше
нию |
этой задачи |
достаточно близко подошли Уилкинсон [79], |
Дж. |
Форсайт и К. |
Моллер [85]), сколько указать некоторые пра |
вила для организации вычислений в машине, которые свели бы эту ошибку к минимуму.
Одной из наиболее общих операций с матрицами является на копление суммы произведений, т. е. скалярного произведения двух
П
векторов типа 2 {а,}т \ Ь{]. При перемножении двух матриц эту
операцию требуется производить /г2 раз. Значительное уменьшение ошибок округления может быть достигнуто за счет увеличения раз рядкой сетки ячейки.
При обычном анализе округлений умножение в системе с плаваю
щей запятой рассматривается как |
операция, аппроксимирующая |
точное умножение, и дается оценка |
разности между произведением |
в системе с плавающей запятой «(а X |
£)» и точным произведением ab. |
Однако тут возникает трудность такого характера, что умножение'- с плавающей запятой не является ассоциативной операцией. Более того, сложение и вычитание в системе с плавающей запятой «(а + Ь)у> и «(а — Ь)» не ассоциативны. При этом закон дистрибутивности также не выполняется. Поэтому обычный анализ округлений в данном
-156
случае не может быть использован и требуется построить очень слож ный анализ округлений, предложенный в [79].
При исключении по Гауссу ошибки округления уменьшаются, если каждый раз проводить перестановку строк и столбцов с тем, чтобы деление происходило на элемент с наибольшим абсолютным значением. Однако это значительно усложняет программу и увели чивает время счета. Кроме того, метод конечных элементов дает, как правило, такую систему уравнений, в которой на главной диа гонали стоят наибольшие по абсолютному значению коэффициенты.
Отметим еще такую деталь. Так как система уравнений у нас сим метричная, то при прямом ходе используется только симметричная часть ленты и промежуточные коэффициенты для экономии ячеек памяти не сохраняются. Например, для матрицы 3-го порядка новый
коэффициент а33, переработанный прямым ходом, вычисляется так'-
«33 = «33 (« 1 3 /« 1 1 + « 2 з /« 2 2 ) ‘
Как было сказано, диагональные коэффициенты агХт 2 2 &33
^ " *
большйе по абсолютной величине, поэтому важно в данном случае сначала выполнить деление, а затем умножение в последовательности
( « 1 з / « 1 1 « 1 3 ~f~ « 2 3 ^ « 2 2 « 2 з )>
что, во-первых, исключит переполнение разрядной сетки при выпол нении операции «(а13 X а13)» в случае очень больших значений типа (EJ), а во-вторых, уменьшит ошибку округления.
То же самое относится к процедуре над числами с плавающей запятой при обратном ходе.
Избежать вообще накопления погрешностей, к сожалению, не удается. Однако можно, пользуясь итерационными методами, уточ нить решение, полученное методом исключения по Гауссу. Решение при этом из-за погрешностей округления получается приближенным.
С другой стороны, итерационный метод может дать любую наперед заданную точность решения.
Вследствие этого вектор неизвестных, найденный с какой-то погрешностью методом исключения по Гауссу и принятый в качестве нулевого приближения, последующими итерациями может быть
уточнен. На каждом шаге итерации |
используется тот же |
метод, |
с помощью которого получено нулевое приближение. |
|
|
Если система уравнений имеет вид |
|
|
[Д] {*} = {&}, |
(24.1) |
|
то, подставив сюда найденный вектор |
получим невязку |
|
(6(0)) = \Ь] — [А] {*(0)}, |
(24.2) |
которую принимаем за новую правую часть для отыскания вектора
{Дх(0)). |
|
|
|
|
Для |
к-го шага |
итерации |
имеем уравнение |
|
|
[А] (Ах(л)} = |
{&} — [A] |
= {&(,С)Ь |
|
решение которого |
ищется тем же способом исключения по Гауссу. |
157
Итерация продолжается до тех пор, пока элементы столбца {6(А:)} не станут меньше наперед заданного малого значения е. Окончатель ное решение имеет вид
W = {*(0)} + jj{ A * <o}.
При этом важно, чтобы вычисление невязок {&(Л>} выполнялось с бо лее высокой точностью, чем остальные операции.
Ошибка {ejj |
в решении |
{*(0)} связана |
с (Ь(0)) |
соотношением |
{еЛ = {*(0)1 - |
И Г 1 \Ь\ = |
[И Г 1 ([Л] {*(0)} |
- \Ь\) |
= - [ Л ] ~ 1 {6(0)}. |
Если рассмотреть норму ошибки || e j , то она на основании не равенства Коши—-Шварца—Буняковского выражается следующим неравенством:
l k J < I U - 1l ||6(0)||,
откуда видно, что ошибка округления будет уменьшаться с умень шением нормы I Ь(0) ||, так как норма || Л- 11| постоянна.
Это обстоятельство указывает на то, чтобы вектор невязки (6(0))
вычислялся более точно, чем {*(0)}, например с двойной точностью, ибо при вычислениях с плавающей запятой с обычной точностью
точность {6(0)} будет потеряна в случае вычитания чисел и получе
ния малых разностей типа [6(ft)| —[Л] что существенно влияет на скорость сходимости итерационного уточнения решения. 1 Наконец, остановимся на особенностях вычисления определителя при вычислениях с плавающей запятой.
Необходимость вычисления определителя возникает довольно часто, например при решении задач динамики, устойчивости и дру гих.
Существует одна довольно неожиданная проблема, связанная с невозможностью получения произведения из п чисел из-за вероят ности переполнения разрядной сетки или появления машинного
нуля. |
|
|
|
[А ] равен |
|
Можно показать, что определитель матрицы |
|||||
| Л | |
= |
33, . . ., |
Ипп> |
|
(24.3) |
где ии — коэффициенты, |
расположенные |
на |
главной |
диагонали |
|
после проведения прямого хода при исключении по Гауссу. |
|||||
Первые коэффициенты и1ъ |
н2з и т- Д- ПРИ решении задач по МКЭ |
||||
имеют порядок 10е— 104, |
т. е. |
порядок (£7), где Е = |
2.107 тс/м2 |
(конечно, имеется возможность эти коэффициенты масштабировать),
анаибольшее число в машине «Минск-22» имеет порядок —1019.
Сувеличением номера i порядок коэффициентов ип заметно-'ени- жается, поэтому ясно, что во избежании переполнения следует
порядок умножения |
в (24.3) |
изменить на |
следующий: |
I Л | = |
(иц11пп) |
X (U22un-i, rt-x) |
X . . . . |
158
ПЛОСКАЯ ЗАДАЧА ТЕОРИИ УПРУГОСТИ
К необходимости решения плоской задачи теории упругости приводят многие важные задачи строительной механики корабля: об изгибе широкополых балок и судовых перекрытий со вторым дном, концентрации напряжений вокруг вырезов в судовых пласти нах, напряженном состоянии в шпангоутных рамах супертанкеров, об изгибе судового корпуса как пластинчато-оболочечной упругой системы и т. п.
Исключительно широкая область приложения плоской задачи теории упругости в расчетах судовых конструкций требует достаточно подробного рассмотрения метода конечных элементов применительно к решению этой задачи. При этом чаще всего используются два типа конечных элементов: пластинки треугольной и прямоугольной формы, которые ниже нами и будут рассмотрены.
§ 25
Матрица жесткости для треугольного плоского элемента
Треугольный элемент с тремя узловыми точками. Треугольный конечный элемент (рис. IV. 1) с вершинами I, 2, 3 загружен узло
выми усилиями {R\ = \RiXRi!/R 2x R ^ R axR 3!/\-
Введем в рассмотрение также вектор узловых перемещений
элемента \q} = |
где ир |
vt — перемещение t'-ro |
узла |
соответственно в направлении осей х и у. |
|
||
Дальнейшей нашей задачей и будет установление связи |
|
||
|
IR } = I K ] W1, |
(25.1) |
|
где [7П — искомая |
матрица жесткости |
конечного элемента. |
|
Уже сама схема идеализации, приводящая исходную конструк цию к совокупности конечных элементов, связанных между собой лишь в узловых точках, требует, чтобы напряженное состояние в каждом из элементов однозначно определялось через значения узло вых перемещений. В нашем случае положение элемента полностью