Метод Бубнова-Галеркина

 

Аппроксимирующую функцию для варианта В запишем в виде:

(2.2.1)

Внесем ее в дифференциальное уравнение

(2.2.2)

Умножим (2.2.2) почленно на  и проинтегрируем от 0 до l

(2.2.3)

 

В силу ортогональности
(2.2.4)

 

Возьмем интегралы, входящие в нагрузочную часть. Первый интеграл:

 

.    (2.2.5)

Второй интегралберем по частям:

=

=

=

=

I  I= *(2.2.6)

Звездочка обозначает, что этот интеграл существует только при i≠1

Третий интеграл:

** (2.2.7)

Звездочка обозначает, что этот интеграл существует только при i=1

Внося (2.2.4) – (2.2.7) в (2.2.3), приходим к соотношению:

(2.2.8)

Выражение для перемещения приобретает вид:

(2.2.9)

 

 

Для усилия на основании равенства

получаем следующее соотношение:

 

(2.2.10)

Программа для численной реализации (2.2.9) и (2.2.10):

USES crt;


Const

q=1.0; l=1.0; EA=1.0; m=4; mn=100;

Var

i,j,k:integer;

dx, x,p2, ip2, ip2x, nn, uu,un:real;

U,N: array [1..m+1] of real;

BEGIN

clrscr;

writeln;

writeln('КоординатаПеремещениеУсилие');

dx:=l/m;

nn:=8/(pi*pi);

uu:=nn*2/(pi);

fork:=1 to m+1 do begin

x:=dx*(k-1)/l;

U[k]:=0.0;

N[k]:=0.0;

forj:=1 to mndo begin

i:=2*j-1;

ip2:=i*pi/2;

ip2x:=ip2*x;

un:=((i*pi*i*pi/(i*pi*i*pi+16)*(1-exp(2)*cos(i*pi/2)+2/ip2*exp(2)*sin(i*pi/2))+(-3*cos(i*pi/2)+12*sin(i*pi/2)/i/pi-24*(1-cos(i*pi/2))/i/pi/i/pi)))/sqr(i);

U[k]:=U[k]+un*sin(ip2x)/i;

N[k]:=N[k]+un*cos(ip2x);

end;

writeln;

writeln('x=',x:4:2,' U=',U[k]*64/pi/pi/pi:6:3,' N=',N[k]*16/pi/pi:6:3);

end;

readln;

END.

Результаты расчета при удержании 100 членов ряда представим в виде

таблицы 3 и графиков (рис. 7, 8)

Таблица 3

x 0 0,25 0,5 0,75 1,0
0 (0) 4.042 (4.042) 7.608 (7.608) 10.285 (10.285) 11.389 (11.389)
8.385 (8.389) 7.709 (7.709) 6.421 (6.421) 4.064 (4.064) 0  (0)

(…) – точное решение.

 

Рис. 7. Изменение перемещения по длине стержня (метод Бубнова-

Галеркина, 100 членов ряда)

Рис. 8. Изменение продольного усилия по длине стержня (метод Бубнова-

Галеркина, 100 членов ряда)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: