Дипломная (вкр): Моделирование установившихся колебаний пластин, контактирующих с упругим основанием

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рисунок 25 - Вещественная часть амплитуды напряжений q при  =9,3

Приведенные построения были выполнены для случая, когда нагрузка является единичной и задана в нуле.

ЗАКЛЮЧЕНИЕ


В квалификационной работе была рассмотрена плоская задача о вертикальных колебаниях с частотой w пластины на поверхности упругой изотропной полосы под действием сосредоточенной поверхностной нагрузки. Задачи такого рода могут иметь практическое применение в таких областях, как сейсмология, материаловедение и машиностроение.

В ходе данной работы были получены интегральные характеристики, связывающие перемещения и напряжения на границе полосы и покрытия. Для этого использовался аппарат интегральных преобразований Фурье, благодаря которому общая структура решения сохраняется и в случаях, отличных от однородной упругой полосы.

На базе полученных соотношений была реализована программа на языке Fortran для расчета перемещений под покрытием путем отыскания нулей и полюсов функции, отвечающей за вертикальное перемещение и вертикальную нагрузку, а также программа, выполняющая обращение трансформант.

Предпочтения при выборе средств графического изображения результатов работы программ на Fortran были отданы среде Maple15 в связи с тем, что она является мощной и хорошо организованной системой, надежной и простой в работе.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1            Демидов, С.П. Теория упругости - М.: Высшая школа, 1979. - 432с.

2       Александров, В.М. Контактные задачи для тел с тонкими покрытиями и прослойками / В.М. Александров, С.М. Мхитарян - М.: Наука, 1983. - 488 с.

3       Вольмир, А.С. Нелинейная динамика пластинок и оболочек - М.: Наука, 1972. - 432с.

4       Григолюк, Э.И. Механика твердых деформируемых тел. Т.5 Неклассическая теория колебаний стержней, пластин и оболочек / Э.И. Григолюк, И.Т. Селезнев - М.: ВИНИТИ, 1973. - 267с.

         Ворович, И.И. Неклассические смешанные задачи теории упругости / И.И. Ворович, В.М. Александров, В.А. Бабешко - М.: Наука, 1974. - 456 с.

         Ворович, И.И. Динамика массивных тел и резонансные явления в деформируемых средах / И.И. Ворович, В.А. Бабешко, О.Д. Пряхина - М.: Научный мир, 1989. - 246с.

         Снеддон, И. Преобразования Фурье - М.: Иностранная литература, 1955. - 668с.

         Глушков, Е.В. Интегральные преобразования в задачах теории упругости / Е.В. Глушков, Н.В. Глушкова - Кубанский государственный университет - М.: Краснодар, 1990. - 72с.

         Бартеньев, О.В. Фортран для профессионалов. Математическая библиотека IMSL. Выпуск 2 - М.: Диалог-МИФИ, 2001. - 309с.

10           Бартеньев, О.В. Современный Фортран - М.: Диалог-МИФИ, 2000. - 449 с.

11     Бабешко, В.А. Динамика неоднородных линейно-упругих сред / В.А. Бабешко, Е.В. Глушков, Ж.Ф. Зинченко - М.: Наука, 1989. - 344с.

12     Варвак, П.М. Справочник по теории упругости / П.М. Варвак, А.Ф. Рябов - Киев: Будiвельник, 1971. - 418с.

         Ворович, И.И. Механика контактных взаимодействий / И.И. Ворович, В.М. Александров - М.: Физматлит, 2001. - 672с.

         Павлова, А.В. Применение интегральных преобразований к решению задач для уравнений в частных производных / А.В. Павлова, С.Е. Рубцов, А.В. Смирнова - Кубанский государственный университет - М.: Краснодар, 2003. - 28с.

ПРИЛОЖЕНИЕ А

Листинг программы на языке Fortran. Поиск нулей и полюсов

program MyDip

dfimsl

real(4)::omega,alpha/global/omega(4), external:: fr(4), external:: fi(4), external:: znamr(4), external:: znami(4)::errabs=0.0,errrel=0.0001 (4)::a,b,nulr,polusr,nuli,polusi,nul,polus(4)::maxfn,k1=0,k2=0,k3=0,flag1,flag11,flag2,flag22,flag3,flag33,flag4,flag44,ff1,ff2

(4, file = 'MOmegaNuli.txt')(5, file = 'MNuli.txt')(6, file = 'MOmegaPolusa.txt')(7, file = 'MPolusa.txt')

!главный циклomega=0.2, 10.0, 0.005

         do alpha=0.0,10.0,0.001

         flag1=0;flag11=0;flag2=0;flag22=0;flag3=0;flag33=0;flag4=0;flag44=0;ff1=0;ff2=0

!поиск нуля вещественной части

                   a=alpha

                   b=alpha+0.001

                   if ((fr(a)*fr(b))<=0.0000) then

                            maxfn=100

                            flag1=1

                            call ZBREN(fr,errabs,errrel,a,b,maxfn)

                                      if (maxfn<100) then

                                      flag11=1

                                      nulr=b

                                      endif

                   end if

!поиск нуля мнимой части

                   a=alpha

                   b=alpha+0.001

                   if ((fi(a)*fi(b))<=0.0000) then

                            maxfn=100

                            flag3=1

                            call ZBREN(fi,errabs,errrel,a,b,maxfn)

                                      if (maxfn<100) then

                                      flag33=1

                                      nuli=b

                   end if

!поиск полюса вещественной части

                   !для функции знаменателя

                   a=alpha

                   b=alpha+0.001

                   if ((znamr(a)*znamr(b))<=0.0000) then

                            maxfn=100

                            flag2=1

                            call ZBREN(znamr,errabs,errrel,a,b,maxfn)

                                      if (maxfn<100) then

                                      flag22=1

                                      polusr=b

                                      endif

                   end if

!поиск полюса мнимой части

                   !для функции знаменателя

                   a=alpha

                   b=alpha+0.001

                   if ((znami(a)*znami(b))<=0.0000) then

                            maxfn=100

                            flag4=1

                            call ZBREN(znami,errabs,errrel,a,b,maxfn)

                                      if (maxfn<100) then

                                      flag44=1

                                      polusi=b

                                      endif

                   end if

                   if ((flag11==1) .and. (flag33==1)) then

                            if (abs(nulr - nuli)<0.0001) then

                            nul = nulr

                            ff1=1

                            endif

                   endif 

                   if ((flag22==1) .and. (flag44==1)) then

                            if (abs(polusr - polusi)<0.0001) then                                   

                            polus = polusr

                            ff2=1

                            endif

                   endif

                   if ((ff1==1) .and. (ff2==1) .and. (nul /= polus) ) then

                            write (4,*) omega !вывод омеги в файл

                            write (5,'(3f14.8)'), nul !форматный вывод корня

                            k1=k1+1

                            write (6,*) omega !вывод омеги в файл

                            write (7,'(3f14.8)'), polus !форматный вывод корня

                            k2=k2+1

                   elseif (ff1==1 .and. (ff2==0)) then

                                      write (4,*) omega !вывод омеги в файл

                                      write (5,'(3f14.8)'), nul !форматный вывод корня

                                      k1=k1+1

                            elseif (ff2==1 .and. (ff1==0)) then

                                      write (6,*) omega !вывод омеги в файл

                                      write (7,'(3f14.8)'), polus !форматный вывод корня

                                      k2=k2+1

                   endif

                  

         end dodo(*,*)k1(*,*)k2

program MyDip

fr(alpha)     !функция

(4), PARAMETER :: i=(0.0,1.0)      !мнимая единица(4) :: fr,alpha

         complex(4)::eps, eps1, eps2, eps3, ka2, del11, del21, k11, k12, k22, psi, gam1, sig1, sig2    !они комплексные

        

!        real::mu1=1, mu2=2.6, nu1=0.16, nu2=0.25, h=0.1, h1=1, ro2=3.9, ro1=1 , omega !старые параметры

!        real::mu1=1, mu2=2.6, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=3.8, ro1=1 , omega         !1 набор

!        real::mu1=1, mu2=2.6, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=3.8, ro1=1 , omega        !2 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=3.8, ro1=1 , omega        !3 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=3.8, ro1=1 , omega        !4 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=1, ro1=1 , omega  !5 набор

         real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=1, ro1=1 , omega        !6 набор

         common /global/ omega

         eps1=(mu2*(h**3))/(6*(1-nu2))

         eps2=((h**3)/12)*ro2*(omega**2)

         eps3=h*ro2*(omega**2)

         ka2=sqrt((ro1*(omega**2))/mu1)

         eps=(1-2*nu1)/(2-2*nu1)

         psi=eps1*(alpha**4)-eps2*(alpha**2)-eps3

         gam1=(alpha**2)-0.5*(ka2**2)

         sig2=sqrt((alpha**2)-(ka2**2))

         sig1=sqrt((alpha**2)-eps*(ka2**2))

k11=(sig2*(ka2**2)*(sig1*sig2*((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2)-(alpha**2)*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2)))/(-4)

k12=(sig1*sig2*(gam1+(alpha**2))*(((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2)-1)-(gam1*(alpha**2)+(sig1**2)*(sig2**2))*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2))/2

k22=(sig1*(ka2**2)*(sig2*sig1*((exp(sig2*h1)+exp(-(sig2*h1)))/2)*((exp(sig1*h1)-exp(-(sig1*h1)))/2)-(alpha**2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2)*((exp(sig1*h1)+exp(-(sig1*h1)))/2)))/(-4)

         del21=(sig1*sig2*((1/4)*(ka2**4)-((gam1+(alpha**2))**2)+((1/4)*(ka2**4)+((gam1+(alpha**2))**2))*((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2))-(alpha**2)*((gam1**2)+(sig1**2)*(sig2**2))*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2))/2

         del11=((exp(sig2*h1)+exp(-(sig2*h1)))/2)

         fr=real(k22/del21)

function fr

fi(alpha)     !функция

(4), PARAMETER :: i=(0.0,1.0)      !мнимая единица(4) :: fi,alpha

         complex(4)::eps, eps1, eps2, eps3, ka2, del11, del21, k11, k12, k22, psi, gam1, sig1, sig2    !они комплексные

!        real::mu1=1, mu2=2.6, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=3.8, ro1=1 , omega         !1 набор

!        real::mu1=1, mu2=2.6, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=3.8, ro1=1 , omega        !2 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=3.8, ro1=1 , omega        !3 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=3.8, ro1=1 , omega        !4 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=1, ro1=1 , omega  !5 набор

         real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=1, ro1=1 , omega        !6 набор

         common /global/ omega

         eps1=(mu2*(h**3))/(6*(1-nu2))

         eps2=((h**3)/12)*ro2*(omega**2)

         eps3=h*ro2*(omega**2)

         ka2=sqrt((ro1*(omega**2))/mu1)

         eps=(1-2*nu1)/(2-2*nu1)

         psi=eps1*(alpha**4)-eps2*(alpha**2)-eps3

         gam1=(alpha**2)-0.5*(ka2**2)

         sig2=sqrt((alpha**2)-(ka2**2))

         sig1=sqrt((alpha**2)-eps*(ka2**2))

k11=(sig2*(ka2**2)*(sig1*sig2*((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2)-(alpha**2)*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2)))/(-4)

k12=(sig1*sig2*(gam1+(alpha**2))*(((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2)-1)-(gam1*(alpha**2)+(sig1**2)*(sig2**2))*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2))/2

k22=(sig1*(ka2**2)*(sig2*sig1*((exp(sig2*h1)+exp(-(sig2*h1)))/2)*((exp(sig1*h1)-exp(-(sig1*h1)))/2)-(alpha**2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2)*((exp(sig1*h1)+exp(-(sig1*h1)))/2)))/(-4)

         del21=(sig1*sig2*((1/4)*(ka2**4)-((gam1+(alpha**2))**2)+((1/4)*(ka2**4)+((gam1+(alpha**2))**2))*((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2))-(alpha**2)*((gam1**2)+(sig1**2)*(sig2**2))*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2))/2

         del11=((exp(sig2*h1)+exp(-(sig2*h1)))/2)

         fi=aimag(k22/del21)

function fi

znamr(alpha)       !функция

(4), PARAMETER :: i=(0.0,1.0)      !мнимая единица(4) :: znamr,alpha

         complex(4)::eps, eps1, eps2, eps3, ka2, del11, del21, k11, k12, k22, psi, gam1, sig1, sig2    !они комплексные

!        real::mu1=1, mu2=2.6, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=3.8, ro1=1 , omega         !1 набор

!        real::mu1=1, mu2=2.6, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=3.8, ro1=1 , omega        !2 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=3.8, ro1=1 , omega        !3 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=3.8, ro1=1 , omega        !4 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=1, ro1=1 , omega  !5 набор

         real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=1, ro1=1 , omega        !6 набор

         common /global/ omega

         eps1=(mu2*(h**3))/(6*(1-nu2))

         eps2=((h**3)/12)*ro2*(omega**2)

         eps3=h*ro2*(omega**2)

         ka2=sqrt((ro1*(omega**2))/mu1)

         eps=(1-2*nu1)/(2-2*nu1)

         psi=eps1*(alpha**4)-eps2*(alpha**2)-eps3

         gam1=(alpha**2)-0.5*(ka2**2)

         sig2=sqrt((alpha**2)-(ka2**2))

         sig1=sqrt((alpha**2)-eps*(ka2**2))

k11=(sig2*(ka2**2)*(sig1*sig2*((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2)-(alpha**2)*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2)))/(-4)

k12=(sig1*sig2*(gam1+(alpha**2))*(((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2)-1)-(gam1*(alpha**2)+(sig1**2)*(sig2**2))*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2))/2

k22=(sig1*(ka2**2)*(sig2*sig1*((exp(sig2*h1)+exp(-(sig2*h1)))/2)*((exp(sig1*h1)-exp(-(sig1*h1)))/2)-(alpha**2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2)*((exp(sig1*h1)+exp(-(sig1*h1)))/2)))/(-4)

         del21=(sig1*sig2*((1/4)*(ka2**4)-((gam1+(alpha**2))**2)+((1/4)*(ka2**4)+((gam1+(alpha**2))**2))*((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2))-(alpha**2)*((gam1**2)+(sig1**2)*(sig2**2))*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2))/2

         del11=((exp(sig2*h1)+exp(-(sig2*h1)))/2)

         znamr=real((k22/del21)*psi+1)

function znamr

znami(alpha)        !функция

(4), PARAMETER :: i=(0.0,1.0)      !мнимая единица(4) :: znami,alpha

         complex(4)::eps, eps1, eps2, eps3, ka2, del11, del21, k11, k12, k22, psi, gam1, sig1, sig2    !они комплексные

!        real::mu1=1, mu2=2.6, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=3.8, ro1=1 , omega         !1 набор

!        real::mu1=1, mu2=2.6, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=3.8, ro1=1 , omega        !2 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=3.8, ro1=1 , omega        !3 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=3.8, ro1=1 , omega        !4 набор

!        real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.1, h1=1, ro2=1, ro1=1 , omega  !5 набор

         real::mu1=1, mu2=5, nu1=0.3, nu2=0.3, h=0.01, h1=1, ro2=1, ro1=1 , omega        !6 набор

         common /global/ omega

         eps1=(mu2*(h**3))/(6*(1-nu2))

         eps2=((h**3)/12)*ro2*(omega**2)

         eps3=h*ro2*(omega**2)

         ka2=sqrt((ro1*(omega**2))/mu1)

         eps=(1-2*nu1)/(2-2*nu1)

         psi=eps1*(alpha**4)-eps2*(alpha**2)-eps3

         gam1=(alpha**2)-0.5*(ka2**2)

         sig2=sqrt((alpha**2)-(ka2**2))

         sig1=sqrt((alpha**2)-eps*(ka2**2))

k11=(sig2*(ka2**2)*(sig1*sig2*((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2)-(alpha**2)*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2)))/(-4)

k12=(sig1*sig2*(gam1+(alpha**2))*(((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2)-1)-(gam1*(alpha**2)+(sig1**2)*(sig2**2))*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2))/2

k22=(sig1*(ka2**2)*(sig2*sig1*((exp(sig2*h1)+exp(-(sig2*h1)))/2)*((exp(sig1*h1)-exp(-(sig1*h1)))/2)-(alpha**2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2)*((exp(sig1*h1)+exp(-(sig1*h1)))/2)))/(-4)

         del21=(sig1*sig2*((1/4)*(ka2**4)-((gam1+(alpha**2))**2)+((1/4)*(ka2**4)+((gam1+(alpha**2))**2))*((exp(sig1*h1)+exp(-(sig1*h1)))/2)*((exp(sig2*h1)+exp(-(sig2*h1)))/2))-(alpha**2)*((gam1**2)+(sig1**2)*(sig2**2))*((exp(sig1*h1)-exp(-(sig1*h1)))/2)*((exp(sig2*h1)-exp(-(sig2*h1)))/2))/2

         del11=((exp(sig2*h1)+exp(-(sig2*h1)))/2)

         znami=aimag((k22/del21)*psi+1)

end function znami

ПРИЛОЖЕНИЕ Б


Листинг программы на языке Fortran. Построение перемещений

Program zer1

use dfimsl/vab/ omega,x1(8),external::f     !,U3,U4(8)::omega,x1,alpha,alpha11,errabs,errel,res,res1,errest,Int1,Int2,a(8)::Int3(4)::i,j,maxfn,maxfn1,ff

!open(1,action='write',file='xf.txt',form='formatted',position='rewind',status='old')        !файл для перемещений(1,action='write',file='yf.txt',form='formatted',position='rewind',status='old')        !файл дл обращений

=0.0d0=0.01d0

                           

                  

                            do x1=0d0,10d0,0.1

                                       

                                       omega=9.3

                                       !omega=2.100009

                                       

                                       do a=-30D0,10D0,1.0

                                       alpha=a

                                                                  alpha11=alpha+0.1

                                                                  call dqdags(f,alpha,alpha11,errabs,errel,res,errest)

                                                                  Int1=Int1+res

                                       end do

                                       

                                       write(1,'(f10.5,2x,15(f8.5,1x))') x1,Int1

                                       Int1=0.0

                            end do

close(1)program zer1

Источник: https://www.bibliofond.ru/detail.aspx?id=826559