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

Описание программ для расчётов

program zhukovskiy

complex(4) dw(0:180,2),w(0:180,2),pov(0:180,2),okr(0:180,2),z,dw1(0:180,2),pov1(0:180,2)

complex(4) e1,e2,e,i1,a1,a2,k1,k2,xx,yy,mm

real(4) m,v,alpha,r,r0,f,d1,b,a,c,d,x1,x2,dfi1,dfi2,fi,g,cp(0:180,2),vt(0:180,2),va(0:180,2),x,y

real(4) cx,cy,mz

r=1.0

f=0.1*r

d=0.1*r

write(*,*) 'vvedi m'

m=0.1

read(*,*) m

v=340*m

write(*,*) 'vvedi alpha'

alpha=10.0/57.3

read(*,*) alpha

alpha=alpha/57.3

i1=cmplx(0.0,1.0)

e1=cmplx(cos(alpha),sin(alpha))

e2=cmplx(cos(2*alpha),-sin(2*alpha))

k1=cmplx(f,d)

d1=0.2**2+4*0.98

x1=0.2+sqrt(d1)

x1=x1/2

x2=0.2-sqrt(d1)

x2=x2/2

!write(*,*) x1,x2

a1=cmplx(x1,0.0)

a2=cmplx(x2,0.0)

b=1.5

r0=(2*b-x1+x2)/(1/x1-1/x2)

r0=sqrt(r0)

!r0=-x2

!write(*,*) r0

a=acos(x1-0.1)

dfi1=(180+2*a*57.3)/180/57.3

dfi2=(180-2*a*57.3)/180/57.3

!write(*,*) dfi1*57.3,dfi2*57.3,a*57.3

do i=0,180

fi=-a+i*dfi1

okr(i,1)=cmplx(cos(fi),sin(fi))

fi=-a-i*dfi2

okr(i,2)=cmplx(cos(fi),sin(fi))

enddo

okr=okr+cmplx(0.1,0.1)

open(1,file='pov.txt',status='replace')

do i=1,180

pov(i,1:2)=0.5*(okr(i,1:2)+r0**2/(okr(i,1:2)))

enddo

do i=0,180

z=((okr(i,1)-r0)/(okr(i,1)+r0))**2

a=real(z)

b=aimag(z)

y=2*r0*b/((1-a)**2+b**2)

x=y*(1-a)/b-r0

pov1(i,1)=cmplx(x,y)

z=((okr(i,2)-r0)/(okr(i,2)+r0))**2

a=real(z)

b=aimag(z)

y=2*r0*b/((1-a)**2+b**2)

x=y*(1-a)/b-r0

pov1(i,2)=cmplx(x,y)

write(1,*) real(pov1(i,1)),aimag(pov1(i,1)),real(pov1(i,2)),aimag(pov1(i,2))

enddo

z=a2-k1

g=v*e1*(1-e2/(z**2))*2.0*3.14*i1*z

!write(*,*) g

!g=0

do i=0,180

z=okr(i,1)-k1

w(i,1)=-v*e1*(z+e2/z)+g/2.0/3.14/i1*log(z)

dw(i,1)=-v*e1*(1-e2/(z**2))+g/2.0/3.14/i1/z

dw1(i,1)=dw(i,1)*2/(1-(r0**2)/((z+k1)**2))

z=okr(i,2)-k1

w(i,2)=-v*e1*(z+e2/z)+g/2/3.14/i1*log(z)

dw(i,2)=-v*e1*(1-e2/(z**2))+g/2.0/3.14/i1/z

dw1(i,2)=dw(i,2)*2.0/(1-(r0**2)/((z+k1)**2))

enddo

do i=1,180

a=atan2(aimag(pov(i-1,1))-aimag(pov(i,1)),real(pov(i-1,1))-real(pov(i,1)))

vt(i,1)=real(dw1(i,1)*cmplx(cos(a),sin(a)))

a=atan2(aimag(pov(i-1,2))-aimag(pov(i,2)),real(pov(i-1,2))-real(pov(i,2)))

vt(i,2)=real(dw1(i,2)*cmplx(cos(a),sin(a)))

enddo

do i=0,180

va(i,1)=abs(dw1(i,1))

va(i,2)=abs(dw1(i,2))

cp(i,1)=1-(vt(i,1))**2/((2*v)**2)

cp(i,2)=1-(vt(i,2))**2/((2*v)**2)

enddo

xx=0

yy=0

do i=1,179

xx=xx+dw(i,1)**2*(0.5*okr(i+1,1)-0.5*okr(i-1,1))/(0.5*(1-r0**2/(okr(i,1)**2)))*pov(i,1)+dw(i,2)**2*(okr(i+1,2)*0.5-0.5*okr(i-1,2))/(0.5*(1-r0**2/(okr(i,2))**2))*pov(i,2)

yy=yy+dw(i,1)**2*(okr(i+1,1)*0.5-okr(i-1,1)*0.5)/(0.5*(1-r0**2/(okr(i,1)**2)))+dw(i,2)**2*(okr(i+1,2)*0.5-okr(i-1,2)*0.5)/(0.5*(1-r0**2/(okr(i,2))**2))

enddo

mz=-real(xx)

cx=-aimag(yy)

cy=-real(xx)

b=1.5

cy=g/(v*2*b/2)*cos(alpha)

cx=g/(v*2*b/2)*sin(alpha)

mz=-0.25*cy

write(*,*) cx,cy,mz

open(2,file='w.txt',status='replace')

open(3,file='dw.txt',status='replace')

open(4,file='cp.txt',status='replace')

open(5,file='vt.txt',status='replace')

write(*,*)

x2=real(pov(180,1))

do i=1,180

write(2,*) (real(pov(i,1))-x2)/1.5,real(w(i,1)),aimag(w(i,1))

write(3,*) (real(pov(i,1))-x2)/1.5,real(dw(i,1)),-aimag(dw(i,1)),real(dw1(i,1)),-aimag(dw1(i,1))

write(4,*) (real(pov(i,1))-x2)/1.5,cp(i,1)

write(5,*) (real(pov(i,1))-x2)/1.5,vt(i,1),va(i,1)

enddo

do i=1,180

write(2,*) (real(pov(i,1))-x2)/1.5,real(w(i,2)),aimag(w(i,2))

write(3,*) (real(pov(i,1))-x2)/1.5,real(dw(i,2)),-aimag(dw(i,2)),real(dw1(i,2)),-aimag(dw1(i,2))

write(4,*) (real(pov(i,1))-x2)/1.5,cp(i,2)

write(5,*) (real(pov(i,1))-x2)/1.5,vt(i,2),va(i,2)

enddo

open(6,file='dannye.txt',status='replace')

write(6,*) 'r0=',r0

write(6,*) 'g=',g

write(6,*) 'cx=',cx

write(6,*) 'cy=',cy

write(6,*) 'mz=',mz

end program zhukovskiy