Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.docx
Скачиваний:
103
Добавлен:
27.03.2015
Размер:
421.24 Кб
Скачать

2.3 Построение эпюр в Mathcad

2.4 Построение эпюр в Fortran

Построение эпюр состоит из 2 частей: головной программы и вспомогательной.

integer,parameter::m=5,n=6,mn=m*n; real(8),dimension(mn)::x,a,q,S,sig,U

real::P(6)=(/10.,-10.,-10.,20.,15.,-5./)

real::f(6)=(/5.,3.,4.,3.,3.,3./)

real::dl(3)=(/0.5,0.4,0.5/)

real::ak(3)=(/0.,0.,0./); real::b(3)=(/0.,5.,0./)

x(1)=0.

do i=2,mn

if (((i-1)/m)*m.EQ.i-1) then; x(i)=x(i-1); else; x(i)=x(i-1)+dl((i-1)/10+1)/(2*(m-1))

endif

enddo

print*,'x'; print*,x

do i=1,10; a(i)=((f(2)-f(1))/dl(1))*x(i)+f(1); q(i)=ak(1)*x(i)+b(1)

enddo

do i=11,20; a(i)=((f(4)-f(3))/dl(2))*(x(i)-dl(1))+f(3); q(i)=ak(2)*x(i)+b(2)

enddo

do i=21,30; a(i)=((f(6)-f(5))/dl(3))*(x(i)-dl(2)-dl(1))+f(5); q(i)=ak(3)*x(i)+b(3)

enddo

s(mn)=p(6)

do i=(MN)-1,1,-1;s(i)=s(i+1)+((q(i)+q(i+1))*(x(i+1)-x(i)))/2

if ((i/m)*m.EQ.i)then; s(i)=s(i)+p(i/m); else

endif

enddo

sig=s/a

do i=1,mn-1;

u(i+1)=u(i)+((sig(i)+sig(i+1))/2)*(x(i+1)-x(i))

enddo

print*,'F(x)'; print*,a;print*,'q(x)'; print*,q; print*,'s(x)'; print*,s; print*,'Sig(x)'; print*,sig; print*,'U(x)'; print*,u

call cls(2)

call epur(20,20,500,100,x,a,mn); call epur(20,120,500,200,x,q,mn); call epur(20,220,500,300,x,s,mn)

call epur(20,320,500,400,x,sig,mn); call epur(20,420,500,500,x,u,mn)

end

Для визуализации воспользуемся видоизменённой Plot2m

subroutine CLS (IS); use dflib; type (qwinfo) qw; open (IS,file="user")

qw.type=2;ii=setwsizeqq (QWIN$FRAMEWINDOW,qw)

ii=setwsizeqq (is,qw); ii=setbkcolor(15); call clearscreen (0); ii=settextcolor (0); ii=setcolor(0)

end

$real:8; subroutine epur(jl,il,jr,ir,x,y,n); use dflib; type (wxycoord) wxy; real::x(n),y(n)

ii=setcolor(7); ii=rectangle(2, jl, il, jr, ir); call setviewport(jl, il, jr, ir)

xl=minval(x); yr=dmin1(minval(y),0d0); xr=maxval(x); yl=dmax1(maxval(y),0d0)

ii=setwindow (.true.,xl,yl,xr,yr); call moveto_w(x(1),0d0,wxy)

ii=setcolor(0)

do i=1,n-1

ii=lineto_w(x(i),y(i)); ii=lineto_w(x(i+1),y(i+1)); ii=lineto_w(x(i+1),0d0)

end do; ii=setcolor(7)

call moveto_w(xl,0d0,wxy); ii=lineto_w(xr,0d0); ii=rectangle_w(2, xl,yl,xr,yr)

end

Эпюры, сделанные в Fortran, предоставлены на рисунке 2.4.

F(x)

q(x)

N(x)

N(x)\\\\

U(x)

Рис. 2.4

2.5. Вывод

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

Рисунок 2.4. Эпюры, построенные в Visual Fortran

U(x)

3. Определение собственных частот колебаний системы с несколькими степенями свободы

3.1 Постановка задачи

Требуется для заданной пружинно-массовой механической системы (рис. 3.1) найти методом простых итераций высшую и низшую частоту и соответствующие формы колебаний системы, пользуясь приведенными в таблице 3.1 значениями отношения масс и жёсткостей.

Исходные данные Таблица 3.1

Жесткости ci / c

Массы mi / m

1

2

3

4

5

6

7

1

2

3

4

5

1

2

0.8

1.2

0.9

1.5

1

1.0

0.5

1.2

2

0.8


Дана механическая система, состоящая из 5 масс mi (i = 1,..,5), соединённых между собой пружинами (ci – жёсткость пружин). Массы двигаются только вдоль одной оси, без поворотов. В этом случае число степеней свободы и число обобщенных координат равно 5. В качестве обобщённых координат смещения выберем xi (i=1,…,5).

Запишем уравнение свободных колебаний системы около положения равновесия, используя второй закон Ньютона: силы, вычисляются как суммы сил, действующие наj-ю массу со стороны пружин, соединенных с ней, при отклонении массы от положения равновесия.

Рис.3.1

Усилие в каждой пружине находится как произведение жёсткости пружины на её удлинение. Удлинения вычисляются как разность обобщенных координат (xixj), где j – номер массы, с которой соединен второй конец пружины.

Вырежем одну массу m1 системы. На нее действует одна сила со стороны нижней пружины. Запишем для неё уравнение движения по второму закону Ньютона: , где- удлинение пружины. Записывая уравнения для каждой массы, получим систему уравнений:

111Equation Chapter (Next) Section 1 (3.1)

Решением данных дифференциальных уравнений будет выражение:

(3.2)

Преобразуем выражение (3.1) с учетом (3.2)

(3.3)

В матричной форме запись уравнений (3.3) имеет вид:

(3.4)

где М - диагональная матрица масс, C - матрица жесткости. Выражение (3.4) является системой однородных линейных алгебраических уравнений (СЛАУ).

Матрицы M, C, X для данной задачи имеют вид:

(3.5)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]