Метод конечных элементов (1061787), страница 66
Текст из файла (страница 66)
20.5.6. Учет граничных условий При применении метода конечных элементов граничные условия в напряжениях автоматически учитываются вектором нагрузки; если граница свободная, элементы вектора нагрузки, соответствующие расположенным на границе узлам, равны нулю. При заданных перемещениях (например, осадка фундамента и др.) матрица жесткости и вектор нагрузки должны быть модифицированы. В общем случае для упрощения индексации размерность матрицы не должна изменяться, т.е. никакие строки или столбцы не должны исключаться. Существуют два способа, с помощью которых, не нарушая указанных требований, можно удовлетворить граничным условиям, не учтенным при формировании элемента.
Положим, что имеется некоторая система Л' уравнений (20.11) ~и! ~т * ~лъ . Ьн и, скажем, и! — и. В соответствии с первым способом столбец нагрузки видоизменяется так, что Р; = Р! — А!!а (!, = 2, У) и Р! — — к. Тогда соответствующая строка и столбец становятся нулевыми, а диагональнь!й член — единичным. В частном, но часто встречающемся случае, когда а 0 (т. е. опора неподвижна), необходимо изме- У'лава 2д нить матрицу описанным выше способом, оставляя матрицу нагрузки неизменной, кроме члена Р~ — — О, Второй способ состоит в умножении соответствующего диагонального элемента матрицы на некоторое большое число, скажем 10', перед модификацией соответствующего коэффициента нагрузки.
В рассматриваемом случае мы бы получили йп = й„° 108, Р, = й„° 10' ° а, й!! —— й;! (за исключением случая, когда !=1, ! 1), Г;=Р; (! Ф 1). В полученном решении и~ будет почти равно а, Этот способ пригоден для любых методов решения. Во многих случаях возникает необходимость определять силы реакции в граничных точках, например реакции мостовых опор или контрфорсов плотин.
Если требуется определить реакции, то при обратном ходе необходимо преобразовать соответствующие уравнения так, чтобы вместо определения в точке опоры неизвестного перемещения по известной нагрузке отыскивалась неизвестная нагрузка по известному перемещению. В соответствии с первым из уравнений (20.11) получаем следующее выражение для силы реакции: 20Х7. Пример подпрограммы Ниже приведены блок-схемы и тексты двух подпрограмм, Подпрограмма ГОКМК используется для построения ленточной прямоугольной матрицы жесткости и учета граничных условий первым способом, описанным в предыдущем разделе (прн и = О).
Подпрограмма 501.ЧЕ применяется для решения систем алгебраических уравнений методом ленточных матриц '). Блок-схемы приведены на стр. 488 и 489. Обозначения переменных в по..!программе РОКМК КВАКВ Максимально возможная в программе ширина ленты ХКОЖВ, ЯСОНА В, ХСО1. Переменные, определяющие положение элемента матрицы жесткости ~) В приложении 20В приведены другие подпрограммы, несовместные с снстемой ГРВЗ. Вычислительные методы и программы ЫК, ХХ ЕБТ1РМ * (12,12) Обозначения переменных в подпрограмме 301„УЕ КВАКВ Й1 * (200) Программа 20-Б ЫВКО11Т1ИЕ РОВМК С С формирование верхнего треугольника матрицы жесткости С С СОММОИ~СОИТК~Т1Т~Е(12),ИР,ИЕ,ИВ.И1ЖИСИ,И~),ИМАТ, ИЗЕЙ.1,ИТ4 СОММОИ СОКЩ 100,2),ИОР(200,4),1МАТ(200),ОЙТ(25,2),ИВ С(25), ИР1Х(25) 1ДЦ 200),ЯК(200,40) 2,ЕБТ1РМ(12,12) С С С С Ввод максимальной ширины ленты н информации о количестве решаемых уравнений ИВАИВ = 40 Задание нулевой матрицы жесткости С С С 00 400 И= 1,ИЕ СА11 ЯТ1РТ2(И) С С Возврат к ЕБТ1РМ, как к матрице жесткости С ' Массив, расцоложеиный в области СОММОИ 00 300 И = 1,ИЗБР 00 300 М = 1,ИВАИВ 300 8К(И,М) ~0.
С С Цикл по злементам С Переменные, используемые для записи граничного условия Матрица жесгкости элемента Максимально возможная в программе ширина ленты Счетчик числа уравнений для исключения и обратного хода Рабочая переменная для процесса исключения Вектор правых частей; в конце работы программы на его место помещается решение С с с С с с С Засылка БЗТ1РМ в массив 3К ОбхОд пс строкам ВО 330,1,1 = 1,1(СЫ М~ОЪВ =(1 (ОР(М,Л) — 1).1(1)Р ВО 350 Л ==' 1,ИВЕ ИКОаВ = ЫКОЬ'В+ 1 1 = (П вЂ” 1) ~ХОР + 1 Затем по столбцам 00 330 КК= 1,1ЧСЫ ЫСО1.В = (ХОР(И,КК) — 1) е ХОР ЭО 320 К= 1,ЫОР Е -(КК -1)*'Ывр+ К ИСО1.
= ХСИ.В + К + 1 — ИКОМ Вычислительные иетоды и програиды Блок-схема подпроараммь~ 501.ЧЕ с С Если элемент ниже ленты, то пропуск засылки С ЩХСО1.) 320,320,310 310 ЯЦМЙОЪ"В,АССОЦ = Ж(ЬКОЮВЛСОЕ) + ЕЬТ1РМ(1,Ц 320 СОХТ1М11Е 330 СОХТ1ХБЕ 350 СОМТ11ЧУЕ '100 СОМТ!ЬШЕ С С Учет граничных условий 00 500 И = 1,ИВ ИХ = 10«.(ИОР-1) 1= ИВС(И) ИМОМОВ =(1 — 1) И1Ж С С С Проверка каждой степени свободы ОО 490 М = 1,ИОР И(тОЪ"В= ИКОЖВ+ 1 1СОИ = ИР1Х(И)/ИХ 1Р(!СОИ )450,450,420 420 БК(ИЙОФВ,1) = 1. 00 430 2=2,ИВАИО БК(ИЙОЪ"В„.1) = О.
Ий = ИКОЖВ + 1 — д 1Р(ИК)430 430,425 425 БК(ИЙ,Л) =О. 430 СОИТ1И(/Е ИР1Х(И) = ИР(Х(И) — ИХ.!СОИ 450 ИХ= ИХ/10 490 СОИТ1И(/Е 500 СОИТ1И(ЗЕ КЕТЩ И ЕИ0 Программа 20-о Б(.1ВВО(ЗТ1ИЕ БО1.Ъ'Е Спецификация С С С С С С Сокращение матрицы РО 300 И =1,ИБЕР 1=И РО 290 1. =2,ИВАИ0 1=1+ 1 1Р(БК(ИД.)) 240,'90,240 240 С = БК(И Д.)/БК(И,1) Л=О 00 270 К=1,ИВАИО 3=3+1 1Р(БК(И,К)) 260,270,260 260 БК(1„Л) = БК(1,Л) СеБК(И,К) 270 СОИТ1И(ЗЕ СОММОИ/СОИТЯ/Т1Т1.Е(12),ИР,ИЕ,ИВ,И!ЖИСИ,И1.0,ИМАТ, ИЮР,1.1,ИТ4 СОММОИ СОКО(100,2),ИОР(200,4),!МАТ(200),ОКТ(25,2),ИВС(25)„ ИР1Х(25) 1Д1(200 ),БК(200,40) !ВЛИВ = 40 Вьиислательные методы и программы 491 ЫО 3К(И,1.) = С С Сокращение вектора нагрузки для каждого уравнения С С К1(1) = К1(1) — СэК1(Я) 290 СОМТ1Х1)Е 300 К1(Щ = И(ЩЗК(Х 1) С С Обратный ход С 1Ч = ~т3УР 350 И= Х вЂ” 1 1Г(Ч 300,300,300 360 1 = Х 00 400 К =2,ХБАХВ 1 =1+1 1Р(ЯК(Х,К)) 370,400,370 370 Й1(Х) = Й!(К) — ЯК(Ы,К) К1(1.) 400 СОХТ1ХБЕ ОО ТО 350 С 500 КЕТАМ ЕХВ 20.6.
Вычисление внутренних усилий и вывод результатов Последним этапом решения обычных линейных задач методом конечных элементов является вычисление внутренних усилий для элемента. Для каждого элемента необходимо выполнить следующие две операции: а) сформировать вектор решения в координатах, связанных с рассматриваемым элементом; б) построить матрицу напряжений для перехода от вектора решения к внутренним усилиям. Эта матрица уже упоминалась в разд. 20.4, где рассматривалась подпрограмма вычисления матрицы жесткости.
Она формируется либо путем считывания с внешней памяти, либо путем дополнительного вызова подпрограммы вычисления матрицы жесткости. Кроме внутренних усилий, часто бывает удобно вычислить некоторые другие, силы. Например, в плоских задачах вычисляются значения максимального и минимального напряжений и их направления, В конце работы программы на печать выво* дятся необходимые сведения о напряжениях. При решении более сложных нелинейных задач подпрограмма вычисления напряжений обычно становится отправной 492 Блок-схема и пример подпрограммы. Подпрограмма ЬТЙЕЬЬ выводит на печать перемещения, считает и печатает напряжения в элементах в задачах о плоской деформации.
перемекных и подпрограмме ЬТЙЕЯЯ (см. примечание) Вектор перемещений (см. примечание) Вектор сил элемента Матрица обратного хода Вектор перемещений элемента Максимальное напряжеиив и У-м элементе Минимальное напряжение в Й-м 'элементе Отклонение от вертикали в направлении часовой стрелки линии действия максимального напряжения Ф-го элемента 018 (2, 100)" РОЙСЕ (200, 3)* В (3,6) Й (8) Примечание.
Предложение ЩШУА1.ЕНСЕ позволяет использовать массив 018 (2, 100) для вектора решения Я1 (200), а массиу внутренних сил РОЙСЕ (200, 3) — для хранения массива ЬК. Программа 20-7 30ВЙ01)Т1ИЕ ЗТКЕВ8 01МЕИ81ОИ 018(2,100),РОЙСЕ(200,3) СОММОИ/СОИТЦ/Т1Т(.Е(12),ИР,ИЕ,ИВ,ИВР,ИСИ,И).О,ИМАТ, ИЯУР,1.1,ИТ4 СОММОИ СОЙ0(100,2),ИОР(200,4),1МАТ(200),ОКТ(25,2)ИВС(2б), ИР1Х(2б) 1,Й1(200) ЯЕ(200,40) 2,В(8,6), Ь(8) ЯШУА1-ЕИСЕ (013(1)Д1(1)),(ЯЦ1),РОЙСЕ(1)) Е%1ИЬ ИТ4 ' Массив, расположенный в области СОММОИ, точкой для циклического процесса вычисления уточненной матрицы жесткости (зависящей от уровня напряжений) или уточненного вектора нагрузки.
Вектор нагрузки обычно строится с помощьи метода начальных напряжений илн деформаций (см. гл. 18). Глава 2б Печать перемещений 10 ВОО 600 И=1,ИЕ 29 250 С = (РОЙСЕ(И,1) + РОЙСЕ(И,2))/2. 38 А = Б(~йТ(((РОЙСЕ(И,2) — РОЙСЕ(И,1))/2) 2+ РОЙСЕ(И,З) 2) ' 39 ЗМАХ=С+ А 40 БМ1И = С вЂ” А 41 1Р(РОЙСЕ(И,2).ЕЯ.БМ1И)ОО ТО 700 42 АИО = 57.29578~АТАИ(РОЙСЕ(И>3)~РОЙСЕ(И,2) — ЗМ1И)) 43 ОО ТО 210 44 700 АИО =90. 45 210 СОИТ1И1)Е 46 %'К1ТЕ(6,100) ВК1ТЕ(6,110) (М,а1Б(Я,М),,1 = 1,ИВР1,М = 1,ИР) 100 РОКМАТ( ~ / ~,15Х,13НВ1ЗР1.АСЕМЕИТБ) 110 РОКМАТ(110„2Р15.4) С С Вычисление усилий и элементе С 00 200 ИС = 1,ИЕ КЕЛВ(ИТ4) И,((В(1,1),1 = 1,6),1 = 1,3) 00 260 1 = 1,ИСИ М.