Применение MATLAB для решения задач строительной механики стержневых систем
Метод граничных элементов (МГЭ), его использование в пакете MATLAB. Процесс введения исходных матриц и вызов численных процедур. Реализация идей структурного программирования с целью уменьшения количества ошибок и повышения достоверности результатов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 03.09.2010 |
Размер файла | 70,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Применение MATLAB для решения задач строительной механики стержневых систем
Одной из наиболее значимых прикладных наук в механико-инженерном образовании является строительная механика, где рассматриваются вопросы расчета машиностроительных, судостроительных, авиационных, строительных и т. п. конструкций.
Объединение в одном пакете программирования и визуализации результатов расчетов позволяет существенно обогатить учебный процесс, повысить его методический уровень и наглядность теории, значительно уменьшить время на выполнение индивидуальных заданий и обеспечить глубокое овладение современными компьютерными технологиями.
По этим причинам внедрение MATLAB в учебный процесс является актуальной задачей высшей школы. Важным условием высокого научного уровня учебного процесса является также широкое использование современных достижений соответствующих наук. В частности, в строительной механике накоплен большой арсенал методов расчета стержневых конструкций на статическую, динамическую нагрузки и устойчивость.
Одним из наиболее эффективных методов строительной механики является метод граничных элементов (МГЭ), разработанный рядом зарубежных и отечественных ученых. В данной книге применен численно-аналитический вариант МГЭ, который с исчерпывающей полнотой изложен в работе.
Реализация МГЭ в пакете MATLAB исключает какое-либо программирование численных процессов. Сами программы представляют собой лишь процесс введения исходных матриц и вызов численных процедур, т. е. реализуются в полном объеме идеи структурного программирования, что значительно уменьшает количество ошибок и повышает достоверность результатов. Дальнейшая графическая визуализация результатов расчетов логически завершает постановку задачи и ее решение.
Таким образом, объединение современных достижений науки и компьютерных технологий будет способствовать подготовке высококвалифицированных специалистов и магистров. Кратко рассмотрим суть МГЭ в задачах деформирования стержневых систем.
Значительное число задач механики упругого стержня сводится к решению линейного неоднородного дифференциального уравнения с постоянными коэффициентами
, (1)
удовлетворяющего начальным условиям
. (2)
Как известно, такая задача определения частного решения уравнения (1), удовлетворяющего условием (2), называется задачей Коши.
Для изгиба, поперечных колебаний, кручения тонкостенных стержней, продольно-поперечного изгиба и т. п. видов деформирования, решение задачи Коши можно записать в матричной форме.
EI(x) |
= |
A11 |
A12 |
-A13 |
-A14 |
EI(o) |
+ |
A14(x-) |
q()d , |
(3) |
||
M(x) |
-A31 |
-A32 |
A33 |
A34 |
M(o) |
-A34(x-) |
||||||
Q(x) |
-A41 |
-A42 |
A43 |
A44 |
Q(o) |
-A44(x-) |
или компактно
Y(x) = A(x) X(o) + B(x), (4)
где Y(x) - вектор параметров напряженно-деформированного состояния стержня в текущей точке;
A(x) - квадратная матрица фундаментальных ортонормированных функций уравнения (1);
X(o) - вектор начальных параметров;
B - вектор (матрица-столбец) внешней нагрузки.
Если несколько стержней соединены в единую конструкцию, то для системы стержней можно составить матричное уравнение типа (4). Матрица А преобразуется к квазидиагональному виду, а векторы Y, X и B будут содержать параметры состояния всех стержней по следующей структуре
А1 |
; Y = |
Y1 |
; X = |
X1 |
; B = |
B1 |
|||||
А2 |
Y2 |
X2 |
B2 |
||||||||
Аn-1 |
Yn-1 |
Xn-1 |
Bn-1 |
||||||||
Аn |
Yn |
Xn |
Bn |
Если координате х каждого стержня дать граничное значение , то для системы матриц (5) можно выполнить достаточное простое преобразование по схеме
Y=AX+BAXY= B AX = B, (6)
Где конечные граничные параметры матрицы Y переносятся на место нулевых параметров вектора Х.
При этом, эти векторы дополняются уравнениями равновесия и совместности перемещений узловых точек и граничными условиями. В конце схемы преобразований (6) получается система линейных алгебраических уравнений относительно начальных и конечных параметров всех стержней конструкции. После вычисления начальных параметров стержней их напряженно-деформированное состояние определяется по матричному уравнению (3).
Таким образом, решение прямых задач строительной механики стержневых систем в МГЭ сводится к решению одной системы линейных алгебраических уравнений и вычислению напряженно-деформированного состояния в промежуточных точках по соотношениям метода начальных параметров.
Такая схема решения обеспечивает получение весьма точных и достоверных результатов, которые можно представить средствами MATLAB в виде обычных эпюр, форм свободных колебаний, потерь устойчивости и т. п.
Главной операцией в схеме является перенос параметров из Y в X. Процесс переноса конечных параметров вектора Y в вектор X основан на следующих положениях.
Векторы Y, X любой стержневой (и не стержневой) конструкции при граничном значении координаты будут содержать 3 группы параметров.
Первая группа - это нулевые граничные параметры, что определяется заданными условиями опирания (краевыми условиями).
Вторая группа - это зависимые параметры, связанные между собой обычными уравнениями равновесия и совместности перемещений узлов конструкции.
Третья группа граничных параметров никак не связаны между собой. Эти параметры условно могут быть названы независимыми.
Перенос параметров из вектора Y в вектор X должен компенсироваться ненулевыми элементами матрицы А, иначе нарушается исходное уравнение схемы (6). Очевидно, что независимые параметры вектора Y должны быть перенесены на место нулевых параметров вектора X, а зависимые параметры переносятся в соответствии с уравнениями их связи.
Перед операцией переноса параметров необходимо освободить поля матрицы А от элементов, связанных с нулевыми параметрами вектора Х, т. е. обнулить столбцы матрицы А, номера которых равны номерам нулевых строк матрицы Х. Далее в матрицу А вводятся ненулевые компенсирующие элементы и преобразования по схеме (6) завершены, поскольку в матрице В изменяются только знаки элементов. Правило для определения величины и положения компенсирующих элементов при переносе параметров включает 3 основных случая.
1-й случай. При переносе независимого параметра вектора Y в вектор X компенсирующий элемент матрицы А равен коэффициенту при переносимом параметре со своим знаком по схеме
i |
j |
k |
l |
(7) , |
|||||||
i |
Xi1=0;Yk1 |
i |
Yi1=0 |
||||||||
j |
1 |
Xj1 |
j |
Yj1=0 |
|||||||
k |
-a |
1 |
Xk1 |
k |
аYk1 |
||||||
l |
1 |
Xl1 |
l |
Yl1=0 |
т. е. компенсирующий элемент матрицы А равен ( а) и должен появиться на месте (k, i), где k - номер строки матрицы Y, где находился параметр, i - номер строки матрицы Х, куда переносится параметр. Другими словами, первый индекс положения компенсирующего элемента указывает на старый адрес переносимого параметра, а второй индекс - новый адрес в матрице Х.
2-й случай. Перенос зависимых параметров представляет собой повторение операцией 1-го случая с той лишь разницей, что в матрице Х не появляются новые параметры, а в матрице А* соответствующие строки могут содержать несколько компенсирующих элементов
3-й случай. В сложных конструкциях в одном узле могут находиться несколько начальных точек стержней. В этом случае возникают уравнения связи между начальными параметрами и требуется переносить параметры в пределах вектора Х. Компенсирующие элементы в этом случае формируются из системы фундаментальных функций, столбцы которой получают сдвиг в соответствии со схемой
i |
j |
k |
l |
(8) . |
|||||||
i |
-a |
b |
Xi1= 0;Yl1 |
i |
Yi1 = aYl1 bХj1 |
||||||
j |
Xj1 |
j |
Yj1 = 0 |
||||||||
k |
Xk1 |
k |
Yk1 = 0 |
||||||||
l |
-1 |
Xl1 |
l |
Yl1 |
i |
j |
k |
l |
; |
|||||
i |
1 |
Xi1 |
|||||||
j |
1 |
Xj1 |
|||||||
k |
1 |
Xk1=а Xi1 |
|||||||
l |
1 |
Xl1 |
Видно, что элементы матрицы А сдвигаются на место столбца, номер которого равен номеру строки нового положения параметра. Компенсирующие элементы равны произведению коэффициента при переносимом параметре на элементы матрицы А. При этом возрастает число компенсирующих элементов по сравнению со случаями 1 и 2. Поэтому необходимо, по возможности, избегать случаев, когда в узле сходятся только начальные точки стержней.
Более подробно алгоритм формирования системы линейных алгебраических уравнений типа (6) для стержневых систем рассмотрен ниже, при решении конкретных задач.
Например, эпюры параметров изгиба можно строить для каждого стержня в отдельности, используя соотношения метода начальных параметров. При этом удобно выполнять построение эпюр в одном окне, для чего можно привлекать процедуру subplot. Для соблюдения требуемого масштаба можно использовать процедуру axis. Масштабная сетка эпюр появится, если задействовать процедуру grid on. Выполнение этих требований приводит к следующим операторам построения эпюр
subplot (2, 2, 1), plot (x, EI); axis ( [0 2 -150 150] ); grid on
subplot (2, 2, 2), plot (x, EIfi); axis ( [0 2 -150 150] ); grid on
subplot (2, 2, 3), plot (x, Q); axis ( [0 2 -100 100] ); grid on
subplot (2, 2, 4), plot (x, M); axis ( [0 2 -100 100] ); grid on.
Протокол построения эпюр удобно поместить в отдельный М-файл и по мере необходимости корректировать масштаб изображения графиков. Выражения для параметров изгиба стержня по методу начальных параметров имеют вид
(12)
где элементы от внешней нагрузки запишутся следующим образом:
(13)
Положительные направления внешней нагрузки и их координаты показаны на рис. 1.
Для балки по рис. 1 протоколы построения эпюр примут вид:
Стержень 0 - 1
x = 0 : 0.001 : 2.0;
EI = - (X(2,1).* - X(4,1).*x.^3/6);
EIfi = - (X(2,1) - X(4,1).*x.^2/2);
Q = X(4,1); M = X(4,1).*x;
subplot (2, 2, 1), plot (x, EI); axis ( [0 2 -150 150] ); grid on
subplot (2, 2, 2), plot (x, EIfi); axis ( [0 2 -150 150] ); grid on
subplot (2, 2, 3), plot (x, Q); axis ( [0 2 -100 100] ); grid on
subplot (2, 2, 4), plot (x, M); axis ( [0 2 -100 100] ); grid on.
Рис.1
После построения графиков (нажатия кнопки ВЫПОЛНИТЬ) необходимо продолжить формирование команд для завершения эпюр на интервале (2; 4) в М-файле
x = 2.0 : 0.001 : 4.0; m = 20.0;
EI = - (X(2,1).* - X(4,1).*x.^3/6 + m.*(x - 2).^2/2);
EIfi = - (X(2,1) - X(4,1).*x.^2/2 + m.*(x - 2));
Q = X(4,1); M = X(4,1).*x - m;
subplot (2, 2, 1), plot (x, EI); axis ( [2 4 -150 150] ); grid on
subplot (2, 2, 2), plot (x, EIfi); axis ( [2 4 -150 150] ); grid on
subplot (2, 2, 3), plot (x, Q); axis ( [2 4 -100 100] ); grid on
subplot (2, 2, 4), plot (x, M); axis ( [2 4 -100 100] ); grid on.
Стержень 1 - 2
x = 0 : 0.001 : 6.0; q = 10.0;
EI = - (X(6,1).*x - X(7,1).*x.^2/2 - X(8,1).*x.^3/6 + q.*x.^4/24);
EIfi = - (X(6,1) - X(7,1).*x - X(8.1).*x.^2/2 + q.*x.^3/6);
Q = X(8,1) - q.*x; M = X(7,1) + X(8,1).*x - q.*x.^2/2;
subplot (2, 2, 1), plot (x, EI); axis ( [0 6 -150 150] ); grid on
subplot (2, 2, 2), plot (x, EIfi); axis ( [0 6 -150 150] ); grid on
subplot (2, 2, 3), plot (x, Q); axis ( [0 6 -100 100] ); grid on
subplot (2, 2, 4), plot (x, M); axis ( [0 6 -100 100] ); grid on.
Стержень 2 - 3
x = 0 : 0.001 : 2.0;
EI = - (X(10,1).*x - X(11,1).*x.^2/2 - X(12,1).*x.^3/6);
EIfi = - (X(10,1) - X(11,1).*x - X(12,1).*x.^2/2);
Q = X(12,1); M = X(11,1) + X(12,1).*x;
subplot (2, 2, 1), plot (x, EI); axis ( [0 2 -150 150] ); grid on
subplot (2, 2, 2), plot (x, EIfi); axis ( [0 2 -150 150] ); grid on
subplot (2, 2, 3), plot (x, Q); axis ( [0 2 -100 100] ); grid on
subplot (2, 2, 4), plot (x, M); axis ( [0 2 -100 100] ); grid on.
Далее вторая часть эпюр строится по операторам
x =2. 0 : 0.001 : 0;
EI = - (X(10,1).*х - X(11,1).*x.^2/2 - X(12,1).*x.^3/6 - f1.*(x -2).^3/6);
EIfi = - (X(10,1) - X(11,1).*x - X(12,1).*x.^2/2 - f1.*(x -2).^2/2);
Q = X(12,1) + f1; M = X(11,1) + X(12,1).*x + f1.*(x -2);
subplot (2, 2, 1), plot (x, EI); axis ( [2 3 -150 150] ); grid on
subplot (2, 2, 2), plot (x, EIfi); axis ( [2 3 -150 150] ); grid on
subplot (2, 2, 3), plot (x, Q); axis ( [2 3 -100 100] ); grid on
subplot (2, 2, 4), plot (x, M); axis ( [2 3 -100 100] ); grid on
Стержень 3 - 4
x = 0 : 0.001 : 1;
EI = - (X(14,1).*x - X(15,1).*x.^2/2 - X(16,1).*x.^3/6);
EIfi = - (X(14,1) - X(15,1).*x- X(16,1).*x.^2/2);
Q = X(16,1); M = X(15,1) + X(16,1).*x;
subplot (2, 2, 1), plot (x, EI); axis ( [0 1 -150 150] ); grid on
subplot (2, 2, 2), plot (x, EIfi); axis ( [0 1 -150 150] ); grid on
subplot (2, 2, 3), plot (x, Q); axis ( [0 1 -100 100] ); grid on
subplot (2, 2, 4), plot (x, M); axis ( [0 1 -100 100] ); grid on.
Следует помнить, что в окно команд необходимо вводить значения неизвестных начальных параметров балки, т. е. вектор Х. Это легко выполняется с помощью отдельного М-файла, на котором записана процедура решения матричного уравнения неразрезной балки. После вектора Х нужно ввести также значения внешней нагрузки и их координаты.
Литература
1. Векторное проектирование - Яцыщин И.С. - М. 2008 г.
Подобные документы
Методы численного интегрирования. Характеристика основных составляющих структурного программирования. Решение задания на языке высокого уровня Паскаль. Построение графического решения задачи в пакете Matlab. Решение задания на языке высокого уровня C.
курсовая работа [381,7 K], добавлен 10.05.2018Определение граничных значений параметров, принципов организации из математического пакета программ MatLab. Реализация принципов управляемости и наблюдаемости. Основные методы параметрического оценивания. Реализация принципов идентификации и адекватности.
курсовая работа [2,3 M], добавлен 24.06.2013Исследование линейных динамических моделей в программном пакете Matlab и ознакомление с временными и частотными характеристиками систем автоматического управления. Поиск полюса и нуля передаточной функции с использованием команд pole, zero в Matlab.
лабораторная работа [53,1 K], добавлен 11.03.2012Теория вычисления интеграла и описание используемых численных методов (метод левых и правых прямоугольников, метод трапеции, метод Симпсона). Расчеты в пакете Matlab. Отчет о результатах вычисления в MS Excel. Описание приложения созданного в Delphi.
курсовая работа [2,8 M], добавлен 18.08.2014Изучение программирования в MATLAB. Использование команд Save и Load, операторы ввода и вывода для работы в командном окне. Отладка собственных программ. Интерфейс MATLAB. Отличия поздней версии MATLAB от более ранних. Средство Source Control Interface.
контрольная работа [43,0 K], добавлен 25.12.2011Использование расширения MATLAB - Simulink как системы математического моделирования. Электроэнергетическое направление системы - пакет Sim Power Systems, методом моделирования решающий задачи электроэнергетики. Структура и функциональные компоненты.
курсовая работа [1,5 M], добавлен 09.10.2014Особенности работы в режиме командной строки в системе Matlab. Переменные и присваивание им значений. Комплексные числа и вычисления в системе Matlab. Вычисления с использованием функции sqrt. Неправильное использование функций с комплексными аргументами.
дипломная работа [1,9 M], добавлен 30.07.2015Назначение и возможности пакета MATLAB, его основные составляющие. Набор вычислительных функций. Роль интерполяции функций в вычислительной математике. Пример интерполяции с четырьмя узлами. Интерполирование и сглаживание, схемы решения задач в MATLAB.
курсовая работа [594,5 K], добавлен 28.12.2012Matlab - матричная лаборатория - система программирования для научно-технических расчетов. Особенности ввода векторов. Специальные матрицы, простые команды. Простые примеры, иллюстрирующие эффективность Matlab. Графический способ решения уравнений.
реферат [46,3 K], добавлен 05.01.2010Математическая основа параллельных вычислений. Свойства Parallel Computing Toolbox. Разработка параллельных приложений в Matlab. Примеры программирования параллельных задач. Вычисление определенного интеграла. Последовательное и параллельное перемножение.
курсовая работа [1,1 M], добавлен 15.12.2010