内弹道计算程序
内弹道解算程序C++
内弹道解算程序C++附录程序#define _CRT_SECURE_NO_DEPRECA TE#include#include#include#include#include#include //C head file#include#include#include#includeusing namespace std;/*初始参数*///////////燃烧室内参数//火药燃烧的参数#define U1 0.2 //燃速系#define an 0.82 //燃速指数#define omga 1.76 //装药质量#define am 21.76 //弹丸质量#define f 980000 //火药力#define F1 1.1 //阻力系数#define STA 0.2 //(k-1)#define DP 1600 //火药装填密度#define ALF 1.0e-3 //火药燃气余容double PG=30e6 ; //挤进压力//火药参数(单基9/7)#define HE1 0.5e-3 //第二种火药半弧厚#define HD0 0.5e-3 //第二种火药内孔直径#define HD2C 12e-2 //第二种火药火药长//火药形状特征量Π1、Q1、βdouble XHT,XHQ,XHB;//double XHB;//碎粒燃烧结束时的Zb,火药形状参数χ、λ和μdouble Zb0,CI,ALM,AMU;//碎粒燃烧阶段的形状参数χs、λsdouble CIS,ALMS;//////////火炮参数#define V0 4.2e-3#define omga2 0.34 //第一种药质量#define f2 980000 //第一种药火药力#define DP2 1600 //第一种药密度#define ALF2 1e-3 //第一种药余容//火药参数(选用杆状药)#define HE12 0.24e-3 //火药半弧厚#define HD02 0.3e-3 //内孔直径#define HD2C2 6.5e-3 //火药长//#define f2 980000double Z2,PSI2,dZ2,Zb2,Zm2;double DLT2;//火药形状参数χ、λ和μdouble CI2,ALM2,AMU2;double XHB2;#define pi 3.1415926 //圆周率#define atm 1.013e5 //大气压#define h 1e-7 //步长int i,i0,j,k,ii;//次要功系数、身管截面积,燃烧室当量长度double FI,s,L0;//火药的装填密度double DLT;double aaa;double NST,HIB;//火药燃烧时间double TIME,TIMm,TIMb;//PTDD:膛底压力double PTDD;//弹后空间平均压力、弹底压力double P,PD;double PSI,ZJSN;//double PSI2;double PV,LPSI;long NN;//弹丸运动距离(不大于身管长度)double L,Lb,Lm,dL;//弹丸速度double v,vm,vb,dv;int nn;//////////////微分过程参数double a1[6];double Z,dZ,Zb,Zm;void ranshaoshi();void chushitiaojian();void ranshao_0();void ranshao_1();void thy();void main(){FILE *outhy;ranshaoshi();NST=5;HIB=NST*h;outhy=fopen("hy0.txt","w");fprintf(outhy,"omga(kg)\tFI\tDLT\n");fprintf(outhy,"%f\t%f\t%f\n",omga,FI,DLT*1e-3);fprintf(outhy,"t(ms)\tZ\tψ\tZ2\tψ2\tPTDD(MPa)\tP (MPa)\tPD(MPa)\tv(m/s)\tLψ(m)\tL(m)\n");//初始燃烧时条件P=5e6;TIME=0;chushitiaojian();ranshao_0();while(L<=2.384){thy();fprintf(outhy,"%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\ n",TIME*1e3,Z,PSI,Z2,PSI2,PTDD*1e-6,P*1e-6,PD*1e-6,v,LPSI,L);}fclose(outhy);printf("FI is %f\n",FI);printf("v is %f\n",v);printf("Finished!");getchar();}void ranshaoshi(){FI=1.132;s=119.6e-4;L0=V0/s;DLT=omga/V0;DLT2=omga2/V0;//////9/7多孔药Zb0=1+0.2956*(1+HD0/2/HE1);XHT=((3*HD0+8*HE1)+7*HD0)/HD2C;XHQ=(pow((3*HD0+8*HE1),2)-7*HD0*HD0)/(HD2C*HD2C); XHB=2*HE1/HD2C;CI=(2*XHT+XHQ)/XHQ*XHB;ALM=(6-2*XHT)/(2*XHT+XHQ)*XHB;AMU=-1*6/(2*XHT+XHQ)*XHB*XHB;CIS=(1-CI*(1+ALM+AMU)*Zb0*Zb0)/Zb0/(1-Zb0);ALMS=CI*(1+ALM+AMU)/CIS-1;////////杆状药XHB2=2*HE12/HD2C2;CI2=1+XHB2;ALM2=-1*XHB2/(1+XHB2);AMU2=0;}void chushitiaojian(){double segma,segma2;PSI=(1/DLT-1/DP)/(f/P+ALF-1/DP);segma=sqrt(1+4*ALM/CI*PSI);Z=2*PSI/CI/(1+segma);PSI2=(1/DLT2-1/DP)/(f2/P+ALF-1/DP);segma2=sqrt(1+4*ALM2/CI2*PSI2);Z2=2*PSI2/CI2/(1+segma2);}void thy(){a1[1]=0.5*HIB;a1[2]=a1[1];a1[3]=HIB;a1[4]=HIB;a1[5]=a1[1];Zm=Z;Zb=Z;Zm2=Z2;Zb2=Z2;Lm=L;Lb=L;vm=v;vb=v;TIMm=TIME;TIMb=TIME;for (j=1; j<5; j++){ranshao_1();Z=Zm+a1[j]*dZ;Zb=Zb+a1[j+1]*dZ/3;Z2=Zm2+a1[j]*dZ2;Zb2=Zb2+a1[j+1]*dZ2/3; L=Lm+a1[j]*dL;Lb=Lb+a1[j+1]*dL/3;v=vm+a1[j]*dv;vb=vb+a1[j+1]*dv/3; TIME=TIMm+a1[j]; TIMb=TIMb+a1[j+1]/3;if (j==4){Z=Zb;Z2=Zb2;L=Lb;v=vb;TIME=TIMb;}ranshao_0();}}void ranshao_0(){PSI=1;//主体燃烧阶段if (Z<1){PSI=CI*Z*(1+ALM*Z+AMU*Z*Z);}//碎粒燃烧阶段if (Z>=1 && Z<=Zb0){PSI=CIS*Z*(1+ALMS*Z);}if (Z2<1){PSI2=CI2*Z2*(1+ALM2*Z2+AMU2*Z2*Z2);}LPSI=L0*(1-DLT/DP*(1-PSI)-DLT2/DP2*(1-PSI2)-ALF*DLT*PSI-ALF2*DLT2*PSI2);PV=f*omga*PSI+f2*omga2*PSI2-STA*FI*am*v*v/2; P=PV/(s*(L+LPSI));PTDD=P*(1+(omga+omga2+0.03)/(2*F1*am))/FI; }void ranshao_1(){dZ=0;if (Z<zb0)< p="">{dZ=U1*pow(P,an)/pow(1e6,an)/HE1/100;}dZ2=0;if (Z2<1){dZ2=U1*pow(P,an)/pow(1e6,an)/HE12/100;}dL=v;dv=0;PD=P*F1/FI;if (PD>PG){dv=s*P/(FI*am);nn=1;}if(nn==1){dv=s*P/(FI*am);}}</zb0)<>。
第2章内弹道部分-part4内弹道解法(一)
( Z 0 x) ( Z 0 x) 2
2 ; 0 1 2Z0 ,并记 K1 0 由 0 Z0 Z0
则
0 K1 x x 2
由三式得:
S 2 I k2 Spdl pdV m v d v xdx m
⑴
S 2 I k2 2 由四式得: p(V V ) f x 2 m
⑵
内弹道的解法
⑴除以⑵得
dV Bxdx V V B x 2 2
⑶
S 2 I k2 由该方程可以得到 V ( x) 。令 B ,这是将各种装填条件综合在一起的无因次 f m
V V0 或 V V0
p
美国的马耶—哈特模型及英国的 RD—38 模型都采用这种简化方法。 ⑷ 燃气生成函数采用两项式 Z (1 Z ) 且其系数满足 (1 ) 1 ,故独立的系数只有一个 。
内弹道的解法
⑸ 恒温假设
mv 2 将④式改写为 p(V V ) f ,式中 f f (1 ) ,因为体现膛内温度 2 f
比较一阶变系数常微分方程
⑷
dV p( x)V Q( x) 0 ,可知上述方程正是这种类型,所以 dx
原则上是可以解的,但实际求解时计算比较麻烦,所以一般用近似解来近似代替。一种 方法是俄罗斯谢烈柏梁可夫最先采用的,将 V 在积分时取为常数 即
V V
V V
0
2
内弹道的解法
dp xm 应满足的方程,然后令 0 ,就可以求出 dt m
xm
K1 B(1 ) 2 1 pm 1 ( ) p f
火炮内弹道求解与计算
火炮内弹道求解与计算
火炮内弹道是指火炮射击时炮弹在火炮内的运动轨迹。
要解决火炮内弹道问题,需要考虑炮弹在炮管内的运动特性,以及发射药燃烧产生的气体对炮弹的推动力。
本文将从炮弹的运动方程入手,分析火炮内弹道的解法并进行计算。
炮弹的运动方程可以表示为:
ma = F - mg - fd - fL
其中m是炮弹的质量,a是炮弹在炮管内的加速度,F是发射药燃烧产生的推动力,g是重力加速度,fd是炮弹在炮管内受到的阻力,fL是炮弹在炮管内受到的气体偏转力。
在火炮运动方程中,炮弹在炮管内的加速度a是常量,可以通过测量炮弹的初速度和射程得到。
炮弹的初速度可以通过实验或者计算得到。
发射药燃烧产生的推动力F可以通过推进药的燃烧速率和燃烧产物的排放速度进行计算。
通过实验或者模拟可以得到推进药的燃烧速率和燃烧产物的排放速度。
炮弹在炮管内受到的阻力fd可以通过火炮内管壁的摩擦力和火药燃烧产生的气体对炮弹的阻力进行计算。
火炮内管壁的摩擦力可以由实验和数学模型得到。
火药燃烧产生的气体对炮弹的阻力可以通过实验和气体动力学模型计算。
炮弹在炮管内受到的气体偏转力fL可以通过气体对炮弹的作用力和炮弹的偏转角度进行计算。
气体对炮弹的作用力可以由实验和气体动力学模型得到。
炮弹的偏转角度可以由实验或者数学模型计算。
通过解决火炮内弹道问题,可以得到炮弹的运动轨迹和射程。
在实际应用中,可以通过对火炮内弹道进行数值模拟和优化计算,提高火炮的射击精度和射程。
弹道计算程序
弹道计算程序弹道计算程序的基本原理是根据弹道学的基本公式和物理原理,计算弹道飞行过程中的各种参数,如飞行时间、发射角度、发射速度、最大高度等。
以下是一个简单的弹道计算程序的示例:```pythonimport mathdef calculate_ballistic(angle, velocity):# 计算弹道参数g = 9.8 # 重力加速度radians = math.radians(angle) # 将角度转换为弧度time_of_flight = 2 * velocity * math.sin(radians) / g # 弹道飞行时间max_height = (velocity ** 2) * (math.sin(radians) ** 2) / (2 * g) # 最大高度range = velocity ** 2 * math.sin(2 * radians) / g # 射程# 输出计算结果print("发射角度:{} 度".format(angle))print("发射速度:{} 米/秒".format(velocity))print("飞行时间:{} 秒".format(time_of_flight))print("最大高度:{} 米".format(max_height))print("射程:{} 米".format(range))# 调用计算函数calculate_ballistic(45, 100)```该程序使用了数学库math来进行数学计算。
其中,calculate_ballistic函数接受发射角度和发射速度作为参数,然后根据弹道学公式计算飞行时间、最大高度和射程,并将结果输出。
在示例中,调用calculate_ballistic(45, 100)来计算发射角度为45度,发射速度为100米/秒时的弹道参数。
[知识]内弹道计算程序
内弹道计算程序%内弹道计算程序function nddclc;clear;%构造与装填条件------------------------------------S =1.681; %枪(炮)膛横断面积 dm^2q = 10.24; %弹重 kgW_0 = 10.35; %药室容积 dm^3l_g = 62.25; %身管行程 dm%进程的进行条件-------------------------------------P_0 = 45000; %起动压力 kpatheta = 0.25; %火药热力系数K = 1.222; %次要功系数%装填条件--------------------------------------------delta =1.6; %火药密度 kg/dm^3f = 948000; %火药力 kg*dm/kgalpha =1 %余容 dm^3/kgomega = 10.35; %药量 kgV = 0.9627; %烧速指数u =0.0000088; %烧速系数 dm^3/(s*kg)%火药特征(仅适用于多孔火药)-----------------------------e_1 = 0.0088; %厚度(肉厚)/2 dmd_0 = 0.022; %孔道直径 dmD_0 = 0.1364; %药粒直径(梅花形不用管此项) dmc = 1.3 %药粒长度/2 dmn = 7; %孔数flag = 1; %1:圆柱形多孔火药 2:梅花形七孔火药 3:梅花形十四孔火药 4:梅花形十九孔火药%形状函数 ------Flag = [ 1 n 0 D_0 0 0.2956;2 8 65.2968 d_0+4*e_1 d_0+2*e_1 0.1547;8/3 47/3 141.4764 d_0+4*e_1 d_0+2*e_1 0.1547;3 21 195.8903 d_0+4*e_1 d_0+2*e_1 0.1547];F1 = Flag(flag,1);F2 = Flag(flag,2);F3 = Flag(flag,3);F4 = Flag(flag,4);F5 = Flag(flag,5);F6 = Flag(flag,6);Pi_1 = ( F1*F4 + F2*d_0 )/(2*c);Q_1 = ( F3*F5*F5 + F1*F4*F4 - F2*d_0^2 )/( 4*c^2 );beta = e_1/c;chi = ( Q_1 + 2*Pi_1 )*beta/Q_1;lambda = ( n - 1 - 2*Pi_1 )*beta/( Q_1 + 2*Pi_1 );mu = ( 1 - n )*beta^2/( Q_1 + 2*Pi_1 );psi_s = chi*( 1 + lambda + mu );rho = F6*( d_0/2 + e_1 );Z_s = 1 + rho/e_1;chi_s = ( psi_s*Z_s^2 - 1 )/( Z_s^2 - Z_s );lambda_s = psi_s/chi_s - 1;%常数与初值计算-------------------------------------------------------l_0 = W_0/S;Delta = omega/W_0;phi = K + omega/(3*q);v_j = 196*f*omega/(phi*theta*q);v_j = sqrt(v_j);B = 98*(e_1*S)^2/( u*u*f*omega*phi*q );B = B*(f*Delta)^(2-2*V);p_0 = P_0/(f*Delta);psi_0 = (1/Delta - 1/delta)/(f/P_0 + alpha - 1/delta);Z_0 = (sqrt(1+4*psi_0*lambda/chi) - 1)/(2*lambda);C = zeros(1,11);C(1)=chi;C(2)=lambda;C(3)=lambda_s;C(4)=chi_s;C(5)=Z_s;C(12 )=mu;C(6)=theta;C(7)=B;C(8)=V;C(9)=Delta;C(10)=delta;C(11)=alpha;%解算子-------------------------------------------------------------------options = odeset('outputfcn','odeplot');[t,y] = ode45(@ndd_fun,0:100,[Z_0;0;0],options,C);l = y(:,2);l = l*l_0;fl = find(l>=l_g);fl = min(fl);[t,y] = ode45(@ndd_fun,0:0.005:fl,[Z_0;0;0],options,C);Z = y(:,1);l = y(:,2); v = y(:,3);psi = (Z>=0&Z<1).*( chi*Z.*(1 + lambda*Z + mu*Z) ) +... (Z>=1&Z<Z_s).*( chi_s*Z.*(1 + lambda_s*Z) ) +...(Z>=Z_s)*1;l_psi = 1 - (Delta/delta)*(1-psi) - alpha*Delta*psi;p = ( psi - v.*v )./( l + l_psi );p = p*f*Delta/98.0665;v = v*v_j/10;l = l*l_0;t = t*l_0*1000/v_j;fl = find(l>=l_g);fl = min(fl)+1;p(fl:end)=[];v(fl:end)=[];l(fl:end)=[];t(fl:end)=[];subplot(2,2,1);plot(t,p,'linewidth',2);grid on;xlabel('\fontsize{8}\bft (ms)');ylabel('\fontsize{8}\bfp (kg/cm^{2})');title('\fontsize{8}\bfp-t曲线');subplot(2,2,2)plot(t,v,'linewidth',2);grid on;xlabel('\fontsize{8}\bft (ms)');ylabel('\fontsize{8}\bfv (m/s)');title('\fontsize{8}\bfv-t曲线');subplot(2,2,3)plot(l,p,'linewidth',2);grid on;xlabel('\fontsize{8}\bfl (dm)');ylabel('\fontsize{8}\bfp (kg/cm^{2})');title('\fontsize{8}\bfp-l曲线');subplot(2,2,4)plot(l,v,'linewidth',2);grid on;xlabel('\fontsize{8}\bfl (dm)');ylabel('\fontsize{8}\bfv (m/s)');title('\fontsize{8}\bfv-l曲线');tspan = length(t)/20;tspan = 1:ceil(tspan):length(t);tspan(end) = length(t);fprintf(' t(ms) p(kg/cm^2) v(m/s) l(dm)'); format short g;Result = [t(tspan) p(tspan) v(tspan) l(tspan)] format;。
大口径机枪内弹道及导气室压力的计算
大口径机枪内弹道及导气室压力的计算1. 前言大口径机枪是当今最先进的军事武器之一,其弹道精度和射程都在不断提高。
在机枪的设计和制造过程中,数学模型的建立和弹道计算是非常重要的一环。
本文将探讨大口径机枪内弹道及导气室压力的计算方法。
2. 大口径机枪内弹道的计算大口径机枪内弹道的计算需要考虑多种因素,包括弹丸的质量、速度、空气阻力、自旋等。
这些因素都会对弹道轨迹产生影响,因此需要建立数学模型,通过模拟计算得到准确的弹道轨迹。
2.1 弹道轨迹计算模型弹道轨迹计算模型分为两类:解析方法和数值方法。
解析方法是通过数学公式推导得出弹道轨迹方程,可以得到准确的解析解,但适用范围有限,只适用于某些特定情况。
数值方法是通过离散化求解弹道轨迹,在计算机上进行数值仿真,适用范围更广,但是需要计算机进行复杂的运算,速度较慢。
对于大口径机枪内弹道的计算,常用的数值方法是欧拉法和龙格-库塔法。
欧拉法是通过离散化时间对连续的弹道轨迹进行拟合,在每个时间步长内计算弹丸的速度和位置。
龙格-库塔法是欧拉法的高阶拓展,通过更复杂的公式计算弹丸的速度和位置,精度更高。
2.2 弹道轨迹计算流程弹道轨迹计算的流程包括以下步骤:1. 建立弹道轨迹模型,确定算法、时间步长、精度。
2. 输入弹丸初速度、大小、自旋、质量等参数。
3. 计算弹丸的速度和位置,考虑空气阻力、引力等因素。
4. 判断弹丸是否击中目标,如果没有继续计算,直到弹丸击中目标或离开射程。
5. 输出计算结果,包括弹道轨迹、飞行时间、命中点等信息。
2.3 建模与计算工具建模与计算工具包括Mathematica、Matlab、Python等,其中Python是最常用的工具之一,因为Python语言简洁易学,有众多科学计算库和开源工具包。
3. 导气室压力的计算导气室是大口径机枪内的一个重要组成部分,可以提高弹丸的初速度和射程。
导气室压力的计算是确定导气室的设计和参数的关键步骤。
3.1 导气室原理导气室是由枪管和枪膛组成的,当枪管中的火药燃烧产生高温高压气体时,这些气体进入导气室,使其内压力急剧增加,从而产生推动力,使弹丸加速并射出。
内弹道程序
#include"stdio.h"#include"math.h"#include"stdlib.h"#define roup 1600#define w 14.72#define f 950000#define sita 0.2#define alpha 0.001#define u1 1.14*10^-8#define n1 0.8275#define e1 0.000893#define x1 1.06#define lamada -0.0566#define miu 0.0#define m 46#define s 0.01905#define V0 0.020027#define lg 7.3206#define fai 1.12667#define P0 3*10^7#define deda 735#define L0 1.0513#define Vj 1642.38#define B 3.4559#define lgpingjun 6.96double Y[6],Z[4];FILE *fo;int main()//主函数{Y[0]=0,Y[1]=0,Y[2]=0.04296,Y[3]=0,Y[4]=0.0223,Y[5]=0.021,Z[0]=0,Z[1]=0,Z[2]=3*pow(10,7),Z[3]=0; //依次分别给相对时间,相对速度,相对压强,炮弹相对位移,,相对燃烧量//相对燃烧厚度,时间,速度,压强,炮弹位移。
void rk(int n,double h);void result();fo=fopen("output.txt","w");fprintf(fo,"%s"," 相对时间绝对时间炮弹位移速度压强相对燃烧量相对燃烧厚度\n");fprintf(fo," s m m/s pa \n");do{result();rk(6,0.001);}while (Z[3]<lg);//Z[3]表示炮弹位移,截止条件fclose(fo);}//龙格库塔算法void rk(int n,double h){externvoid dery(int n,double dy[],double Y[]);double a[4],old_Y[6],*dy,Y1[6];int i,j;dy =(double*) calloc(n, sizeof(double));a[0]=a[1]=h/2;a[2]=a[3]=h;dery(n,dy,Y);for(i=0;i<n;i++)old_Y[i]=Y[i] ;for(j=0;j<3;j++){for(i=0;i<n;i++){Y1[i]=old_Y[i]+a[j]*dy[i];Y[i]=Y[i]+a[j+1]*dy[i]/3;}dery(n,dy,Y1);}for(i=0;i<n;i++)Y[i]=Y[i]+a[0]*dy[i]/3;free(dy);return;}//右端子式void dery(int n,double dy[],double Y[]){dy[0]=1;if(Y[5]<1 ){dy[4]=x1*(1+2*lamada*Y[5]+3*miu*pow(Y[5],2))*sqrt(sita/(2*B))*pow(Y[2],n1) ;}elseif(Y[5]>=1){dy[4]=0;}if(Y[5]<1){dy[5]=sqrt(sita/(2*B))*pow(Y[2],n1) ;}else{dy[5]=0;}dy[3]=Y[1];dy[1]=sita/2*Y[2];dy[2]=1/(Y[3]+0.541-0.2756*Y[4])*(1+deda*(alpha-1/1600)*Y[2])*dy[4]-(1+sita)/(Y[3]+0.5 41-0.2756*Y[4])*Y[2]*Y[1];Z[0]=L0/Vj*Y[0];Z[1]=Vj*Y[1];Z[2]=f*deda*Y[2];Z[3]=L0*Y[3];return;}//显示结果void result(){staticint i=1;{fprintf(fo,"%13.3f",Y[0]);//相对时间fprintf(fo,"%13.6f",Z[0]);//绝对时间fprintf(fo,"%13.6f",Z[3]);//炮弹位移fprintf(fo,"%13.3f",Z[1]);//速度fprintf(fo,"%20.3f",Z[2]);//压力fprintf(fo,"%13.6f",Y[4]);//相对燃烧量fprintf(fo,"%13.6f",Y[5]);//相对燃烧厚度fprintf(fo,"\n");i++;}return;}。
内弹道方程组及其求解
上一页 下一页 返回
10.1 火炮射击过程的不同时期
• 10.1.4 后效期
• 从tg时刻开始,一直持续到平均弹道压力等于临界压力p=pcr 时结束,这一时期称为后效期。对于火药气体流出到空气中(k=1 .4)的情况,临界压力pcr约等于0.18MPa。
上一页 下一页 返回
10.4 内弹道方程组的解析解法
上一页 下一页 返回
10.4 内弹道方程组的解析解法
上一页 下一页 返回
10.4 内弹道方程组的解析解法
• 10.4.2 热力学第一时期
• 在热力学第一时期,火药已燃百分比ψ从ψ0变化到1。 • 为了对热力学第一时期求解,需要使用下列简化的内弹道方程:
• 在进行内弹道方程的解析求解时,需要分成不同阶段。 • 1.前期(热静力学时期) • 这一时期的起点为火药点火瞬间,终点是平均膛压等于挤进压力p0
瞬间。点火压力
下一页 返回
10.4 内弹道方程组的解析解法
上一页 下一页 返回
10.4 内弹道方程组的解析解法
上一页 下一页 返回
10.4 内弹道方程组的解析解法
• 10.1.2 热力学第一时期
• 热力学第一时期从t0时刻开始,一直持续到火药燃烧结束点。如果 火炮装药设计得不够合理,就有可能发生弹丸已经出炮口而这一阶段 还没有结束的情况。
下一页 返回
10.1 火炮射击过程的不同时期
• 对于好的弹道学设计,这一阶段所需时间应该只占弹丸出炮口时间的 一部分。在热力学第一时期,弹丸在膛内的运动使弹后空间体积不断 增大,火药在变容情况下燃烧。弹底和膛底之间容积变化率随着弹丸 速度的增加而增加。在这一时期的开始阶段,弹丸速度很小,以至于 火药燃烧后的气体生成速率迅速升高,因此,膛内压力增加。在tm 时刻,容积变化率和气体生成速率达到平衡,膛内压力达到最大压力 pm。在最大膛压pm以后,由于气体生成速率不能补偿弹后容积的 增大变化率,膛压开始下降。在tm时刻,燃烧参数I、z和ψ将用 下标m标记,记作Im、zm和ψm,弹丸速度和行程分别记为vm和 lm。
发射动力系统内弹道优化设计计算
发射动力系统内弹道优化设计计算发射动力系统内弹道优化设计计算发射动力系统内弹道优化设计计算是探索重点任务之一,因为它关系到弹道导航与控制系统的精度和可靠性,直接影响到导弹的打击效果和命中率。
本文将对发射动力系统内弹道优化设计计算进行详细介绍。
一、发射动力系统内弹道发射动力系统内弹道是导弹在离开发射台后到达目标点之前的轨迹。
一般来说,内弹道采用了三段加速法,即在离发射台距离较远的位置采用第一段加速,使导弹进入空气稀薄层中加速追踪目标;在距离目标点较远的位置采用第二段加速;在离目标点较近的位置采用第三段加速,使导弹能够击中目标,实现任意角度的攻击。
二、内弹道优化设计计算内弹道的优化设计计算目的是确定最佳的飞行计划和调整飞行参数,以使导弹能够以最小的时间、最小的燃料消耗和最大的精度击中目标。
(一)导引律选择导引律是导弹内弹道控制系统的核心,选择合适的导引律可以有效提高导弹的命中率和抗干扰性能。
常见的导引律有比例导引律、比例修正导引律、比例-积分导引律和预测导引律等。
在具体设计时需要根据目标类型、干扰环境和系统要求等综合因素进行选择。
(二)控制极点设计内弹道控制极点的设计是使导弹飞行稳定、准确的保证,控制极点对内弹道的稳定性、敏感度和过冲量等指标起到直接的影响。
调节控制极点的位置和数量可以精确控制导弹的动态行为,如响应速度、阻尼比、稳定性和过冲量等参数。
(三)预测法控制预测法控制是一种高级的弹道控制方法,与常规的比例-积分导引律不同的是,它使用预测技术来基于中间目标预测趋势,根据预测结果对导弹控制系统进行修正,使导弹能够更快、更准确地找到目标。
预测法控制可以提高导弹的抗干扰能力和命中率,特别适用于高速飞行和大气干扰条件下的导弹控制。
(四)弹体设计弹体设计是导弹内弹道优化设计的重要环节,它涉及到空气动力学、力学和材料科学等多学科交叉领域。
弹体设计的关键在于降低弹体的阻力和重量,提高弹体的机动性和抗干扰性能。
第2章内弹道部分-part5内弹道设计
内弹道部分
§5 内弹道设计
方案设计步骤
1. 原始数据准备 当口径d,弹丸质量m 及初速v0 给定后,可 以计算出威力系数 CE mv02 / 2d 3 。由统计结果 关系(参考)选择 pm 、 k (或参考同类火炮)
pm 、 k 随变化参考表
CE /( kJ ) 3 dm
1000 2000 3000 4000 5000 6000 7000 8000 10000 12000 14000 16000
值约在 0.16~ 0.30之间。
内弹道部分
§5 内弹道设计 内弹道设计的评价标准
② 衡量火药燃烧渐增性程度的 炮膛容积利用系数或示压系数
2 pdV m p 0 vg g pm pmVg 2 pmVg Vg
在射击过程中,膛内火药气体的压力是变化的。而p-l曲 线下面的面积则反映了压力曲线变化的特点和做功的大小。
(1)最大压力 Pm:如前所述,确定最大压力不仅要考虑弹道性 能,而且要考虑到身管的材料性能、弹体的强度、引信的作用 和炸药应力等因素。 (2)最大的装填密度△:最大装填密度一般是指能够实现的最 大装药量。它一般取决于火药的密度和形状、药室结构、药室 内附加元件的数量和装填方式等。
(3)最大的药室容积:对于坦克炮和自行火炮一般都对药室容 积有一定的限制。过大的药室容积不仅占据了较大的空间,而 且还增加了自动机构装填和抽筒的自由空间,影响了车辆内部
在射击过程中,当弹丸离开炮口以后,膛内火
药气体仍具有较高压力 (50~100MPa)和较高温 度(1 200~l500K)并以很高的速度向外流出。
内弹道部分
§5 内弹道设计
⑤ 火炮的寿命,身管的寿命终止前的发数称为 该火炮身管的寿命数。
内弹道学第三章 内弹道方程组的解法
根据假设7,弹丸是瞬时挤进膛线,并在压力达 到挤进压力P0时才开始运动。所以这一时期的特点应 该是定容燃烧时期,因此
l0, v0
§3.2 内弹道方程组的解法
在这一时期中,火药在药室容积W0中燃烧,压力则 由PB 升高到P0,与P0相应的前期结束的瞬间标志火药形 状尺寸的诸元也将相应地为ψ0、σ0及Z0。这些量既是 这一时期的最终条件,又是第一时期的起始条件。所以, 这一时期解法的目的,实际上就是根据已知的P0分别解 出ψ0、σ0及Z0这三个前期诸元。
f
1
v
2 j
S l1 l
为了计算方便起见,我们也可以采用另一种形式的
公式,即根据燃烧结束点的压力公式
Pk
f
1
vk2 v j2
S l1 lk
§3.2 内弹道方程组的解法
整理得 炮口处
P
Pk
l1 lk l1 l
1
Pg
Pk
l1 l1
lk lg
1
我们即求得第二时期的P-l及v-l曲线,再加上 第一时期的P-l及v-l曲线,从而求得整个的P-l及 v-l曲线。
0 1x 2b
0 xx1 2b
0 xx2
b1
b1
ln1xx12b1xx22b lnZx
式中
b1
b1
Zx1xx12b 1xx22b
b1
b1
1b 21K B 1 1x2b1b2 1K B 1 1x2b
§3.2 内弹道方程组的解法
最后求得
如令
Bx B 1 0
x 1x d x B B 1ln Z xB B 1ln Z1 x
在正常情况下,按照上式计算出的xm值都应该小 于xk=1-Z0。这就表示在火药燃烧结束之前出现最大 压力。
第2章内弹道部分-part4内弹道解法(二)
全弹道划分 100~200 个点即可。
四 . 内弹道数值解法
⑶ 初值计算
内弹道的解法
1 1 p p0 , 0 0 v0 0 0 , 0 f f / p ( 1 / p )
4 0 1 x 2
Z0
1
⑷ 弹道循环计算 中间最大压力搜索,特征点的判断。 ⑸ 输出
内弹道部分
V 1/V 1/V
`
0
` l
lg l
内弹道部分
内弹道部分
§4 内弹道的解法
装填条件对弹道的影响 为了改进武器的弹道性能,必须了解装填条件对弹道 性能的影响。影响弹道性能的因素诸多,最终体现在最大
压力和初速。而且武器 -弹药系统体现出来的弹道性能不是
单一因素的效果,而是多种因素的综合效果。
装填条件包括:火药的形状、装药量、火药力、火药的
压力全冲量、弹重、药室容积、挤进压力、拔弹力和点火 药量等。
§4 内弹道的解法
内弹道部分
装填条件对弹道的影响 1)火药的形状变化的影响
2)装药量变化的影响
3)火药力变化对各弹道诸元的影响 4)火药压力全冲量对弹道诸元的影响 5) 弹重变化的影响
6) 药室容积变化对弹道诸元的影响 7) 挤进压力变化的影响
'
取为常量时,可以
p( Z ) ,进而给出p 和v 以V 为自变量的表达式: 得出v( Z ) , V (Z ) ,
内弹道部分
§4 内弹道的解法
1 ' B B V f V p 1 1 1 V1 V1 V1
8) 拔弹力变化对弹道诸元的影响 9) 点火药对弹道诸元的影响
弹丸在膛内运动时期的内弹道基本方程
• 1.并行输出
• 如图5-8所示,这是一个由单片机的P1口驱动1
位LE D显示器的电路。
上一页 下一页 返回
[任务5.2]LED数码显示器接口设讨
• 5. 2. 3静态显示电路的软件结构 • 图5-8所示的并行输出的1位共阴LE D静态显示
电路比较简单,程序也不复杂。 • 5. 2. 4动态显示电路的结构及原理 • 动态显示就是逐位轮流点亮各位LE D显示器
第9章 弹丸在膛内运动时期的内弹道 基本方程
• 9.1 弹丸挤进压力 • 9.2 弹后空间气体速度与膛内气体压力分布 • 9.3 弹丸运动方程 • 9.4 膛底、弹底及平均膛压之间的关系 • 9.5 弹丸在膛内运动过程中火药气体所做的
各种功 • 9.6 次要功计算系数φ与内弹道学基本方程 • 9.7 弹丸极限速度的概念
[任务5.1]键盘接口设计
• (1)判断键盘中有无键按下 • (2)去除键的机械抖动 • (3)如有键被按下,则寻找闭合键所在位置,求
出其键代码
• (4)程序清单 • 5. 1 .5按键的去抖动设计 • 在单片机应用系统中,为了降低成本,通常采
用触点式按键,由于机械触点的弹性作用,在 按键闭合和断开的瞬间均有一个抖动过程。抖 动时间的长短与开关的机械特性有关上一,页一下般一页为返回
• 2.键盘/显示
下一页 返回
[任务5.3]抢答器设讨
• 5.3.3硬件设计 • 16路抢答器的硬件电路如图5-13所示。 • 5.3.4软件设计 • 主程序流程如图5-14所示。 • 中断服务程序流程如图5-15所示。 • 5.3.5电路仿真运行结果 • 对上述电路用Proteus软件进行仿真,其结果
• 影响弹丸启动压力的因素有弹带、坡膛结构和弹带材料的力学性能等 。长期以来,在火炮、弹药的研究、设计中,都把弹丸启动压力作为 一个符合参数来使用。依据技术特性相近火炮的启动压力值,预选一 个p0,一般选30MPa左右,轻武器的p0值取40MPa左右 ,计算出p-l、v-l曲线,并进行一系列技术设计。当装药结构 和弹道炮加工完成后,仍需要进行大量的弹道性能试验。
《火箭发动机》 7 内弹道
机正常和稳定的工作,使推进剂的化学能充分转化为热能,要求燃 烧室压强必须高于推进剂完全燃烧的临界压强;从结构设计方面来 看,燃烧室是一个主要承受内压的部件,在进行各组件和药柱的强 度计算前,必须先确定燃烧室中可能出现的最大压强,其值的大 小,直接影响对燃烧室的强度要求和结构重量。 由此可见,在发动机设计过程中,首先确定推进剂成分,装药 几何尺寸和喷管喉径。计算出燃烧室压强随时间空变化的曲线;然 后求得发动机的推力随时间的变化规律和有关发动机的其它性能参 数以及进行发动机壳体结构设计和强度计算;最后,确定发动机设 计性能。有时,为达到总体设计要求,要反复多次地进行装药和喷 管几何尺寸的设计以及内弹道计算,以求得发动机的最佳设计。 总之,内弹道计算的任务是在确定推进剂成分、装药几何尺 寸、工作环境温度、喷管喉部直径等条件下,计算燃烧室压强随时 间的变化规律。
对于一定面喉比的发动机来讲,推进剂性能特性是影响平衡压强 的主要因素。例如,特征速度C*主要反映推进剂的能量特性;推进剂 密度ρp反映燃烧同样体积的装药产生燃烧产物的多少;燃速系数a和 压强指数n都反映燃速的快慢,因而亦反映燃烧产物的秒生成量。因此, 在推进剂生产过程中要严格控制成分和质量比例,尽可能避免装药内 部在化学组成和密度上的差异,以免使平衡压强的散布较大。 由于推进剂燃速特性随初温的变化而变化,因此,在实际工作中, 初温也是影响发动机平衡压强的另一主要因素。 推进剂燃速受初温的影响是很显著的,初温高时,燃速高,平衡 压强增大,工作时间缩短;初温低时,燃速低,压强降低,工作时间 长。压强的这种变化必然引起推力产生相应的变化。这种随着季节环 境温度的不同而产生的推力变化,对导弹的总体性能有很大的影响。 因此,在发动机设计阶段,必须预计在各种可能的环境温度下燃烧室 平衡压强的变化。
火炮内弹道计算手册
火炮内弹道计算手册
火炮内弹道计算手册是用来计算火炮发射弹道的手册,帮助火炮操作员确定炮弹的飞行轨迹和命中目标的准确性。
以下是一些可能包括在火炮内弹道计算手册中的内容:
1. 弹道基本概念和定义 - 包括弹道的定义、轨迹、射程和可用
的弹道修正参数等。
2. 弹道元素 - 包括炮弹质量、初始速度、发射角度、大气条件、射程等。
3. 飞行轨迹计算方法和公式 - 包括抛射物运动和强迫子弹运动
的基本公式,以及如何计算炮弹的弹道。
4. 弹道修正参数 - 包括风向修正、补偿器修正、温度修正、气
压修正等,以及如何根据环境条件对弹道进行修正。
5. 命中目标计算 - 包括在给定环境条件下,如何计算炮弹对不
同目标的命中准度和所需修正。
6. 误差和不确定性分析 - 包括对弹道计算中可能存在的误差和
不确定性进行分析,以及如何进行误差修正和优化。
7. 弹药数据表 - 包括不同类型炮弹的参数表,如炮弹重量、速度、射程等。
8. 计算示例和练习 - 包括一些具体的计算示例和练习题,帮助
操作员熟悉弹道计算方法和应用。
最后,火炮内弹道计算手册还可能包括一些常见问题和故障排除指南,以帮助操作员解决在弹道计算中可能遇到的问题。
基于MATLAB的枪炮内弹道程序设计及仿真_郭新朋
枪炮弹道计算是一件非常繁杂的过程,在计算机未出现之前,解弹 道方程组一直是科学工作者的难题。过去需要大量的经验和大篇幅的 弹道射表才能解出一些与实际接近的近似解,工作量相当大。如今,在 计算机的帮助下,解弹道方程组是比较容易的,用计算机编出程序,只 要输入相应的弹道诸元就可求出对应的弹道曲线。利用计算机程序解 弹道方程组,既降低了人力的消耗,又能比较准确地计算出所求的弹道 诸元。在日趋激烈的现代战争中,利用电子计算机能够快速地计算出弹 道诸元是取得胜利的关键。因此,枪炮内弹道计算程序设计及仿真具有 重要意义。
0.5028 178.23 0.3098 304.55 272.31 320.67 0.2457 0.2032
0.6704 310.79 0.7170 351.48 314.28 370.09 0.3992 0.3404
0.8380 445.13 1.3523 320.46 286.54 337.42 0.5447 0.4794
校企合作、教学改革,打破了目前的传统的课堂教学,真正体现了 因材施教、理论结合实践的目标,长期将校企合作实施下去,从高校、企 业、学生三方都会获得很大收益。在未来发展过程中,企业不断摸索,找 准与高校合作发展的方向,在符合高校教学改革政策的条件下,发挥高 校的潜在资源优势,为企业自身创造更多利益,同时高校也尽可能全面 分析企业实施方案及潜在规则,使教师与学生能够在课程学习期间灌 输企业模式的思想,使学生不断了解社会需求,适应企业制度,为将来 就业奠定基础。
参考文献 [1]胡萍,赵霏霏,左继军.走校企合作之路培养高技能人才.中国职 业技术教育,2007/ 02. [2]傅建中,李建法,沈红卫.产学研结合 - 地方高校创建特色之路. 中国大学教育,2007/ 02. [3]曾成.高校创业教育目标及其实现.中南大学优秀硕士论文,2007. [4]刘瑞英.产学结合培养人才模式探索.企业研究,2007/ 02. [5]蒋丹.论我国高校校企合作模式的创新.四川师范大学经济与管 理学院,2007/ 01. [6]教育部.关于全面提高高等职业教育教学质量的若干意见(教高 [2006]16 号)[Z].2006- 11- 16.
内弹道编程
1、单一装药模型通常采用的内弹道模型是多孔火药的情况,即⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧-=+==⎪⎩⎪⎨⎧≥<=⎪⎩⎪⎨⎧≥<≤+<++=21122)(d d d d )(0)(d d )(1)1()1()1()1(mv f l l Sp p m S t v vt l Z Z Z Z p e u t Z Z Z Z Z Z Z Z Z Z Z k k nk k s s ϕθωψϕλχμλχψψ (3-61)其中⎥⎥⎦⎤⎢⎢⎣⎡---=ψ∆ραρ∆ψ)1(10p p l l ,0V ω∆=,S V l 00= 221kk k s s Z Z Z --=ψχ,1-=s s s χψλ,)1(μλχψ++=s ,11e e Z k ρ+= 内弹道求解步骤一般可按以下步骤进行:1. 输入已知数据(1) 火炮构造及弹丸诸元:S 、0V 、g l 、m ;(2) 装药条件:f 、α、ω、p ρ、θ、1u 、n 、1e 、χ、λ、μ、ρ;(3) 初始条件:0p ;(4) 计算次要功计算系数的参数:K 、b ;(5) 计算步长:h通常全弹道过程划分为100~200点即可,可作为确定步长的参考。
在程序调试时,可按所选步长、21步长等进行计算,根据不同步长对结果的影响大小及所需的计算精度,就可获得合理步长的实际经验。
2. 常量计算起始计算需要确定的常量有m b K ωϕ+=,0V ω∆=,S V l 00=,0l l l g g =,m f v j θϕω2=,)1(221212)(n f u m f e S B -∆=ωϕ 3. 初值计算初始值有00=t ,00=,00=v ,∆=f p p 00 p pp ραρ∆ψ1100-+-=,0041ψχλσ+=,λσ2100-=Z 其中,0Z 是用)(Z ψ的两项式时的近似计算式。
若)(Z ψ是三项式时,可求解三次方程)(00Z f =ψ来确定0Z 。
《火箭发动机》 7 内弹道 共21页PPT资料
在上面的分析中,认为燃烧室是一个充满高压燃烧气体的容器, 不考虑燃气的流动和燃烧室内的压强分布,室内各点的压强都相等。 这样,整个燃烧室压强同时随时间变化,与该点的位置坐标x无关,这 就是所谓“零维”的压强变化。对于燃气流速很小的燃烧室来说,压 强计算可以看作是一个“零维”问题来处理。但是,对装填密度较大 的侧面燃烧装药,燃气在通道中的流动沿轴向产生很大的速度,因此, 压强沿轴向有显著的变化。这种情况下,必须考虑压强在燃烧室中的 分布,应作为“一维”问题来进行压强计算。
由发动机实验所测得的 燃烧室压强一时间曲线可见, 燃烧室压强的变化有三个阶 段,如右图所示:
1.发动机起动阶段(上升段) 这包括点火和压强建立过程。首先 依靠点火装置中点火药点燃并燃烧生成的高温气体充满燃烧室,一方 面使燃烧室压强上升到点火压强;另一方面加热推进剂表面,点燃主 装药,这就是点火过程。当主装药全面点燃后,燃气质量生成量迅速 增大,并在瞬时超过喷管的质量流量,使燃烧室的压强迅速增加,同 时又促使喷管流量的增加,不断地与燃气生成量趋于相对平衡。最后, 燃烧室压强达到其相对稳定值,这个相对稳定值的压强称为工作压强。 这个压强建立的过程即称为发动机启动阶段。对一般发动机来说,这 个过程在几十毫秒内完成。
第七章 固体火箭发动机的内弹道计算
一、内弹道计算的任务 二、燃烧室压强的变化 三、零维内弹道计算的微分方程 四、平衡压强及其影响因素 五、燃烧室压强—时间曲线的简化计算
内弹道解算程序
附录程序#define _CRT_SECURE_NO_DEPRECATE#include <>#include <iostream>#include <>#include <>#include <>#include <iomanip>//C head file#include <>#include <>#include <string>#include <fstream>using namespace std;/*初始参数*///////////燃烧室内参数//火药燃烧的参数#define U1 //燃速系#define an //燃速指数#define omga //装药质量#define am //弹丸质量#define f 980000 //火药力#define F1 //阻力系数#define STA //(k-1)#define DP 1600 //火药装填密度#define ALF //火药燃气余容double PG=30e6 ; //挤进压力//火药参数(单基9/7)#define HE1 //第二种火药半弧厚#define HD0 //第二种火药内孔直径#define HD2C 12e-2 //第二种火药火药长//火药形状特征量Π1、Q1、βdouble XHT,XHQ,XHB;//double XHB;//碎粒燃烧结束时的Zb,火药形状参数χ、λ和μdouble Zb0,CI,ALM,AMU;//碎粒燃烧阶段的形状参数χs、λsdouble CIS,ALMS;//////////火炮参数#define V0#define omga2 //第一种药质量#define f2 980000 //第一种药火药力#define DP2 1600 //第一种药密度#define ALF2 1e-3 //第一种药余容//火药参数(选用杆状药)#define HE12 //火药半弧厚#define HD02 //内孔直径#define HD2C2 //火药长//#define f2 980000double Z2,PSI2,dZ2,Zb2,Zm2;double DLT2;//火药形状参数χ、λ和μdouble CI2,ALM2,AMU2;double XHB2;#define pi //圆周率#define atm //大气压#define h 1e-7 //步长int i,i0,j,k,ii;//次要功系数、身管截面积,燃烧室当量长度double FI,s,L0;//火药的装填密度double DLT;double aaa;double NST,HIB;//火药燃烧时间double TIME,TIMm,TIMb;//PTDD:膛底压力double PTDD;//弹后空间平均压力、弹底压力double P,PD;double PSI,ZJSN;//double PSI2;double PV,LPSI;long NN;//弹丸运动距离(不大于身管长度)double L,Lb,Lm,dL;//弹丸速度double v,vm,vb,dv;int nn;//////////////微分过程参数double a1[6];double Z,dZ,Zb,Zm;void ranshaoshi();void chushitiaojian();void ranshao_0();void ranshao_1();void thy();void main(){FILE *outhy;ranshaoshi();NST=5;HIB=NST*h;outhy=fopen("","w");fprintf(outhy,"omga(kg)\tFI\tDLT\n");fprintf(outhy,"%f\t%f\t%f\n",omga,FI,DLT*1e-3);fprintf(outhy,"t(ms)\tZ\tψ\tZ2\tψ2\tPTDD(MPa)\tP(MPa)\tPD(MPa)\tv (m/s)\tLψ(m)\tL(m)\n");//初始燃烧时条件P=5e6;TIME=0;chushitiaojian();ranshao_0();while(L<={thy();fprintf(outhy,"%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\n",TIME*1e3,Z,PSI,Z2,PSI2,PTDD*1e-6,P*1e-6,PD*1e-6,v,LPSI,L);}fclose(outhy);printf("FI is %f\n",FI);printf("v is %f\n",v);printf("Finished!");getchar();}void ranshaoshi(){FI=;s=;L0=V0/s;DLT=omga/V0;DLT2=omga2/V0;//////9/7多孔药Zb0=1+*(1+HD0/2/HE1);XHT=((3*HD0+8*HE1)+7*HD0)/HD2C;XHQ=(pow((3*HD0+8*HE1),2)-7*HD0*HD0)/(HD2C*HD2C);XHB=2*HE1/HD2C;CI=(2*XHT+XHQ)/XHQ*XHB;ALM=(6-2*XHT)/(2*XHT+XHQ)*XHB;AMU=-1*6/(2*XHT+XHQ)*XHB*XHB;CIS=(1-CI*(1+ALM+AMU)*Zb0*Zb0)/Zb0/(1-Zb0);ALMS=CI*(1+ALM+AMU)/CIS-1;////////杆状药XHB2=2*HE12/HD2C2;CI2=1+XHB2;ALM2=-1*XHB2/(1+XHB2);AMU2=0;}void chushitiaojian(){double segma,segma2;PSI=(1/DLT-1/DP)/(f/P+ALF-1/DP);segma=sqrt(1+4*ALM/CI*PSI);Z=2*PSI/CI/(1+segma);PSI2=(1/DLT2-1/DP)/(f2/P+ALF-1/DP); segma2=sqrt(1+4*ALM2/CI2*PSI2);Z2=2*PSI2/CI2/(1+segma2);}void thy(){a1[1]=*HIB;a1[2]=a1[1];a1[3]=HIB;a1[4]=HIB;a1[5]=a1[1];Zm=Z;Zb=Z;Zm2=Z2;Zb2=Z2;Lm=L;Lb=L;vm=v;vb=v;TIMm=TIME;TIMb=TIME;for (j=1; j<5; j++){ranshao_1();Z=Zm+a1[j]*dZ;Zb=Zb+a1[j+1]*dZ/3;Z2=Zm2+a1[j]*dZ2;Zb2=Zb2+a1[j+1]*dZ2/3;L=Lm+a1[j]*dL;Lb=Lb+a1[j+1]*dL/3;v=vm+a1[j]*dv;vb=vb+a1[j+1]*dv/3;TIME=TIMm+a1[j];TIMb=TIMb+a1[j+1]/3;if (j==4){Z=Zb;Z2=Zb2;L=Lb;v=vb;TIME=TIMb;}ranshao_0();}}void ranshao_0(){PSI=1;//主体燃烧阶段if (Z<1){PSI=CI*Z*(1+ALM*Z+AMU*Z*Z);}//碎粒燃烧阶段if (Z>=1 && Z<=Zb0){PSI=CIS*Z*(1+ALMS*Z);}if (Z2<1){PSI2=CI2*Z2*(1+ALM2*Z2+AMU2*Z2*Z2);}LPSI=L0*(1-DLT/DP*(1-PSI)-DLT2/DP2*(1-PSI2)-ALF*DLT*PSI-ALF2*DLT2*PSI2); PV=f*omga*PSI+f2*omga2*PSI2-STA*FI*am*v*v/2;P=PV/(s*(L+LPSI));PTDD=P*(1+(omga+omga2+/(2*F1*am))/FI;}void ranshao_1(){dZ=0;if (Z<Zb0){dZ=U1*pow(P,an)/pow(1e6,an)/HE1/100;}dZ2=0;if (Z2<1){dZ2=U1*pow(P,an)/pow(1e6,an)/HE12/100; }dL=v;dv=0;PD=P*F1/FI;if (PD>PG){dv=s*P/(FI*am);nn=1;}if(nn==1){dv=s*P/(FI*am);}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%解算子-------------------------------------------------------------------
options = odeset('outputfcn','odeplot');
l_psi = 1 - (Delta/delta)*(1-psi) - alpha*Delta*psi;
p = ( psi - v.*v )./( l + l_psi );
p = p*f*Delta/98.0665;
v = v*v_j/10;
l = l*l_0;
t = t*l_0*1000/v_j;
l_0 = W_0/S;
Delta = omega/W_0;
phi = K + omega/(3*q);
v_j = 196*f*omega/(phi*theta*q);
v_j = sqrt(v_j);
B = 98*(e_1*S)^2/( u*u*f*omega*phi*q );
B = B*(f*Delta)^(2-2*V);
fl = find(l>=l_g);
fl = min(fl)+1;
p(fl:end)=[];v(fl:end)=[];l(fl:end)=[];t(fl:end)=[];
subplot(2,2,1);
plot(t,p,'linewidth',2);
grid on;
xlabel('\fontsize{8}\bft (ms)');
rho = F6*( d_0/2 + e_1 );
Z_s = 1 + rho/e_1;
chi_s = ( psi_s*Z_s^2 - 1 )/( Z_s^2 - Z_s );
lambda_s = psi_s/chi_s - 1;
%常数与初值计算-------------------------------------------------------
format;
title('\fontsize{8}\bfp-l曲线');
subplot(2,2,4)
plot(l,v,'linewidth',2);
grid on;
xlabel('\fontsize{8}\bfl (dm)');
ylabel('\fontsize{8}\bfv (m/s)');
title('\fontsize{8}\bfv-l曲线');
[t,y] = ode45(@ndd_fun,0:100,[Z_0;0;0],options,C);
l = y(:,2);
l = lt;=l_g);
fl = min(fl);
[t,y] = ode45(@ndd_fun,0:0.005:fl,[Z_0;0;0],options,C);
F1 = Flag(flag,1);
F2 = Flag(flag,2);
F3 = Flag(flag,3);
F4 = Flag(flag,4);
F5 = Flag(flag,5);
F6 = Flag(flag,6);
Pi_1 = ( F1*F4 + F2*d_0 )/(2*c);
Q_1 = ( F3*F5*F5 + F1*F4*F4 - F2*d_0^2 )/( 4*c^2 );
ylabel('\fontsize{8}\bfv (m/s)');
title('\fontsize{8}\bfv-t曲线');
subplot(2,2,3)
plot(l,p,'linewidth',2);
grid on;
xlabel('\fontsize{8}\bfl (dm)');
ylabel('\fontsize{8}\bfp (kg/cm^{2})');
%形状函数 ------
Flag = [ 1 n 0 D_0 0 0.2956;
2 8 65.2968 d_0+4*e_1 d_0+2*e_1 0.1547;
8/3 47/3 141.4764 d_0+4*e_1 d_0+2*e_1 0.1547;
3 21 195.8903 d_0+4*e_1 d_0+2*e_1 0.1547];
tspan = length(t)/20;
tspan = 1:ceil(tspan):length(t);
tspan(end) = length(t);
fprintf(' t(ms) p(kg/cm^2) v(m/s) l(dm)');
format short g;
Result = [t(tspan) p(tspan) v(tspan) l(tspan)]
%内弹道计算程序
function ndd
clc;clear;
%构造与装填条件------------------------------------
S =1.681; %枪(炮)膛横断面积 dm^2
q = 10.24; %弹重 kg
W_0 = 10.35; %药室容积 dm^3
l_g = 62.25; %身管行程 dm
ylabel('\fontsize{8}\bfp (kg/cm^{2})');
title('\fontsize{8}\bfp-t曲线');
subplot(2,2,2)
plot(t,v,'linewidth',2);
grid on;
xlabel('\fontsize{8}\bft (ms)');
%进程的进行条件-------------------------------------
P_0 = 45000; %起动压力 kpa
theta = 0.25; %火药热力系数
K = 1.222; %次要功系数
%装填条件--------------------------------------------
beta = e_1/c;
chi = ( Q_1 + 2*Pi_1 )*beta/Q_1;
lambda = ( n - 1 - 2*Pi_1 )*beta/( Q_1 + 2*Pi_1 );
mu = ( 1 - n )*beta^2/( Q_1 + 2*Pi_1 );
psi_s = chi*( 1 + lambda + mu );
Z = y(:,1);l = y(:,2); v = y(:,3);
psi = (Z>=0&Z<1).*( chi*Z.*(1 + lambda*Z + mu*Z) ) +...
(Z>=1&Z<Z_s).*( chi_s*Z.*(1 + lambda_s*Z) ) +...
(Z>=Z_s)*1;
p_0 = P_0/(f*Delta);
psi_0 = (1/Delta - 1/delta)/(f/P_0 + alpha - 1/delta);
Z_0 = (sqrt(1+4*psi_0*lambda/chi) - 1)/(2*lambda);
C = zeros(1,11);
C(1)=chi;C(2)=lambda;C(3)=lambda_s;C(4)=chi_s;C(5)=Z_s;C(12)=mu;
e_1 = 0.0088; %厚度(肉厚)/2 dm
d_0 = 0.022; %孔道直径 dm
D_0 = 0.1364; %药粒直径(梅花形不用管此项) dm
c = 1.3 %药粒长度/2 dm
n = 7; %孔数
flag = 1; %1:圆柱形多孔火药 2:梅花形七孔火药 3:梅花形十四孔火药 4:梅花形十九孔火药
delta =1.6; %火药密度 kg/dm^3
f = 948000; %火药力 kg*dm/kg
alpha =1 %余容 dm^3/kg
omega = 10.35; %药量 kg
V = 0.9627; %烧速指数
u =0.0000088; %烧速系数 dm^3/(s*kg)
%火药特征(仅适用于多孔火药)-----------------------------