(2 курс, Стр.)
Расчет статически неопределимых балок
переменного сечения в среде Matlab
Определение прогибов статически определимых балок постоянного сечения проводится известными аналитическими методами без особых затруднений, так как их изогнутая ось описывается дифференциальным уравнение второго порядка с постоянными коэффициентами. Но, чтобы удовлетворить важным требованиям экономичности и лёгкости балок, их приходится проектировать с переменными размерами вдоль длины и статически неопределимыми. В таких случаях решение задачи по определению прогибов становится сложным и аналитически невыполнимым. Выход из такого затруднения состоит в применении численных методов в сочетании с компьютерными технологиями. Рассмотрим такую задачу подробнее.
Статически неопределимая балка переменного сечения (рис.1) с осевым моментом J(z) нагружена неравномерно распределенной нагрузкой q(z). Требуется средствами вычислительного комплекса Matlab:
1.Определить изогнутую ось балки.
2.Построить эпюру изгибающих моментов.
|
Рис. 1 |
Исходные значения будут следующими:
м,
ГПа,
м
,
м
,
м,
Н/м,
Н/м,
Н/м, ![]()
Изогнутая ось балки описывается обыкновенным дифференциальным уравнением четвертого порядка
,
, (1)
к которому добавляются граничные условия
,
,
,
. (2)
Здесь
- осевой момент инерции, переменное по длине балки. Кроме того, по условиям закрепления данная система один раз статически неопределима. Между тем возникающие проблемы можно решить универсальным образом с помощью численных методов. В частности, удобным и простым методом для такой цели является метод конечных разностей.
Рис. 2 |
С этой целью область непрерывного изменения аргумента [0, l] заменим областью дискретного изменения (рис. 2)
.
Множество точек с номерами i называется сеткой, а сами точки узлами сетки. Вместо функции непрерывного аргумента
будет отыскиваться сеточная функция
.
Производные и значения функции v в задаче заменим конечноразностными соотношениями и значениями дискретной функции на пятиточечном шаблоне сетки (рис. 3):
(3)
![]()
|
Рис. 3 |
Подстановка (3) в задачу (1) и элементарные преобразования приводят к конечноразностной схеме:
(4)
![]()
Запишем её как систему алгебраических уравнений относительно вектора
в матрично-векторной форме
, (5)
где
A = 
,
.
Система уравнений (5) решается на компьютере с помощью подпрограммы вычислительного комплекса MATLAB, в результате чего становится известным вектор v.
Вычисления, проведенные на компьютере по данному алгоритму, показаны в виде кривых изогнутой оси на рис. 4. Номера кривых соответствуют параметру k в формуле для определения распределённой нагрузки.
|
Рис. 4 |
Наибольший прогиб |v|max = 1,42 см имеет место при k=3.
Далее с помощью конечноразностных замен производных вычисляются изгибающие моменты по формуле
![]()
В переводе на конечноразностное представление она принимает вид во внутрисеточных узлах
(6)
На левом конце в точках i = 1, 2 изгибающие моменты в конечно-разностной схеме представляются в виде
. (7)
Аналогично на правом конце
(8)
Эпюры изгибающих моментов, построенные по (6)–(8) показаны на рис. 5.
|
Рис. 5 |
Наибольшее значение моментов от заданных нормативных нагрузок будет
|M|max = 274,8 кНм.
Листинг компьютерной программы на языке MATLAB
% Балка.
% Перемещения балки переменного сечения c шарнирным концом и заделкой
% при неравномерной нагрузке q=q0+q1*sin(k*pi*z/l);
% Метод конечных разностей, 5-титочечный шаблон
% Общая постановка задачи:
% [v''(z)]'' = p, (1) p(z)=-q(z)/b b(z)=EJ(z) J(z)=a+c*z (1)
% Левый конец v(0)=0 , v'(0)=0
% Правый конец v''(l)=0, v(l)=0
% Уравнение (1) и граничные условия приводится к
% алгебраической системе уравнений
% A v = p,
% которая решается с помощью данной подпрограммы MATLAB-а
clear;
disp('Начало___________________');
% ИСХОДНЫЕ ДАННЫЕ:
l=7; n=1001; a=0.3e-05*ones(1,n); c=0.4e-05;
v=zeros(n); A=zeros(n, n); p=zeros(n,1);
q=zeros(n); b=zeros(n);
E=210e+09; h=l/(n-1); z=[0 : h : l];
J=a+c*z.^3;
b=E*J; q0=2000; q1=1000;
for k=1 : 2 : 5;
q=k*q0+q1*sin(pi*z/l);
% Метод конечных разностей.
% Формирование матрицы А и вектора p
% Граничные условия
% Левый конец
A(1,1)=1;
A(2,1)=-3; A(2,2)=4; A(2,3)=1;
% Правый конец
A(n-1,n-3)=-1; A(n-1,n-2)=4; A(n-1,n-1)=-5; A(n-1,n)=2; A(n, n)=1;
% Основное уравнение во внутренних узлах сетки
for i=3:n-2;
al=-2*b(i-1)-2*b(i); be=b(i-1)+4*b(i)+b(i+1); ga=-2*b(i)-2*b(i+1);
A(i, i-2)=b(i-1); A(i, i-1)=al; A(i, i)=be; A(i, i+1)=ga; A(i, i+2)=b(i+1);
p(i)=-q(i)*h^4; A(i,:)= A(i,:)/10^5; p(i)=p(i)/10^5;
end;
% Решение системы уравнений
v=A\p;
% В Ы В О Д Г Р А Ф И К А z - v,
hold on;
plot (z, v*100, 'k','LineWidth',1), grid on;
stx=num2str(k); gtext (stx);
end;
xlabel('z, м'); ylabel('v, cм');
figure
% Определение изгибающих моментов
for k=1 : 2 : 5;
% На левом конце
m(1)=0;
m(2)=k*b(2)/h^2*(v(1)-2*v(2)+v(3));
% В регулярных точках
for i=3:n-2;
m(i)=k*b(i)/h^2*(v(i-1)-2*v(i)+v(i+1));
end;
% На правом конце
m(n-1)=k*b(n-1)/h^2*(v(n-2)-2*v(n-1)+v(n));
m(n)=0; hold on;
plot (z, m/1000, 'k','LineWidth',1), grid on; stx=num2str(k); gtext (stx);
xlabel('z, м'); ylabel('M, кНм');
end;







