Зенкевич О.С. - Метод конечных элементов в технике (1050654), страница 69
Текст из файла (страница 69)
венство Х,МХ, =О. (20.23) Пример программы Обозначения пгргмгнныл г подпрограмме Е!ааЕг( ЕСаСа Характеристическая'матрица (К-'М или М 'К) ЛЧ Матрица масс (или жесткости) ТЕЕТ Требуемая точность определения собственного вектора Максимально допустимое число итераций Количество определяемых собственных чисел Квадратный корень из обратной величины собственного значения, используемый вместе с матрицей К вЂ 'М для определения низших собственных частот )а(1Т ЫЕ!Са ОМ Программа 20 Р 6ОВЕО(7Т!ЫБ Е!ОБЫ (ЕОО,(Ч,МЧ) О!МБЫМОЫ ЕОО(4,4),Х(4),ХАОХ(4),ХОХ(4),ЕА((Х(4,4),!)У(4,4) БОΠ— характарнстнческаа матраца Ш вЂ” матраца масс БЕАО (5,10! ТЕ6Т,М(Т,МЕ10 !О РОЙМАТ(Р1052110) С ТБЕТ вЂ” требуемая точность С ы1т — наксамаааное число нтарацна С ЫЕ10 — количество оаралеаааных собственных чисел С ОО 1 Б !ГМЕ!О ОО 66 1= !,МЧ ХОХ(!) = 1.
66 Х(1) 1. !4 САП. МРЕО(ЕОО,Х,ХАОХ,МЧ,ЫЧ,1) Б!О ХАОХ(!1 ОО 571 1,Ы!Г Вычислатсл»лыг методы а программа Глава 20 Б08 67 Х(1) = ХАБХ(1)(НО 00 67 1= [,ХЧ [Р(АВББХ(1) — ХСХ(1)(Х(1)) — ТББТ)67,67,82 67 сохт[хив С Достаточно С ОО ТО 50 С Повторение С 82 [ТБ=[ТБ — 1 [Р([ТЯ)21,21.25 21 Игн!ТЕ(б 22) 22 Роймдт(26к [тББАт[Ох соихт Бхсвеввв) 00 ТО 50 25 00 26 1=1,ХЧ 26 ХПХ(!) = Х(1) 42 РОБМАТ (4НБ.8) ОО ТО 14 50 ОМ = БОБТ([ЧЕ!О) Урн[ТЕ[5,13) П,ОМ [Уй[ТЕ(5,42) (Х(1),! = 1,4) [З РОБМАТ (15,Е168) С бгорнированне видоизменения матрицы С сА[лс трнв(х,щ,хих,хч,[,ху) сдсс МРБО(хих,х,хяих !',хч,[) АА = е[О(хдих(1) 00 68 1= [,ХЧ 68 ХАОХ(П = Х(1)*АА сдп.
МРБО [хдих,хих,еяих,ху, [,ху) 00 ПО 1=1,ХУ 00 11О У = 1,ХЧ !Ш ЕОО(1,3)=ВОН[»в — ЕАБХ([,У) ! Соху!хие Бетицх ЕХ0 Программа 20-10 яивцоит!хе МРБ0(о.в Ов,~.,м,х) 0[МБХЯ[ОХ 0(4,4),В(44[,08(4,4) С ОВ(1.,Х) = 0(1.,М)*В(М,Х) ))О Ко У= [,Х 00 КО 1=[,С ОВ(1,3) = 0 00 !Ю К=1,М !Ю ОВ;1,[) ОВ([Д)+0([,К)*в(К,[) Бвтий ЕХО Программа 20-11 Бивйоит[ХЕ ТРБО (О,вгвВ,МД,Х) 0!МБХНОХ 0(4,4),В(4,4),08(4,4) С ОВ(С,Х) =(транспонироваииан 0(М,Е)) В!М,Х) 00 110 У=[,Х 00 110 1=4«ь ОВ([Д) =0 00 110 К=[,м ! !0 Ов(1,~) = Ов(!3) + 0(К,!) В(К,У) Бвтицх ЕХ0 20.10.
Заключительные замечания В этой главе рассмотрен весь процесс реализации метода конечных элементов и приведены образцы программ, Изложен. ный материал не содержит каких-либо утонченных приамов, которь[е могли бы оказаться непонятными для начинающих. Напротив, авторы привели достаточно простые, но весьма эффективные рабочие программы, отметив в то же время возможности использования других методов и учета особенностей исследуемой системы. Программа решения задач о собственных значениях, приведенная в этой главе, очень проста и не использует свойство симметрии матриц жесткости и масс (или геометрической жесткости). Читателям, интересующимся применением более совер.
шенных методов и возможностями экономии памяти машины, следует обратиться к работе Андерсона [8], посвященной задачам о колебаниях и устойчивости. ЛИТЕРАТУРА !. НоияЬ Б. Ж., ТЬе Р[пне Нептеп[ !п Р[апе 81гевв дна[уз[в, Ргос. 2пд АБСБ Сап[. оп Е1ес1гапгс Сотри[абаи, РЕМЬигяЬ, Ра., Яер[. 1960. 2. [гопв В. М, Бсопоппса[ Сопгрп[ег Тесьп1яаев 1ог Хиюепса[!у 1п1ебга[ед Нпие Е!степы, М(. 7. Хил». Мем, Епя., 1, 20! — 203 (1969).
3. Магии К. С., [п1годисиоп 1о Матбх МеТЬодв а[ Ыгис[ига! Апа[уыв, Мсо -К[П, [966. 4. С!сонь Б. ТУ., уоьпвоп С Р., А Нике Негпеп1 Арргох!гпаиоп 1ог Ше Апа1ув[в о1 ТЬ!п БЬенв, 1)1. У. Ба[ма Яьи«1. 4, 43 — 60 (1968). 5, Кгпб 1. Р., Ап да[сома[!с Бесогщпб Я«Ьете 1ог Ытинапеоив Еяианопв Оегмед [гоп Хе[ног[с БХв1епгв (будет опублихавано). 6.
[гона В. М., А Ггоп1а! Ба[сиоп Ргоягап» [ог Ргпае Нсгпеп1 Апа1уыв, [л[. А Хагл. Ме[Ь. Елэы 2, 6 — 32 (1970). 7. 7[епмеиасх О. С, К[ия 1. Р., Овсова[оп оп «ТЬе Апа!увы о1 а Гоиг-Бран Вгмяе иыпя ап Б!ес1пса! Апа!ояие Сапгри(ег», Ргос, [ла. С[о. Епя„37, 819 — 820 ([967). 8. Апдегвоп Б. О, А Нп[1е Е[ешеп[ Е[бепта[пе Бо!и1[ап Буыещ РЬ. О. ТЬев[в, иппи о! [Ча!ев, Бз апаса, 1968. 519 Глпао 20 Вычиглпгельные юг~оды и нроерзллм ПРИЛОЖЕНИЕ 20А Приведенные программы явлин!топ подпрограммами формирования и решения уравнений итерационным методом Гаусса— Зейделя.
Программа гО-Тг ЗПВБООТГМЕ РОЯМК С С Подпрограмма предназначена для формирования компактной С матрицы К и соответствующей матрацы-указзтеля С СОММОМ(СОМТЕ/Т!тьв(12),МР,КБ.МВ,МОР,МСМ,МьР,ИМАТ, МЗХР,ИМТ4 СОММОМ СОВО(100,2),МОР(200,4),!МАТ(200),ОДТ(25,2),МВС(25), МР(Х(25) !Я)(200),5!(200,20),!ЗР(200,20) 2,БЗТ(РМ(12,12) С С Задание мапснмального числа членов С ЯМАХ 20 МОРЕ = 20 С С Задание нулевых массивов С ОО ЗОО М = ),МЗХР 00 250 М = 1,ММАХ 200 20(М,М)=0 РО 290 М = 2,МОРР 290 1ЗР(М,М) 0 300 15Р(М,() = М С С Обход по всем злемеитам С 00 400 М 1,МБ СА!Л. ЗТ!РТ2(М) С С Возврат х ЕЗТ1РМ, ках х матрице жестхости С Засылка ЕЗТ1РМ в массив 51 н члена.указателя в (ЗР С С С Обход сначала по строкам С 1 О 00 350 33=1,МСМ МБОЦгВ = (МОР(МРЗ) — 1) МОР ПО %0 3 !,МОР Мйопгв = МЙО)РВ + 1 1=1+ 1 С Затем обход по столбцам С И=О ОО 330 КК=1,МСМ МС01.В (МОРГБКК) — !) МОР 00 ЗЗО К !МОР МСОСВ МСОСВ + 1 П И+1 С С Поиск в 1ЗР номера столбца С 00 3!О М 1,МОРР )Р(15Р(мдоцгв,м) — мсосв) 305,320,305 305 1Р(15Р(ИБО%В,М)) 315,315,310 310 СОМТ1МПБ С С Поиск свободного места для хранения МС02В С 315 )ЗР(МБО)ЧВ,М) МСОСВ С С Запись БЗТ!РМ С 320 31(МДО)9В,М) БЗТ!РМ(),П) + 3!(МКОЮВ,М) С С Конец цикла по столбцам ЗЗО СОМТ)МПВ С Конец цикла по стропам 350 СОМТ!МОБ С Конец цикла по элементам 400 СОМТ!МОЕ С С Учет граничных условий С ОО 50ОМ 1,МВ МХ !О* ° (МОР— !) 1= мвс(м) МЙО)РВ = (1 — ! )*МОР С С Проверка каждой степени свободы 00490 М 1,МОР МЕОД = МЙО)РВ + 1 ! СОМ = МГ1Х(М)/МХ 1Р()СОМ) 4б0,450,420 яз Вичислительные методы и ирогрияиы Глава 20 С С Запоминание большого номера иа диагоналя С 420 31(МЕО)ОВ,!) Б!(Мйо)УВ,!) 1О"20 МР!Х(М)-'МЯХ(М) — МХ.!СОМ 450 мх = мх(ю 490 СОМУ!МОЕ 600 сомтрмпе йЕТРЕМ ЕМР С С Задание ковффвцнента релаксации и точности ТОСЕЙ ЗŠ— 3 ййьАХ 1.6 С С С С При отрицательном числе ураниениб пропуск задания вачзльных данных )Р(МЕОуит.О)ОО тО ЗЮ РО Ж)0 М 1ЛтЕГЕ РО 250 М 1,МТ 1Р(!Тем(м,м) ме.О) ОО то 2БО С С Массив 1ТЕМ(ЛХ!) содержат счетчик расстояния от даагоналн С С !ТЕМ(М,!!=М 1 00 ТО 260 2БО СОМТ!МОЕ 260 СОМТ1МПЕ 300 СОМТ!МПЕ 310 МЕ() 1АВБ(МЕ()) С С Задание макснмальнага количества циклов С МСУС лМЕ012 1Р(МСУС).Т25)МСУС 25 Программа 20-13 БОВЕООТ1МЕ БОСУЕ С Подпрограмма предназначена для решеяия уравнений итерацнон- С иым методалл СОММОМ(СОМТЕ(т)ТСЕ(!2),МР,МЕ,МВ,МРР,МСМ,МСР,ММАТ, М Е 4), 1.
1, М Т4 соммом сойР(!00,2),мор(200,4),!МАТ(ею),ойт(25,2),мвс(25), МР1Х(25) ),й(200),А(200,20),!ТЕМ(ЗЮ,20).Р15(200) МТ 20 Ззданне нутевага массива неизнестаык РО З20 М = ),МЕ() !Р(А(М,!)МЕО)А(М,1) =11А(М,!) 320 Р!Б(М) = О, С С Начало цикла по циклам РО 500 МС ),МСУС БОМ = О. БОМР = О. С Начало цикла по уравнениям С Ро 450М = ),МЕ() РХ = й(М) МОМ = (ТЕМ(М,() РО 330 М = 2,МО)! 1.
= 1ТЕМ(М,М) 330 РХ= РХ вЂ” А(М,М) Р1Б(1.) С С С С РХ вЂ” общее отклонение от йНЗ РХ вЂ” взмененное значение РХ= А(М,1) РХ вЂ” Р13(М! 1ПБ(М) Р13(М)+ Ю.АХ РХ Выход нз цикла прв достижении скадимости МР=МС 1Р(БРМЕТ.Я)МР Т01.ЕЕ) ОО ТО 550 500 СОМТ)МПЕ С С Пересылка акончательнык результатоз в массне й 550 РО 600 М (,МЕР 600 й(М>= Р!Б(М> С С Печать пог- синего зна гения суммы н т д С )Уй!ТЕ(6,!0),МР,БОМ,БПМР 10 РОЕМАТ(БОНО 1.АБТ СУССЕ МО.,(10 1, 1 20Н (БМ вЂ” 5М вЂ” !ИБМ,Е103 17 али. е!в С С С БПМ и Я)МР— параиетры, характеризующие сходимость С Я)м Я)М + АВБ(РХ) Я)МР = Я)МР + АВБ(015(М)) 450 СОМУ!МОЕ 515 514 Глава 20 Вычшлнтеланые негода и нрограчмы 2 / 20Н йЕТОКМ ЕМО БМ =,ЕЮ.З) ПРИЛОЖЕНИЕ 20В Программа 2()-!4 Бивйоот!Ие Роймк С С Программа предназначена для фармнронавня нерхчего треуголь- С инка компактной матрацы и матрицы-указателя С С СОММОИ/СОМтй)т!ТЕЕ(!2),МР,МЕ,МВ,МОР,МСИ,МСО,ИМАТ, ИБЗР,С(,ита соммом сойо(100 2),мор(зю,4),!мдт(200),ойт(25,2),мвс(25), МШХ(25! 1,й!(ЖЮ),81(200,20),(БР(200,20) 2,ЕБТ?РМ(12, !2) С С Заданне макснмвльного числа членов С М МАХ 20 МОРР 20 С С Заданне нулевых масснвав С ОО 300 И=1,ИБЗР ОО 280 М =1,ММАХ 2ВО 31(М,М) = 0, ОО 290 М 2,МОРР 220 !БР(М,М) О 300 1БР(И,1) М С С Обход по влемевтам С ОО 400 М 1,МЕ СА! С БТ1РТ2(М) С С Воаврат к ЕБТ1РМ как к матрице жесткости Засылка ЕБТ!РМ в Б! н чтена указателя в 1БР С С С Обход сначала по строкам Приведенные программы являются подпрограммами составления и решения уравнений методом редкозаполнениых матриц (фронтальным методоы).
1 О ОО 35033 1,МСИ Мй0%В (Моор(М,ЗУ) — !) МОР ОО 350 У 1.МОР М КО%В Мйо\ЧВ + 1 1=!+1 С С Затем обход по столбцам ЕБТ!РМ С П 0 ОО 330 КК 1,МСМ МСО(.в (МОР(И,КК) — 1) МОР ОО 330 К 1,МОР Мсоьв = МСОьв+! П П+! С С С (Р[МС01. — Мй0%В) 330,302,302 302 СОМТ1МОЕ С С Поиск в !БР номера столбца С Пропуск, если член лежит ниже днагоналн ОО 500 М 1 Мв МХ Ю (МОР— 1) 1= МВС(Й) Мй0%В (! — Ц МОР ОО 310 М !,МОРЕ (Р((БР(Ий0%В,М) — МС(.ОВ) 305,3И?,305 305 !Р((БР(Мй0%В,М) 315.315310 Зш сому!?ще С С Поиск свободного места для хрвнення МСОЬВ С 31б 1БР(мй0%В,М) МС01.В С С Звпнсь ЕБТ!РМ С 320 Бн(мй0%В,М) ЕБТ!РМ(1,П) + Б!(Ий0%В,М) С С Конец цикла по столбцам 330 СОИТ!М!ЗЕ С Конец цикла па строкам 350 СОМТ!МОЕ С Конец цпкта по алементам 40о сомт!мое С С Учет грапнчных уславнй С б!б Гляни 20 617 БУМ БТМ БТМ 22 23 24 БТМ БУМ 5УМ ОО 460 М 2,ЧТ !М =)ТЕМ(1,М) )Р()М) 365,480,365 27 28 29 ЗТМ БУМ БУМ БУМ БУМ БУМ 30 31 32 С С С С БУМ БУМ БТМ БУМ БУМ 37 38 39 40 41 )Р(МЕЯЕТ.О) ОО ТО 360 БУМ 5 С С С С БУМ 6 БУМ 7 БУМ 8 БУМ 9 БУМ 1О БУМ П БУМ 12 БУМ !3 БУМ !4 БУМ 15 БУМ БУМ БУМ БУМ БУМ 44 45 46 БУМ 16 БУМ 17 БУМ 18 БУМ Рй БУМ 20 БУМ 21 ОО 500 М 2,МТ А(1,М) = А(1,М)/А(1,1) з)0 солт)мпе 620 СОМТ!МПЕ К(месг) К(меЯ)/А(НЩ,1) БУМ БУМ БУМ БУМ ЗУМ 47 48 49 50 51 С С Проверка каждой степени свободы ОО 490 М 1,МОР мкО)ув = мкОтрв + 1 !СОМ- МР1Х(М)/МХ )Р(!СОМ) 450,450,420 С С Запоминание большого номера иа диагонали С 420 $1(МКО)УВ,1) = $1(МКО)УВ,!) Ю 20 МР)Х(М) = МР)Х(М) — МХ !СОМ 45) МХ=МХ/1О 490 СОмтрмпе 500 СОМТ1МПЕ КЕТПКМ ЕМО Программа 25с!5 БПВКОПТ(МЕ БОГАЧЕ Решает методом редковаполневных матриц соммом/сомтк/т!т!.Б(12хмр,ме,мв,лор,мсм,м.в,ммдт, МЕОД.!,Л 74 СОММОМ СОКО(!00 2),МОР(200,4),!МАТ(200),ОКТ(2572),МВС(25), МР1Х(25) !,к(200),А(200,20),!Тем(269,20),!Мет(290) МТ= 20 Пропуск, если число уравнений отрицательно Составление полной матрицы )ТЕМ В протвином случае наполнение !ТЕМ по мере необходи- мости ОО 220 М = 1,Мт 220 1МЕТ(М)=)ТЕМ(!,М) РО 340 Ч = 2,МЩ ОО 280 М= 1,МТ 1Р()МЕТ(М) — М + 1) 225,280,225 225 ОО 240 2 =1,МТ 1Р(!ТЕМ(МД.)) 230,250,230 230 1Р(!ТЕМ(Мгв) — 1МБТ(М)) 240,280,240 240 сомтрмив УУК!ТЕ(6,!00)М 100 РОКМАТ(43Н АссОРУАВЕЕ БРАСЕ ЕХСБЕПЕВ )М щидтлфм тдвсе,)4) БТОР 260 1ТЕМ(МХП = )МЕТ(М) 280 СОМТ!МПЕ 300 ОО 320 М 1,МТ 520 !МЕТ(М) !ТБМ(М,М) Вычислительные методы и программы 840 СОМ Т1МОБ 360 МЕЯ 1АВБ(МБЯ) МЩМ МЕ() — 1 С С Начало цикла ио уравнениям С ОО 520 1 ),МЩМ Моднфвкацня вектора КНБ К(1) = К()ПА(1,1) Иикл по строкам необходимо нсключкть С С Най~и соответствующие строки С 365 ОО 380 М 1,ЛТ 1А = !ТЕМ(1ЧУМ) 1Р(1А! 370,400,370 370 1МЕТ(1А) = М 380 СОМУ!МОР 400 СОМТРМПЕ ТЕМР = А(),М)/А(1,1) Пн«л по столбцам необходима исклкжкть ОО 420 М !,МТ !А =!ТБМ(1 М) )Р()А) ЗЕ,4(0,405 405 !Р()А — )М) 420,4!0410 410 1М=)МЕТ(!А) С С Мадвфикация влемента матрицы С А()М,)М) А()М,)М) — ТЕМР А(1,М) 420 СОМ Т!МПЕ С С Модификация вектора нагрувкн С 440 К(!М) К(1М) — К(1)'А(1,М) 450 СОМТ1МПБ 480 СОМТ!МПЕ С С Пересылка строки для обратного лада С Виеиелителеиие методы и ороерамиы 5!8 Глана 20 С С С Обратный хох ОО 660 18= ),МЕСМ ! — ИЕΠ— !Б ОО 540 М= 2,ЯТ 3= !ТБМ((,М) )Р(Х) 5!0,560,540 540 Ц(!) = 2(!) — А(),М).ц(Я) 560 СОХТ!МПБ цитщм БЯО БУМ 52 5УМ 55 5УМ 54 5УМ 55 5УМ 56 ' 5УМ 57 5УМ 58 5УМ 59 5УМ 60 ПРИЛОЖЕНИЕ 20В В этом приложении приведен ряд подпрограмм, которые можно использовать для решения очень большого числа уравнений при ограниченной максимальной половине ширины ленты.