Поблочный текст и состав программы баллистического проектирования ЛА класса Воздух – Поверхность управляемого по программе
Формирование блока исходных данных:
c ЗАДАНИЕ ДЛЯ LABVPVIS (высотная траектория)
c+ v0 h0 vh vtr mut1 r21 ttm h1 h3 ttk xk vk dt p taud mut Q pud
c- v h t mu x ny tt aa
ttm=ttm/57.3
ttk=ttk/57.3
702 jaer=0
C/NACHVP/Начальные условия для ЛА поверхность-воздух
c начальные условия
v=v0
h=h0
aa=0
t=(v-vh)/vtr
mu=1-mut1
x0=0.5*(v+vh)*t
x=x0
tt=0
g=9.81
print 10
write (17,10)
10 format (2x,' t ',2x,' v ',2x,' teta ',2x,' h ',2x,
*' x ',2x,' mu ',2x,' ny ',2x,'alfa')
Формирование блока управления ЛА:
C+ r21, hl, h0, xk, h3
С- ny, r2, xmm, rk, x3,
С/UPRAVVP/Управление ЛА
c Управление ЛА В-П
15 r1=(h1-h0)/((1+r21)*(1-cos(ttm)))
xmm=x0+r1*sin(ttm)
if (x.gt.x0.and.x.le.xmm)then
ny=v*v/(9.81*r1)+cos(tt)
endif
r2=r21*r1
x1=x0+(r1+r2)*sin(ttm)
if (x.gt.xmm.and.x.le.x1)then
ny=v*v/(9.81*(-r2))+cos(tt)
endif
rk=(h1-h3)/(1-cos(ttk))
x2=xk+h3/(tan(ttk))+rk*sin(ttk)
if (x.gt.x1.and.x.le.x2)then
ny=1
endif
x3=xk+h3/tan(ttk)
if (x.gt.x2.and.x.le.x3)then
ny=v*v/(9.81*(-rk))+cos(tt)
endif
Формирование блока управления двигателем:
С+mut, taud, pud
С-pc, muc
С/UPRAVDVVP/Управление двигателем
c управление двигателем
if (t.le.taud) then
muc=mut/taud
pc=muc*pud/g
else
muc=0
end if
*B342
Формирование блока уравнений движения:
С+ cya, roh, p, cx
С-vt, ttt, mutt, ht, xt
С/DVIGENVP/Уравнения движения
c уравнения движения В-П
aa=9.81*mu*ny/((muc*pud/57.3)+(cya*roh*v*v/(2*p)))
vt=1/mu*(muc*pud-roh*v*v*cx/(2*p))-9.81*sin(tt)
ttt=9.81/v*(ny-cos(tt))
mutt=-muc
ht=v*sin(tt)
xt=v*cos(tt)
Формирование блока численного интегрирования уравнений движения:
C+dt
C-v, tt, mu, h, x
C/INTEGRVP/Интегрирование уравнений движения
c Интегрирование В-П
v=v+vt*dt
tt=tt+ttt*dt
mu=mu+mutt*dt
h=h+ht*dt
x=x+xt*dt
print 3,t,v,tt*57.3,h,x,mu,ny,aa
write(17,3)t,v,tt*57.3,h,x,mu,ny,aa
3 format(2x,f5.1,2x,f9.2,2x,f9.5,2x,f9.2,2x,f9.2,2x,f9.5,2x,f9.4,
*2x,f9.4)
|
|
IF(h.GT.(dt*h)) then
t=t+Dt
goto 15
endif
Формирование блока коррекции секундного расхода:
С+Q
С-mut
С/KORMUTVP/Коррекция секундного расхода
c Коррекция секундного расхода
IF (ABS((v-vK)/vk).GT.0.02)then
MUT = MUT*(vk+Q)/(v+Q)
print 34,mut
write(17,34) mut
34 format (30x,'коррекция MUT',3x,'MUT=,'f7.4)
goto 702
end if
print 35,mut
write(17,35)mut
35 format(/30x,'mut=,'f7.4/)
Дата добавления: 2016-01-06; просмотров: 7; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!