(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;