Поблочный текст и состав программы баллистического проектирования ЛА класса Воздух – Поверхность управляемого по программе



Формирование блока исходных данных:

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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!