Решение двумерной задачи теплопроводности методом конечных элементов в mathcad. Методом конечных элементов в mathcad Метод конечных элементов mathcad момент инерции пространственная

А.В. Игнатьев, Н.А. Михайлова, Т.В. Ерещенко МЕТОД КОНЕЧНЫХ ЭЛЕМЕНТОВ И ЕГО РЕАЛИЗАЦИЯ В СРЕДЕ MATHCAD Лабораторный практикум по дисциплине «Аналитические и численные методы решения уравнений математической физики» Волгоград 2010 Министерство образования и науки Российской Федерации Волгоградский государственный архитектурно-строительный университет Кафедра прикладной математики и вычислительной техники А.В. Игнатьев, Н.А. Михайлова, Т.В. Ерещенко МЕТОД КОНЕЧНЫХ ЭЛЕМЕНТОВ И ЕГО РЕАЛИЗАЦИЯ В СРЕДЕ MATHCAD Лабораторный практикум по дисциплине «Аналитические и численные методы решения уравнений математической физики» Волгоград 2010 УДК 624.04:004.92(076.5) ББК 38.112я73+32.973-018.2я73 И 266 Р е ц е н з е н т ы: кандидат технических наук М.М. Степанов, профессор кафедры прикладной математики и вычислительной техники ВолгГАСУ; доктор технических наук Н.Г. Бандурин, профессор кафедры строительной механики ВолгГАСУ Утверждено редакционно-издательским советом университета в качестве учебно-практического пособия Игнатьев А.В. И 266 Метод конечных элементов и его реализация в среде Mathcad: лабораторный практикум по дисциплине «Аналитические и численные методы решения уравнений математической физики» / А.В. Игнатьев, Н.А. Михайлова, Т.В. Ерещенко; Волгогр. гос. архит.строит. ун-т. Волгоград: ВолгГАСУ, 2010. 31 с. ISBN 978-5-98276-372-3 Содержатся краткие теоретические сведения, необходимые для выполнения лабораторной работы по дисциплине «Аналитические и численные методы решения уравнений математической физики», приведены варианты индивидуальных заданий, примеры выполнения заданий лабораторной работы, а также сформулированы контрольные вопросы по изучаемой теме. Для магистров специальности АД, СМ и ВиВ дневной формы обучения. УДК 624.04:004.92(076.5) ББК 38.112я73+32.973-018.2я73 ISBN 978-5-98276-372-3 Государственное образовательное учреждение высшего профессионального образования «Волгоградский государственный архитектурно-строительный университет», 2010 2 Лабораторная работа. МЕТОД КОНЕЧНЫХ ЭЛЕМЕНТОВ И ЕГО РЕАЛИЗАЦИЯ В СИСТЕМЕ MATHCAD Цель работы: изучить метод конечных элементов и получить навыки его реализации в системе Mathcad. Основные понятия и концепция МКЭ Основная идея метода Основная идея метода состоит в представлении рассчитываемой конструкции в виде совокупности элементов простой формы, соединенных между собой в отдельных точках. По сути дела, сплошная среда с бесконечным числом степеней свободы заменяется набором подобластей, имеющих конечное число степеней свободы. При таком подходе искомые непрерывные величины (перемещения, напряжения, деформации и т. д.) внутри каждого конечного элемента (КЭ) выражаются с помощью аппроксимирующих функций через узловые значения этих величин. Распределенные внешние нагрузки заменяются эквивалентными узловыми силами. В математическом плане задача состоит в приведении дифференциальных уравнений или энергетического функционала, описывающих рассматриваемую конструкцию, к системе алгебраических уравнений, решение которой дает значения искомых узловых неизвестных. Метод конечных элементов имеет очень широкое распространение в практике расчетов на прочность, устойчивость и колебания строительных, машиностроительных, авиационных конструкций. С помощью МКЭ можно успешно выполнить анализ широкого класса стержневых систем (фермы, рамы и т. д.), тонкостенных пространственных конструкций (плиты перекрытий, оболочки покрытий и т. д.), массивных трехмерных тел, а также комбинированных систем, состоящих из одномерных, двумерных и трехмерных элементов. МКЭ отличает широкая область применимости, инвариантность по отношению к геометрии конструкции и физическим характеристикам материалов, относительная простота учета взаимодействия конструкций с окружающей средой (механические, температурные, коррозионные воздействия, граничные условия и т. д.), высокая степень приспособляемости к автоматизации всех этапов расчета. Метод имеет простую физическую интерпретацию и тесно связан с методом перемещений, который широко используется в строительной механике. 3 На базе конечно-элементного подхода разработано большое количество мощных программных комплексов. Среди них можно отметить такие, как ABAQUS, ADINA, ANSYS, COSMOS/М, MSC/NASTRAN, ЛИРА, SCAD, STARK, СТАДИО. Большинство из них имеет обширную библиотеку конечных элементов и дает возможность выполнять расчеты на прочность, устойчивость и колебания, учитывать физическую и геометрическую нелинейности, ортотропию материала, температурные нагрузки и т. д. Представленный выше перечень программных продуктов, реализующих МКЭ, является далеко не полным и лишь отражает ситуацию в данной области в настоящий момент. Несомненно, МКЭ имеет существенные преимущества по сравнению с другими подходами и в значительной степени универсален. Вместе с тем его следует рассматривать как одну из многочисленных ступеней развития средств численного исследования при проектировании. Общая схема алгоритма МКЭ Метод конечных элементов предусматривает следующие основные этапы: 1. Идеализация физической системы. Под идеализацией понимают процесс перехода от исходной физической системы к математической модели. Этот процесс является наиболее важным шагом при решении технической или инженерной задачи. Ключевым пунктом в этом процессе является понятие модели, которую можно определить как символическое устройство, построенное для моделирования и предсказания поведения системы. Математическое моделирование, или идеализация, есть процесс, с помощью которого инженер переходит от реальной физической системы к математической модели системы. Данный процесс называется идеализацией, поскольку математическую модель необходимо абстрагировать от физической реальности. В качестве примера реальной физической системы рассмотрим инженерную конструкцию в виде плоской пластины, нагруженную поперечными силами. Математические модели данной системы, которые инженер может использовать для анализа напряжений в пластине, могут быть следующими: 1) модель очень тонкой пластины, основанная на теории изгиба мембран; 4 2) модель тонкой пластины, основанная на классической теории Кирхгоффа; 3) модель достаточно толстой пластины, основанная, например, на теории Миндлина-Рейсснера; 4) модель очень толстой пластины, основанная на трехмерной теории упругости. Очевидно, инженер должен обладать достаточными теоретическими знаниями, чтобы правильно выбрать соответствующую математическую модель системы (конструкции), которую ему необходимо исследовать. 2. Дискретизация рассматриваемой области. Рассчитываемая конструкция разбивается воображаемыми точками, линиями или поверхностями на элементы конечных размеров (конечные элементы). Предполагается, что элементы связаны между собой в узловых точках, расположенных на их границах. В некоторых задачах строительной механики в качестве искомых неизвестных помимо узловых перемещений принимаются также их частные производные. 3. Построение интерполирующих функций. Выбирается система функций (чаще всего кусочно-полиномиальная), однозначно определяющая перемещения внутри каждого конечного элемента через перемещения узловых точек. Интерполирующие функции подбираются таким образом, чтобы обеспечить непрерывность искомых величин (перемещений и их производных) вдоль границ элемента. 4. Вывод основных геометрических и физических соотношений. На основе выбранной системы интерполирующих функций выводятся зависимости между деформациями и перемещениями (геометрические соотношения), а также между напряжениями и деформациями (физические соотношения). 5. Построение матрицы жесткости конечного элемента. С помощью принципа Лагранжа на основе полученных геометрических и физических соотношений строится матрица жесткости конечного элемента. 6. Получение системы уравнений метода конечных элементов. Каждая матрица жесткости отдельного конечного элемента включается в глобальную матрицу жесткости в цикле по элементам. Таким образом формируется система алгебраических уравнений всей конструкции (уравнения равновесия), которая имеет вид Kz = P , 5 где K - матрица жесткости системы (ансамбля) конечных элементов; z - вектор неизвестных узловых перемещений; Р - вектор узловых нагрузок. В матрице жесткости K, записанной выше системы уравнений, необходимо учесть граничные условия, так как в противном случае эта матрица будет вырожденной. 7. Решение системы алгебраических уравнений. Для решения системы линейных алгебраических уравнений (СЛАУ) используются как точные, так и (при высоком порядке системы) итерационные методы. Построенные на их основе эффективные численные процедуры учитывают симметрию и ленточную структуру матрицы жесткости системы. 8. Определение деформаций и напряжений. Деформации, напряжения и усилия в конструкции определяются с помощью найденных узловых перемещений на основе геометрических и физических соотношений. Рассмотрим некоторые из этих этапов более подробно. Дискретизация рассматриваемой области Разбиение конструкции на конечные элементы - это весьма важный шаг в процедуре решения задачи по МКЭ, поскольку от него во многом зависит точность получаемого решения. Успех на этом этапе обеспечивают, в первую очередь, имеющиеся инженерные навыки. Неудачно выполненное разбиение области на конечные элементы может привести к ошибочным результатам. При назначении сетки КЭ возникает задача оптимального разбиения конструкции на подобласти. При этом следует иметь в виду, что размеры элементов должны быть достаточно малыми для того, чтобы обеспечить приемлемую точность решения, с другой стороны, использование густой сетки приводит к большим системам алгебраических уравнений, решение которых связано со значительным объемом вычислительной работы. В процессе разбиения области на конечные элементы необходимо учитывать некоторые общие представления об окончательных результатах расчета для того, чтобы уменьшить размеры конечных элементов в зонах концентрации напряжений, где искомые величины быстро меняются, и увеличить размеры КЭ там, где искомые величины меняются медленно. Важным моментом в процессе решения задачи по МКЭ является нумерация узлов сетки, поскольку от этого зависит ширина ленты 6 матрицы разрешающих уравнений, соответственно время счета и объем используемой памяти ЭВМ. В настоящее время разработаны сервисные программы автоматизированной разбивки конструкции на конечные элементы и рациональной нумерации узлов. Построение интерполирующих функций МКЭ основан на аппроксимации непрерывной функции, определенной на всей области, дискретной моделью с помощью кусочно-непрерывных функций, определенных на подобластях (конечных элементах). Запишем перемещения, являющиеся функциями координат произвольной точки конечного элемента, через компоненты вектора узловых перемещений с помощью интерполирующей функции (функции формы или базисной функции): u = Nz , (1) где N = [ N1 N 2 … N s ] - матрица функции формы; z = { z1 z2 … zs } - вектор узловых перемещений конечного элемента (КЭ); s - количество степеней свободы КЭ. Функции (1) должны удовлетворять критериям полноты и совместности. Рассмотрим их. 1. Критерий полноты. Интерполирующая функция должна обеспечивать постоянные значения рассматриваемых величин при уменьшении размеров элемента. Для выполнения этого условия интерполирующая функция должна представлять собой полный полином как минимум степени р, где р - наивысший порядок производной, входящей в функционал. T Условие полноты удовлетворяется в том случае, когда s ∑ Ni = 1 . i =1 2. Критерий совместности. Интерполирующая функция должна быть непрерывна вместе со своими производными до (n – 1)-гo порядка включительно (где n - максимальный порядок производной в подынтегральном выражении функционала энергии) на границе между элементами. Критерии полноты и совместности представляют собой достаточные условия сходимости метода конечных элементов. При их выполнении с уменьшением размеров конечного элемента приближенные 7 решения МКЭ монотонно сходятся к точному решению. Сказанное отнюдь не означает, что нарушение данных критериев приводит к невозможности получения достоверного решения. Существуют несовместные и даже неполные элементы, которые дают высокую точность и быструю сходимость. Вывод основных геометрических и физических соотношений В общем виде зависимость между деформациями и перемещениями (геометрические соотношения) записывается так: ε = Bz , (2) где ε - вектор деформаций; z - вектор узловых перемещений; В - матрица, связывающая вектор узловых перемещений с вектором, содержащим компоненты тензора деформации. Таким образом, полагается, что зависимость (2) между деформациями и узловыми перемещениями носит линейный характер. Линейной зависимости отвечают такие условия работы конструкции, когда деформации и углы поворота малы по сравнению с единицей, а квадраты углов поворота малы по сравнению с соответствующими компонентами деформации. Физические соотношения, определяющие зависимость между напряжениями и деформациями, имеют вид σ = Dε, (3) где σ - вектор, содержащий компоненты тензора напряжений; D - матрица упругости. Уравнения состояния (3) представляют собой обобщенный закон Гука, устанавливающий прямо пропорциональную зависимость между напряжениями и деформациями, справедливый для определенного класса материалов на определенном участке графика σ − ε . Построение матрицы жесткости конечного элемента Решение задач расчета конструкций базируется на двух основных подходах. В первом случае решаются дифференциальные уравнения с заданными граничными условиями. Во втором случае записывается условие стационарности интегральной величины, связанной с работой напряжений и внешней приложенной нагрузки и представляющей собой полную потенциальную энергию системы. Для расчета конструкций в рамках МКЭ используется второй подход. Как известно, полная потенциальная энергия упругой системы определяется по формуле 8 Π (z) = W (z) − A(z) , где W - потенциальная энергия деформации; А - потенциал внешних сил. Потенциальная энергия деформации упругой системы определяется соотношением W= 1 T ∫ ε σ dV , 2V где V - объем, занимаемый телом, а потенциал внешних распределенных нагрузок определяется по формуле A = ∫ uT p dS , S где р - вектор внешних распределенных нагрузок; S - площадь, на которой приложена нагрузка. При этом деформации и напряжения, входящие в формулу для потенциальной энергии, выражаются через узловые перемещения. Получение уравнений МКЭ в перемещениях основано на одном из фундаментальных энергетических принципов механики - принципе Лагранжа, согласно которому для системы, находящейся в состоянии равновесия, полная потенциальная энергия принимает стационарное значение. Это условие записывается в виде ∂Π = 0. ∂z Будем считать, что значение полной потенциальной энергии для всей области V равно сумме энергий отдельных конечных элементов: m () m (() ()) Π (z) = ∑ Π z = ∑ W i z i − Ai z i , i =1 i i i =1 (4) где m - количество конечных элементов. Тогда ∂Π m ⎛ ∂W i (z) ∂Ai (z) ⎞ = ∑⎜ − ⎟ = 0. ∂z i =1 ⎝ ∂z ∂z ⎠ (5) Рассмотрим отдельный конечный элемент, индекс i при этом опускаем: 9 1 T 1 T (Bz)T DBz dV − ∫ (Nz)T p dS = ε σ dV − u p dS = ∫ ∫ ∫ 2V 2V S S 1 1 = zT (∫ BT DBz dV) z − zT ∫ N T p dS = zT Kz − zT P, (6) 2 2 S Π(z) = где K = ∫ BT DB dV - матрица жесткости конечного элемента, а (7) V T P = ∫ N p dS - вектор узловых нагрузок. (8) S Получение системы уравнений метода конечных элементов Для выполнения операции суммирования необходимо преобразовать векторы узловых перемещений z(i) и узловой нагрузки P(i) для отдельного конечного элемента в соответствующие векторы z и Р для всей системы, что может быть сделано с помощью некоторой булевой матрицы H(i), содержащей в качестве элементов только нули и единицы: z (i) = H (i) z; P (i) = H (i) P. (9) Подстановка формул (9) в выражение для полной потенциальной энергии конечного элемента (6) дает: () () T 1 (i) T (i) (i) H z K H z − H (i) z H (i) P = 2 T T 1 = zT H (i) K (i) H (i) z − zT H (i) H (i) P. 2 Тогда дифференцирование по z, в соответствии с формулой (5), приводит к системе уравнений: Π (i) = m ∑ i =1 (T T) H (i) K (i) H (i) z − H (i) H (i) P = 0 , (10) где использовано правило дифференцирования матричных соотношений ∂ T z Kz = 2 Kz . ∂z Система (10), которую можно записать в виде () Kz = P , (11) 10 представляет собой систему линейных алгебраических уравнений метода конечных элементов, являющихся уравнениями равновесия в перемещениях. Как правило, решение системы (11) выполняется методом Гаусса или итерационными методами. (i)T Матрица жесткости отдельного элемента H K (i) H (i) , фигурирующая в формуле (10), представляет собой расширенную матрицу, размерность которой равна размерности глобальной матрицы. Поэтому использование процедуры суммирования в формуле (10) при численной реализации МКЭ неэффективно. В практических расчетах выполняется прямое построение глобальной матрицы жесткости. В этом случае строится матрица K для отдельного конечного элемента по формуле (7), имеющая размерность S×S. Затем строкам и столбцам этой матрицы приписываются номера глобальных степеней свободы, что позволяет определить местоположение коэффициентов матрицы жесткости КЭ в глобальной матрице жесткости. После этого в предварительно обнуленную глобальную матрицу заносятся коэффициенты матрицы жесткости КЭ на то место, которое определено их адресом. Пусть, например, система состоит из двух КЭ, содержащих по два узла, в каждом из которых имеется одно неизвестное (одна степень свободы). Общее количество узлов системы - 3, размерность глобальной матрицы 3×3, элементы соединены между собой во 2-м узле. Матрицы жесткости 1-го и 2-го КЭ, с соответствующей нумерацией коэффициентов, и глобальная матрица имеют вид K (1) = 1 ⎡ k11 ⎢ 1 ⎣⎢ k21 1 ⎤ k12 ⎥; 1 k22 ⎦⎥ K (2) = 2 ⎡ k22 ⎢ 2 ⎢⎣ k32 1 1 ⎡ k11 k12 2 ⎤ ⎢ 1 k23 1 2 = ; K ⎥ ⎢ k21 k22 + k22 2 k33 ⎥⎦ ⎢ 2 k32 ⎢⎣ 0 0 ⎤ ⎥ 2 k23 ⎥. 2 ⎥ k33 ⎥⎦ В матрице K системы уравнений (11) необходимо учесть граничные условия, в противном случае она будет вырожденной, т. е. ее определитель будет равен нулю. Учет граничных условий может быть осуществлен тремя различными способами 1. Из матрицы K удаляются k-я строка и k-й столбец, соответствующие перемещению zk = 0 . После этого строки и столбцы матрицы 11 перенумеровываются. Соответственно уменьшается размерность вектора узловых перемещений. 2. Уравнение zk = 0 , соответствующее граничному условию, формируется в составе матрицы K. Для получения zk = 0 в матрице K k-я строка и k-й столбец, а также соответствующий элемент в векторе внешних нагрузок P заполняются нулями. На место диагонального элемента rrr в матрице K ставится единица. В результате порядок матрицы не изменяется, а заданные перемещения получают нулевые значения. 3. Для получения zk = 0 диагональный элемент rrr умножается на большое число. Порядок матрицы при этом не меняется. Определение деформаций и напряжений В результате решения системы уравнений (11) определяется вектор узловых перемещений всей конструкции. На основе найденных значений узловых перемещений по формуле (2) определяется вектор деформаций КЭ, а по формуле (3) - вектор напряжений. Двумерный симплекс-элемент Классификация конечных элементов может быть проведена в соответствии с порядком многочленов - функций этих элементов. При этом рассматриваются три группы элементов: 1) симплекс-элементы; 2) комплекс-элементы; 3) мультиплекс-элементы. Симплекс-элементам соответствуют многочлены первой степени. Комплекс-элементам - многочлены более высокого порядка. В симплекс-элементе число узлов равно размерности пространства +1. В комплекс-элементе число узлов больше этой величины. Для мультиплекс-элементов также используются многочлены высокого порядка, но границы элементов при этом должны быть параллельны координатным осям. Рассмотрим формирование матрицы жесткости для двумерного симплекс-элемента. Двумерный симплекс-элемент представляет собой треугольник с узлами, расположенными в его вершинах (рис. 1). 12 Рис. 1. Двумерный симплекс-элемент Узлы КЭ нумеруются против часовой стрелки, начиная с некоторого произвольно выбранного i-го узла. Координаты i-гo, j-го и k-гo узлов по оси x обозначены через xi , x j , xk , по оси y - через yi , y j , yk . Каждый узел имеет две степени свободы - перемещение u вдоль оси x и перемещение v вдоль оси y. Интерполирующие функции, определяющие перемещение произвольной точки КЭ вдоль осей х и у, принимаются в виде u (x, y) = α 0 + α1 x + α 2 y; (12) v(x, y) = α3 + α 4 x + α5 y. Коэффициенты α 0 ,…, α5 определяются с помощью граничных условий: u = ui , v = vi при x = xi и y = yi ; u = u j , v = v j при x = x j и y = y j ; u = uk , v = vk при x = xk и y = yk . Определим коэффициенты α 0 , α1 , α 2 . Для этого подставим граничные условия для функции и в первое выражение (12), что приведет к системе уравнений: ui = α 0 + α1 xi + α 2 yi ; u j = α 0 + α1 x j + α 2 y j ; uk = α 0 + α1 xk + α 2 yk . 13 ⎡1 xi ⎢ Или ⎢1 x j ⎢1 x k ⎣ yi ⎤ ⎧α 0 ⎫ ⎧ ui ⎫ ⎥⎪ ⎪ ⎪ ⎪ y j ⎥ ⎨ α1 ⎬ = ⎨u j ⎬ . ⎪ ⎪ ⎪ ⎪ yk ⎥⎦ ⎩α 2 ⎭ ⎩uk ⎭ (13) Определитель системы (13) равен удвоенной площади F треугольного элемента: 1 xi 1 xj yi y j = 2F . 1 xk yk (14) Тогда по правилу Крамера α0 = ui uj xi xj yi yj uk xk yk 1 xi 1 xj yi yj 1 xk yk = ui uj xi xj yi yj uk xk yk 2F или 1 ⎡ ui x j yk − x k y j − u j (xi yk − x k yi) − uk xi y j − x j yi ⎤ . ⎣ ⎦ 2F Аналогично определяются коэффициенты α1 и α 2 . После подстановки выражений для α0 , α1 , α 2 в первую формулу (12) имеем 1 ⎡ u(x, y) = (ai + bi x + c i y) ui + a j + bj x + c j y u j + 2F ⎣ + (ak + bk x + c k y) uk ⎤⎦ , (15) α0 = () (()) где ai = x j yk − x k y j ; bi = y j − yk ; ci = xk − x j . (16) Остальные коэффициенты в (15) получаются по формулам (16) циклической перестановкой индексов (индекс i заменяется на индекс j, индекс j - на индекс k, индекс k - на индекс i). Аналогично: v(x, y) = 1 ⎡ (ai + bi x + c i y) vi + a j + bj x + c j y v j + 2F ⎣ + (ak + bk x + c k y) vk ⎤⎦ . () 14 (17) Тогда в матричном виде ⎡ Ni ⎧u ⎫ u = ⎨ ⎬ = Nz = ⎢ ⎩v ⎭ ⎢⎣ 0 0 Nj 0 Nk Ni 0 Nj 0 ⎧ ui ⎫ ⎪v ⎪ ⎪ i⎪ 0 ⎤ ⎪⎪u j ⎪⎪ ⎥ ⎨ ⎬, N k ⎥⎦ ⎪ v j ⎪ ⎪u ⎪ ⎪ k⎪ ⎩⎪ vk ⎭⎪ 1 1 a j + bj x + c j y ; (ai + bi x + c i y) ; N j = 2F 2F (18) 1 Nk = (ak + bk x + c k y). 2F Геометрические соотношения, связывающие деформации и перемещения в рамках плоской задачи теории упругости, записываются с использованием формул (15), (17) следующим образом: (где Ni =) ∂u 1 ∂v 1 bi ui + b j u j + bk uk ; ε y = ci vi + c j v j + ck vk ; = = ∂x 2 F ∂y 2 F ∂u ∂v 1 ci ui + c j u j + ck uk + bi vi + b j v j + bk vk γ xy = + = ∂y ∂x 2 F или в матричном виде: εx = () ((⎧ε ⎫ ⎡bi x ⎪ ⎪ 1 ⎢ ε = ⎨ εy ⎬ = ⎢0 ⎪ ⎪ 2F ⎢ ⎩ γ xy ⎭ ⎣ci ⎡bi 1 ⎢ где B = ⎢0 2F ⎢ ⎣ci)) 0 bj 0 bk ci 0 cj 0 bi cj bj ck 0 bj 0 bk ci 0 cj 0 bi cj bj ck ⎧ ui ⎫ ⎪v ⎪ 0 ⎤⎪ i ⎪ ⎥ ⎪⎪u j ⎪⎪ ck ⎥ ⎨ ⎬ = Bz , ⎥ ⎪v j ⎪ bk ⎦ ⎪ ⎪ u ⎪ k⎪ ⎩⎪ vk ⎭⎪ 0⎤ ⎥ ck ⎥ - матрица градиентов. ⎥ bk ⎦ 15 (19) Величина удвоенной площади конечного элемента 2F в выражении (19) подсчитывается по формуле (14). Физические соотношения, определяющие зависимость между напряжениями и деформациями в плоской задаче теории упругости, записываются в виде σ = Dε , ⎡ ⎤ ⎢ 1 ν1 0 ⎥ ⎥ E1 ⎢ где D = 1 0 ν 1 ⎥ - матрица упругости. 2 ⎢ 1 − ν1 ⎢ 1 − ν1 ⎥ ⎢0 0 ⎥ 2 ⎦ ⎣ (20) В случае плоской деформации (ε z = 0) в формуле (20) следует принять E1 = E ν ; ν = , 1 1− ν 1 − ν12 (21) а для обобщенного плоского напряженного состояния (σ z = 0) E1 = E ; ν1 = ν. (22) Формулы (21) и (22) соответствуют изотропному материалу с модулем упругости Е и коэффициентом Пуассона ν . Не представляет большого труда построить матрицы упругости для ортотропного материала, когда жесткостные характеристики различны в двух взаимно перпендикулярных направлениях. Поскольку матрицы В и D содержат только константы, объемный интеграл, определяющий матрицу жесткости элемента в формуле (7), легко вычисляется: K = ∫ BT DB dV = BT DB ∫ dV V (23) V или K = BT DB tF . (24) В формуле (24) t - толщина элемента; F - площадь элемента. Обычно матрица жесткости (24) определяется численно. Для этого вначале находятся численные значения коэффициентов мат16 риц В и D, а затем выполняется перемножение в соответствии с выражением (23) или (24). ПРИМЕР ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ Перед выполнением лабораторной работы еще раз напомним основные этапы метода МКЭ: 1. Упругое тело разбивается на элементы. Объемное тело на тетраэдры или параллелепипеды. Плоское тело - на треугольники и прямоугольники. 2. Для каждого элемента составляется матрица жесткости с использованием функции формы. Функция формы представляет собой способ аппроксимации неизвестной функции перемещений. 3. Матрицы жесткости элементов объединяются в единую матрицу жесткости для всего тела. 4. Решая систему уравнений, находят узловые перемещения. 5. С помощью уравнений теории упругости определяются деформации и напряжения в узловых точках тела. В приведенном примере решается плоская задача теории упругости. Кольцо, нагруженное двумя силами (рис. 2, в), имеет две оси симметрии, поэтому для повышения точности расчета рассмотрим одну четвертую часть кольца (рис. 3). На осях симметрии должны выполняться граничные условия равенства нулю перемещений, перпендикулярных осям симметрии. Рассматриваемую четверть кольца разбиваем на треугольные конечные элементы (см. рис. 2, б). Треугольный элемент имеет 6 степеней свободы (независимых узловых перемещений). Нумерация узловых перемещений в элементе начинается в нижнем левом узле треугольника и продолжается против часовой стрелки. Горизонтальные перемещения - нечетные, вертикальные - четные. Нумерация узлов всего тела и конечных элементов - по столбцам сверху вниз, слева направо. Размеры элементов могут быть разными (чем меньше элемент, тем выше точность расчетов). В нашем примере всего 66 узлов и 100 конечных элементов. Положение рассчитанных узлов показано на рис. 3, б. Расчет координат узлов приведен на рис. 4. Ввод координат узлов - это кропотливый труд, и при большом количестве узлов лучше автоматизировать эту работу. 17 а б в Рис. 2. Схема нагружения и треугольный конечный элемент а б Рис. 3. Расчетная схема и координаты узлов На рис. 4 приводится расчет полярных координат узлов и их преобразование в прямоугольные (декартовы) координаты. Здесь r1 и r2 - наружный и внутренний радиусы кольца; t - толщина кольца; φ1 и φ2 - начальное и конечное значения угловой координаты; X0 и Y0 - декартовы координаты полюса (начала полярных координат); nr и nφ - число узлов в столбце (вдоль радиуса) и в ряду (по углу охвата рассматриваемой части тела). Результаты расчетов координат узлов приведены на графике (рис. 5). 18 Рис. 4. Расчет координат узлов элементов Рис. 5. Сетка узлов 19 Кропотливой и трудоемкой является также задача составления матрицы индексов. На рис. 6 приведена используемая в примере программа составления матрицы индексов. Здесь же приведен автоматический расчет граничных условий и, в зависимости от числа узлов, номеров перемещений, в которых перемещение на осях симметрии равно нулю. Автоматизация расчетов координат узлов, матрицы индексов и граничных условий позволяет для данной схемы менять количество узлов (рис. 7). Рис. 6. Программа расчета матрицы индексов 20 Рис. 7. Матрица индексов, координаты узлов, номера и заданные перемещения Координаты узлов, матрицу индексов и граничные условия можно записать в отдельные файлы, как это показано на рис. 8. В дальнейшем эти файлы можно считать с помощью функции READPRN и использовать в другом документе. 21 Рис. 8. Запись координат, матрицы индексов и граничных условий во внешние файлы Данный расчет проведен с учетом размерностей (рис. 4). Учет размерностей вносит дополнительные трудности в достаточно сложный расчет, особенно при вводе матриц от размерных величин (рис. 9). Рис. 9. Вектор сил и матрица индексов перемещений 22 У каждого треугольного элемента 3 узла и 6 узловых перемещений. Матрица индексов перемещений (матрица связи глобальных номеров узловых перемещений тела с локальными номерами узловых перемещений элементов) получена путем удвоения матрицы MIU. Матрица жесткости элемента рассчитывается по формуле K = ∫ BT DB dV = BT DB ∫ dV . V (23) V Здесь B = ∂T N , где D - матрица внутренней жесткости, содержащая упругие постоянные материала E , ν ; ∂ - матричный дифференциальный оператор, означающий определенную последовательность присвоения знака дифференцирования; N - матрица функций формы. Для треугольного элемента функция формы - уравнение плоскости, определяемое выражениями (18). Как было показано выше (см. выражение (19)), матрица B = ∂T N содержит константы, которые зависят только от координат узлов. Приведем расчет коэффициентов для формирования матрицы жесткости элемента (рис. 10) и расчет площади элементов (рис. 11). Рис. 10. Расчет коэффициентов для формирования матрицы жесткости элемента 23 Рис. 11. Расчет площади элементов Матрица внутренней жесткости D приведена ниже (рис. 12) и записана в виде условного оператора: разные матрицы для плоского напряженного NDS = 0 и плоского деформированного состояния NDS = 1. Рис. 12. Формирование матрицы внутренней жесткости Для треугольного элемента интеграл по объему равен произведению подынтегрального выражения на объем. Формула (23) для расчета матрицы жесткости элемента приведена вверху. Матрица жесткости системы формируется с помощью матрицы индексов. 24 Учет граничных условий сопровождается перестройкой матрицы жесткости системы и вектора сил (рис. 13). Рис. 13. Формирование матрицы жесткости системы и учет граничных условий Узловые перемещения определяются путем обращения матрицы жесткости. Рис. 14. Определение перемещений узлов, деформаций и напряжений в центре элемента Согласно уравнениям теории упругости ε = ∂T u , где u - вектор перемещений. Согласно уравнениям связи узловых перемещений ∆ и перемещений u произвольной точки u = N ∆ . 25 () Отсюда деформация элемента ε = ∂T N ∆ . Из физических уравнений теории упругости (закон Гука) напряжения σ = Dε . Сложность расчета состоит в аккуратном использовании индексов элементов, узлов, столбцов, строк, присвоении индексам значений, взятых из матрицы индексов. Для треугольного элемента функция формы линейна, поэтому производные от функции формы, деформации и напряжения, найденные на рис. 14, постоянны во всей площади элемента. Напряжения в узлах тела определяются как среднее арифметическое напряжений или деформаций во всех элементах, сходящихся в узле. Расчет напряжений и деформаций в узлах тела приведен на рис. 15. Рис. 15. Определение перемещений узлов тела, напряжений и деформаций в центре каждого элемента 26 На рис. 15 показано определение 4-го значения деформации и напряжения в каждом элементе, не учитываемых в матрице внутренней жесткости D. Работая с документом Mathcad, если мы опустим выражение NDS: = 1 ниже выражения NDS: = 0, то мы можем увидеть результаты расчета уже не при плоском напряженном состоянии, а при плоской деформации. Результаты расчета приведены на рис. 16. Рис. 16. Результаты расчета 27 Задание к лабораторной работе Решить методом конечных элементов (МКЭ) плоскую задачу теории упругости. Кольцо, нагруженное двумя силами (рис. 3, б), имеет две оси симметрии, поэтому для повышения точности расчета необходимо рассмотреть одну четвертую часть кольца. При помощи подходящей сетки она разделяется на систему треугольных конечных элементов. Число узлов вдоль радиуса nr и число узлов по углу охвата рассматриваемой части тела nφ выбираются из таблицы индивидуальных заданий в соответствии с вариантом. Определить деформации и напряжения при плоском напряженном состоянии и при плоском деформированном состоянии. Варианты индивидуальных заданий № Число узлов вари- вдоль радиуанта са, nr 1 8 2 9 3 10 4 11 5 12 6 13 7 8 8 9 9 10 10 11 11 12 12 13 13 8 14 9 15 10 Число узлов по углу охвата, nφ 4 5 6 7 8 9 5 6 7 8 9 4 6 7 8 № варианта 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Число узлов вдоль радиуса, nr 11 12 13 9 10 11 12 13 10 11 12 13 11 12 13 Число узлов по углу охвата, nφ 9 4 5 6 4 8 9 7 5 6 7 6 4 5 6 Содержание отчета В рабочем каталоге студента должны быть созданы два файла, содержащие отлаженные документы в системе Mathcad, соответствующие расчетам при плоском напряженном состоянии и при плоском деформированном состоянии. 28 Отчет по лабораторной работе должен содержать: 1) название лабораторной работы; 2) цель лабораторной работы; 3) задание; 4) скопированные с экрана монитора отлаженные документы выполнения задания. Контрольные вопросы 1. Для чего предназначен метод конечных элементов? 2. Привести общую схему расчета по методу конечных элементов. 3. Что такое идеализированная конструкция? 4. Из какой системы линейных алгебраических уравнений определяются перемещения узлов? 5. Как определяется вид аппроксимирующего полинома? 6. Какие функции называются базисными функциями? 7. Как определяются функции формы? 8. Как определяются функции перемещений? 9. Как определяются функции деформаций? 10. Как определяются напряжения? 11. Какой принцип используется для определения обобщенных сил? 12. Как определяется матрица жесткости элемента? 13. Как составляется матрица жесткости системы? 14. От учета каких воздействий получаются свободные члены системы канонических уравнений? 15. Чем могут быть вызваны предварительные деформации? 16. Чем могут быть вызваны предварительные напряжения? 17. Как определяются реактивные усилия вследствие отдельных воздействий? 18. Как в системе Mathcad производится расчет координат узлов сетки? 29 Библиографический список 1. Дарков В.А. Строительная механика: учеб. для строит. спец. вузов / В.А. Дарков, Н.Н. Шапошников. Изд. 8-е, перераб. и доп. М. : Высш. шк., 1986. 607 с. 2. Макаров Е.Г. Инженерные расчеты в Mathcad 14: учебный курс. СПб. : Питер, 2007. 592 с. 3. Трушин С.И. Метод конечных элементов. Теория и задачи: учебное пособие. М. : Изд-во АСВ, 2008. 256 с. 4. Хечумов Р.А. Применение метода конечных элементов к расчету конструкций / Р.А. Хечумов, Х. Кепплер, В.И. Прокопьев. М. : Изд-во АСВ, 1994. 353 с. 30 Учебное издание Игнатьев Александр Владимирович, Михайлова Наталия Анатольевна, Ерещенко Татьяна Владимировна МЕТОД КОНЕЧНЫХ ЭЛЕМЕНТОВ И ЕГО РЕАЛИЗАЦИЯ В СРЕДЕ MATHCAD Лабораторный практикум по дисциплине «Аналитические и численные методы решения уравнений математической физики» Зав. РИО О.Е. Горячева Зав. редакцией М.Л. Песчаная Редактор О.А. Шипунова Компьютерная правка и верстка Н.А. Дерина Подписано в печать 30.06.10. Формат 60х84/16. Бумага офсетная. Печать трафаретная. Гарнитура Таймс. Усл. печ. л. 1,9. Уч.-изд. л. 1,7. Тираж 100 экз. Заказ № 70 Государственное образовательное учреждение высшего профессионального образования «Волгоградский государственный архитектурно-строительный университет» Редакционно-издательский отдел Сектор оперативной полиграфии ЦИТ 400074, Волгоград, ул. Академическая, 1 31

Я уже давно использую Mathcad в расчетах, наверное, лет 15, если не больше. Работал в разных версиях Mathcad (2, 5, 6, 7, 8 … 15), то есть практически во всех версиях. Вначале с трудом осваивал, затем с восхищением использовал в расчетах (учебных и научно-исследовательских).

Семь лет назад стал бета-тестером фирмы Mathsoft (принимал участие в тестировании новых версий Mathcad ). Многократно выступал с предложениями по усовершенствованию пакета Mathcad , превращению его в мощное средство программирования и решения сложных расчетных задач. Получал от Mathsoft благодарности и стандартные ответы типаNous hardly thought on those questions (мы напряженно думаем над этими вопросами).

Фирма Mathsoft хоть что-то делала для совершенствования математического аппарата Mathcad . Несколько лет назад фирму Mathsoft купила фирма PTC , основной продукт которой пакет ProEngeneer – ProMechanica . Для них Mathcad побочный продукт. Специалисты, разрабатывавшие Mathcad , ушли. На мой взгляд, изменилась стратегия. Разработанный РТС новый вариант (не версия, а принципиально новый пакет) Mathcad Prime похож на мощный калькулятор с принципиально другим интерфейсом и, на мой взгляд, неудобный в работе (при решении достаточно сложных задач со сравнительно большой программой). К тому же Mathcad Prime пока ещё несовместим со старыми версиями (даже с mathcad 15) По просьбам пользователей РТС вернулась (на время) к старому направлению и выпустила Mathcad 15, являющийся математически 100% копией Mathcad 14. Всё. Приехали.

В каком же состоянии остался, брошенный хозяевами Mathcad ?

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

Основное препятствие на пути решения сложных универсальных программ отсутствие возможности выбора вариантов расчета . В Mathcad очень сложно обойти ненужный в данном варианте расчета оператор. Ну хотя бы позволили переход на метку, презираемый программистами, но нужный для расчетчиков. (Обойти отдельный оператор можно с помощью оператора ON ERROR).

Что касается метода конечных элементов, то тут я полностью согласен с фирмой РТС. Использование Mathcad для решения задач методом конечных элементов это, извините, “шизо”. Для этого существует много различных вычислительных комплексов, например, ANSYS или тот же ProEngeneer . Я использую Mathcad для решения задач МКЭ только для изучения алгоритма МКЭ. Фактически, выложенная для скачивания курсовая работа представляет собой действующую модель вычислительного комплекса в разрезе. В курсовой работе наглядно виден алгоритм МКЭ (в виде работающих формул). Изучение и запоминание этого алгоритма и есть цель курсовой работы по МКЭ, а вовсе не получение близких к достоверным результатов расчета.

Математическое ядро Mathcad несовершенно (и не совершенствуется вовсе) .
В результате при расчете курсовой работы, например, при корректировке размеров поперечных сечений, при изменении одного из размеров вдруг перестает решаться система уравнений (деление на ноль) или первая собственная частота вдруг оказывается комплексным числом. Небольшая корректировка того же размера и решение появляется вновь . При решении систем уравнений результат расчета иногда резко меняется при изменении значений начальных приближений, или при выборе другого метода расчета (в контекстном меню). Иногда удается повысить точность расчета, выбрав в менюИнструменты (
Tools ) -Опции (Worksheet Options ) TOL = 10 -8 вместо TOL = 10 -3 , но далеко не всегда это помогает правильно решить задачу

Здесь приводится изложение упрощенного алгоритма решения плоской задачи механики деформируемого твердого тела методом конечных элементов в пакете Mathcad, опубликованного в моей статье в журнале Exponenta.Pro (№3, 2003 г.), а также на форуме Exponenta.ru. Дату поста ставлю соответствующую.

Рассматривается простейший и в то же время наиболее распространенный вариант с разбиением области на треугольные элементы. (По ходу дела ориентировался на алгоритм, изложенный в книге Фадеев А.Б. Метод конечных элементов в геомеханике. - М.: Недра, 1987 ).


1. Подготовка исходных данных.

Поскольку необходимо задать информацию о каждом из элементов и узлов расчетной области, удобнее всего использовать для подготовки данных табличный редактор Excel, тем более что в Mathcad предусмотрена возможность импорта данных из файлов формата.prn. Создается в Excel два файла с таблицами, содержащими сведения об элементах и узлах. Структура таблиц и размерности величин в них приведены на рис. 1 и 2. В таблице данных об узлах имеются два столбца специальных переменных Рх и Ру , которым присваивается признак фиксации перемещения вдоль оси 0х или 0у соответственно (принимает значение 1, если задано нулевое перемещение и 0 – если перемещение неизвестно).

Рис. 1. Структура таблицы исходных данных с информацией об элементах.

Рис. 2. Структура таблицы исходных данных с информацией об узлах и заданных узловых силах и перемещениях.

Для сохранения таблиц в нужном формате, выбираем Файл->Сохранить как… , указываем в соответствующих полях имя файла и тип – Форматированный текст (разделитель – пробел) . После нажатия кнопки Сохранить , нажать в появившемся окне Да . Таким образом, получаем файлы с именами, например, EL_1.prn и KN_1.prn.

2. Загрузка данных в Mathcad. Подготовка переменных.

Для удобства нумерации элементов массивов далее в книге Mathcad индекс первых элементов в массивах устанавливается равным единице:

Для получения данных из файлов в Mathcad используется функция READPRN(“filename.prn”) (возможно указание полного пути к файлу, в противном случае используется текущая папка, путь к которой можно узнать с помощью функции CWD).

Предположим, ранее созданные файлы находятся в папке DATA на диске D: Присваивается их содержимое матрицам DEL и DKN:

Присвоим соответствующим переменным значения из матриц:

Для проверки правильности исходных данных и использования в дальнейшем расчете, необходимо сформировать вектор узловых сил с учетом действия массовых сил, вектор заданных перемещений, признаков фиксации перемещений и рассчитать площади элементов.

Площадь n–го элемента удобно задать в виде функции пользователя (в векторе V перечисляются глобальные номера узлов элемента):

Общая площадь расчетной области:

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

Узловые силы, перемещения и их признаки размещаются в векторах последовательными парами значений: на четных позициях вертикальные компоненты, на нечетных горизонтальные:

3. Расчет матрицы жесткости системы.

Матрица жесткости системы получается путем объединения матриц жесткости элементов [K] , которые, в свою очередь рассчитываются по следующему выражению

Где Delta - площадь элемента; [B] - матрица производных функций формы (функция влияния узлов), [D] - матрица связи напряжений и деформаций:

Площадь элемента вычисляется ранее заданной функцией пользователя A(n) . Матрицу [D] также удобно задать в виде функции пользователя; для условий плоской деформации она будет иметь вид

Матрица [B] связывает между собой перемещения узлов элемента с его деформацией:

(выражения для функций формы Nj , Nk получаются путем круговой подстановки индексов в порядке i , j , k ),

i, j, k - номера узлов элемента, xi,j,k , yi,j,k - координаты узлов.

После несложных преобразований матрицу [B] можно представить в виде

Матрицу [B] представим в виде функции пользователя, задав предварительно вспомогательную матрицу P , определяющую порядок перестановки индексов в функциях формы:

Матрица жесткости системы вычисляется в следующем программном блоке:

(объединение матриц жесткости элементов в МЖС производится по следующему правилу: член МЖС Kci,j является суммой членов Ki,j из матриц жесткости всех элементов, примыкающих к узлу с і-й степенью свободы).

4. Решение системы уравнений

После этого і-й столбец и і-я строка МЖС, а также і-й неизвестный член в векторе сил могут быть удалены. Для удаления строк и столбцов из МЖС используем субматрицы, заданные функциями пользователя; М11 - удаляет первую строку и столбец, Mnn - последние, МI-IV - промежуточные.

Таким образом, нужно решить систему линейных алгебраических уравнений (СЛАУ) . В данном случае возможности системы Mathcad позволяют сильно упростить задачу. Для этого предусмотрена функция lsolve(M,V) для нахождения вектора решения СЛАУ, коэффициенты которой содержатся в массиве М, а свободные члены – в векторе V.

Программный модуль слева возвращает «на места» в общем векторе заданные узловые перемещения, ранее из него удалённые. Второй блок создаёт два вектора с осевыми компонентами узловых перемещений.

5. Нахождение осевых деформаций и напряжений в элементах

Зная полученные узловые перемещения, можно рассчитать для каждого элемента деформации и напряжения по соотношениям, упомянутым в п.3 (сигма и эпсилон):

В каждом элементе также подсчитываются главные напряжения и угол между осью 0у и вектором максимального главного напряжения . Чтобы избежать деления на ноль в строке вычисления угла использовано условное выражение, которое в случае равенства нулю выражения в знаменателе дроби присваивает углу значение .
.

6. Сохранение результатов.

Расчет по вышеизложенной процедуре занимает довольно непродолжительное время (например, на ПК с процессором Pentium-IV-1300 MHz; 128 MB RAM время расчета для области из 119 элементов 95 узлов составляет ~3 сек.), тем не менее, желательно сохранить результаты для последующего анализа.

Для этого сформируем матрицы, характеризующие НДС и поле перемещений, записав в них также координаты центров элементов и узлов:

(для нахождения центров элементов использована функция mean(), возвращающая среднее значение элементов вектора)

Для записи данных в файл в Mathcad предусмотрена функция WRITEPRN(«filename.prn»); перед её использованием можно задать предварительно количество знаков после запятой переменной PRNPRECISION и ширину столбца в файле переменной PRNCOLWIDTH:


Рис. 3. Расчетная схема и её конечно-элементное представление.

В данном случае при разбиении на треугольные элементы получилась сеть из 95 узлов и 119 элементов. Нумерация – произвольная.

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


В силу симметрии граничные условия по перемещениям следующие: горизонтальные компоненты вдоль вертикальной (x=0 ) и вертикальные вдоль горизонтальной (y=0 ) сторон квадрата равны нулю. Неизвестны перемещения всех узловых точек внутри массива, на контуре выработки и на грани области.


Результаты расчета можно представлять в виде эпюр (рис. 4), изолиний напряжений или перемещений (рис. 5, а), поверхностей уровня (рис. 5, б). Сохранение и представление результатов расчета в виде векторов (матриц) позволяет сделать это без затруднений.

Рис. 4. Эпюры напряжений вдоль горизонтальной оси (для сглаживания значений значения напряжений приводятся к центрам прямоугольников, составленных из соседних треугольников).


Рис. 5. Примеры визуализации результатов расчета.

Литература:

  1. Фадеев А.Б. Метод конечных элементов в геомеханике. – М.: Недра, 1987. – 221с.
  2. Ержанов Ж.С., Каримбаев Т.Д. Метод конечных элементов в задачах механики горных пород. – Алма-Ата: Наука, 1975. – 239 с.
  3. Зинкевич О. Метод конечных элементов в технике: Пер. с англ. – М.: Мир, 1975. - 542 с.
  4. Норри Д., де Фриз Ж.. Введение в метод конечных элементов: Пер. с англ. – М.: Мир, 1981. – 304с.
  5. Carlos A. Felippa. Introduction to Finite Element Methods. – Department of Aerospace Engineering Sciences and Center for Aerospace Structures University of Colorado, Boulder. – 2001.
  6. Kyran D. Mish, Leonard R. Herrmann, LaDawn Haws. Finite Element Procedures in Applied Mechanics (попадалось где-то в инете).
  7. Зенкевич О., Морган К. Конечные элементы и аппроксимация. – М.: Мир, 1986. – 318 с.
  8. Зенкевич О., Чанг И. Метод конечных элементов теории сооружений и в механике сплошных сред. – М.: Недра, 1974. – 240 с.
Ссылки:
  • http://www.fea.ru/ ...Сайт FEA.RU посвящен актуальным проблемам конечно-элементной механики и компьютерного инжиниринга (CAE), МКЭ и расчётам на прочность;
  • http://www.cae.ru/ форум CAD и CAE-систем в том числе теоретические и прикладные аспекты КЭ моделирования и решения задач механики деформируемого твердого тела. Механика конструкций, машин, сооружений и установок;
  • - Мощный каталог ресурсов, касающихся МКЭ;
  • http://www.isib.cnr.it/~secchi/EdMultifield/ - Сайт программы для конечноэлементных расчетов с неплохим описанием метода.

Существует тьма программ, считающих по МКЭ. Не вдаваясь в подробности того, почему метод столь хорош и широко применим, заглянем в процесс расчета изнутри. Казалось бы все просто, почему бы не попробовать собрать свой велосипед, т.е. сделать свою программу. На первом этапе отлаживать, тестировать и настраивать расчет можно в MathCAD. Позже уже отлаженный алгоритм расчета для удобства ввода данных и анализа результатов можно будет переписать на C#, прикрутив немного графики.

С чего начинать. Так как моя глобальная задача - моделирование грунта, то и начинать расчеты буду с задач теории упругости.


Вот пример задачки, которую нужно разобрать. Упругие треугольные простейшие КЭ. Схема составлена и решена в программе FEMmodels 2.0 . Повторим это в MathCAD.

  1. Дискретизация области,
  2. т.е разбиение этой области на части, определение "узловых" точек. Из системы с безконечным числом степеней свободы составляем систему с конечным числом узлов и соответственно степеней свободы.
  3. Определение аппроксимирующих функций для элемента.
  4. Между узлами значения искомых функций (в нашем случае перемещения X и Y) изменяются по заданным нами законам, аппроксимирующим функциям.
  5. Составление уравнений, описывающих всю систему.
  6. В качестве неизвестных значения функций в узлах (в нашем случае получится система линейных уравнений СЛАУ).
  7. Решение уравнений
  8. и определение узловых значений и других неизвестных.

Я начну немного не с разбиения области, а со второго пункта - определения функций для конечного элемента. Простейший конечный элемент для расчета плоской задачи теории упругости - треугольник с линейной функцией аппроксимации:

Рис. 1. Аппроксимирующая функция и получение коэффициентов для неё.
Так как у нас две степени свободы в каждом узле (по X и по Y), добавляется ещё одна аналогичная функция.
Суть всех манипуляций - получение зависимости между перемещениями узлов элемента и возникающих в нем деформаций. Так как у нас 6 компонент перемещений и 3 деформаций, связь осуществляется через некоторую матрицу B размерностью 3х6 (матрица производных от функций форм). Это первая матрица для построения элемента.
Также нужна матрица, выражающая взаимосвязь деформаций и напряжений (матрица D). Для упругого тела эта зависимость является обобщенным законом Гука.

Ещё одно маленькое отступление от темы, матрица D для случая плоского напряженного состояния другого вида. Когда нужно рассчитать, например, основание насыпи под жд пути или основание протяженного здания, тогда можно считать плоскую задачу, поскольку деформации вдоль насыпи или здания можно принять нулевыми. Для получения D приравнивают e z =0. Если же считать стену здания, на которую деуствуют силы только в плоскости стены, тоже можно считать плоскую задачу, только там деформации из плоскости сечения будут, а напряжений нет, считаем sigma z =0.

Общая матрица элемента K e:=B T D B V

Не буду пересказывать математические основы этого вывода, расскажу краткий физический смысл.
Пример матрицы K e:

Число строк и столбцов соответствует числу степеней свободы. K i,j = усилию в направлении степени свободы j от приложения единичного перемещения по направлению степени свободы i. Тогда, например, для нашего элемента в качестве проверки можно сложить четные/нечетные элементы по какой либо строке или столбцу, по смыслу нашего элемента это будут реакции в закреплениях по Х или Y соответственно и их сумма естественно равна нулю. Матрица является вырожденной, по физ. смыслу это обозначает, что незакрепленный элемент имеет неопределенные усилия/реакции в узлах.

Дальше проще. Нужно собрать глобальную матрицу системы из отдельных элементов. По всем степеням свободы системы (строки и столбцы матрицы К) записываем соответствующие реакции от отдельных элементов. Дольше всего возился с этим преобразованием, а в результате вот такой простой алгоритм с 5 вложенными циклами:

Дальше еще проще, собираем вектора сил, для всех незакрепленных степеней свободы P , из К вычеркиваем строки и столбцы с закрепленными степенями свободы и получаем систему линейных уравнений: K * u = P; решаем u = K -1 P даже не особо задумываясь пока об неэкономичности этого метода в плане вычислительной мощности, ибо задача мала.

Самым неприятным моментом решения в маткаде осталось неудобство ввода исходных данных и анализ результатов. Однако все процедуры алгоритмизируются и, например, функция расстановки всех закреплений занимает 8 строчек, а в 11 строк составлется список из n x n x 2 элементов (242шт в примере).

Мои две следующие задачи: элементы с более сложной аппроксимацией, позволяющие уменьшить количество элементов и уточнить решение,и основное, нелинейные элементы. В этом случае матрица K будет зависима от пермещений и решение существенно усложняется. K(u)*u=P(u). В общем случае вектор внешних сил тоже зависит от перемещений u.

Источники знаний:
1. Лекции 2008г на кафедре ОиФ ПГУПС. Шашкин К.Г.
2. Сегерлинд "Применение метода конечных элементов" (1979)
3. А.Л. Розин