Описание программ для расчётов
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