内弹道程序
弹丸在膛内运动时期的内弹道基本方程

上一页 下一页 返回
9.2 弹后空间气体速度与膛内气体压 力分布
• 力pd=Spd-Rn-Rcp,推动弹丸向前运动;力pt=Stpt- Scspcs-Rn,使身管后坐,在该方程中,St为膛底面积,Sc s为药室坡膛部在垂直于身管轴线面上的投影面积。
• 根据连续性假设,有 • dδm/dt=0 • 气体质量 • δm=ρxSxδx • 于是
上一页 下一页 返回
9.2 弹后空间气体速度与膛内气体压 力分布
• 利用连续方程(9-1),能够求出弹后身管不同横截面上的气流速 度。根据弹后空间气固混合物均匀分布的假设,在任一时刻弹底与膛 底之间的气体密度可以视作一个准常量:ρx=ρ。由此,可知
• 进行火炮的实弹射击时,首先将炮弹装填到炮膛的正确位置。弹丸的 弹带与坡膛紧密接触,使药室处于密闭状态。弹带的直径通常略大于 炮膛阴线直径,有一定的过盈量,这是为了更好地密闭膛内火药气体 ,强制弹丸沿膛线运动。
• 火炮射击时,击针撞击底火,点燃点火药。根据经典内弹道学的基本 假设,点火药瞬时点燃发射药,而后发射药继续燃烧,膛内气体压力 逐渐上升;当达到某个值时,弹丸开始运动,弹带产生塑性变形逐渐 挤进膛线。弹带的变形阻力随着弹带挤进坡膛的长度而增加,弹带全 部挤进坡膛时弹丸运动阻力达到了最大值,以pxmax表示。
下一页 返回
9.1 弹丸挤进压力
• 由于弹丸是加速运动,所以弹丸出现最大运动阻力时,此瞬时膛内火 药气体压力要大于弹丸运动阻力pxmax。经典内弹道学略去了弹带 挤进膛线起始部的过程,假定当膛内火药气体力p0=pxmax时弹 丸开始运动,所以定义p0为弹丸挤进压力,或称为启动压力。
火炮内弹道求解与计算

火炮内弹道求解与计算
火炮内弹道是指火炮射击时炮弹在火炮内的运动轨迹。
要解决火炮内弹道问题,需要考虑炮弹在炮管内的运动特性,以及发射药燃烧产生的气体对炮弹的推动力。
本文将从炮弹的运动方程入手,分析火炮内弹道的解法并进行计算。
炮弹的运动方程可以表示为:
ma = F - mg - fd - fL
其中m是炮弹的质量,a是炮弹在炮管内的加速度,F是发射药燃烧产生的推动力,g是重力加速度,fd是炮弹在炮管内受到的阻力,fL是炮弹在炮管内受到的气体偏转力。
在火炮运动方程中,炮弹在炮管内的加速度a是常量,可以通过测量炮弹的初速度和射程得到。
炮弹的初速度可以通过实验或者计算得到。
发射药燃烧产生的推动力F可以通过推进药的燃烧速率和燃烧产物的排放速度进行计算。
通过实验或者模拟可以得到推进药的燃烧速率和燃烧产物的排放速度。
炮弹在炮管内受到的阻力fd可以通过火炮内管壁的摩擦力和火药燃烧产生的气体对炮弹的阻力进行计算。
火炮内管壁的摩擦力可以由实验和数学模型得到。
火药燃烧产生的气体对炮弹的阻力可以通过实验和气体动力学模型计算。
炮弹在炮管内受到的气体偏转力fL可以通过气体对炮弹的作用力和炮弹的偏转角度进行计算。
气体对炮弹的作用力可以由实验和气体动力学模型得到。
炮弹的偏转角度可以由实验或者数学模型计算。
通过解决火炮内弹道问题,可以得到炮弹的运动轨迹和射程。
在实际应用中,可以通过对火炮内弹道进行数值模拟和优化计算,提高火炮的射击精度和射程。
内弹道学概述及火药的基本知识

• ①有关点火药和火药的热化学性质、燃烧机理以及点火、传火的规律 ;
• ②有关火药燃烧及燃气生成的规律; • ③有关枪炮膛内火药燃气和火药颗粒的多维、多相流动及其相间输运
现象;
上一页 下一页 返回
7.1 内弹道学概述
第7章 内弹道学概述及火药的基本知识
• 7.1 内弹道学概述 • 7.2 火药的基本知识
返回
7.1 内弹道学概述
• 7.1.1 火炮发射的内弹道过程
• 火药(发射药)为发射弹丸提供了能源。在适当的外界能量作用下, 火药自身能在密闭条件下进行迅速而有规律的燃烧,同时生成大量高 温燃气。在内弹道过程中,身管中的固体火药通过燃烧将蕴含在火药 中的化学能转化为热能,弹后空间中的热气急剧膨胀,从而驱动弹丸 在身管内声速前进。
上一页
返回
7.2 火药的基本知识
• 7.2.1 火药的化学成分、制造过程和性能特 点
• 传统的火炮或轻武器都以火药作为射击的能源,主要是因为它具有这 样一些优点:首先,火药是一种固体物质,其生产、贮存、运输、使 用比较方便;其次,在射击过程中,经过点火作用产生急速的化学变 化,火药分解出大量的高温气体,这些气体在一定的条件下膨胀做功 ,从而使炮膛中的弹丸获得较大的速度;通过火药的成分、形状和尺 寸的变化可以控制它的燃烧规律,从而控制射击现象,达到我们所要 求的弹道性能。
上一页 下一页 返回
Hale Waihona Puke 7.1 内弹道学概述• 一维模型假定参数p、W、T和ρ只随时间t变化,二维模型假定这 些参数随两个坐标的变化而变化,三维模型假定这些参数随空间的3 个坐标变化。
MATLAB内弹道程序 - 毕设专用!!!

内弹道及枪膛合力Matlab程序clear;close all;format longd=0.0127;S=0.82*0.0127^2;V0=2.04e-5;l_0=V0/S;lg=0.924;f=1000000;alpha=0.001;w=0.017;rou=1600;theta=0.2;phi=1.45;chi=0.79825;lamda=0.1387;mu=-0.043956;e1=0.00052/2;u1=7.5991e-10;Is=e1/u1;chi_s=1.2645;lamda_s=-0.31322;zk=1.4434;%Ik=447000;m=0.048;p0=30e6;delta=800;psi0=(1/delta-1/rou)/(f/p0+alpha-1/rou); sigma0=sqrt(1+4*lamda*psi0/chi);z0=2*psi0/chi/(sigma0+1);%(sigma0-1)/2/lamda; %====赋予初值====%v(1)=0;l(1)=0;p(1)=p0;z(1)=z0;psi(1)=psi0;lpsi(1)=l_0*(1-delta/rou-(alpha-1/rou)*delta*psi(1));t(1)=0;h=0.000001;for i=1:100000z1=p(i)/Is;v1=S*p(i)/m/phi;l1=v(i);psi1=(z(i)>=0&z(i)<=1).*(chi+2*chi*z(i)*lamda+3*chi*mu*z(i)^2)*z1 +(z(i)>1&z(i)<zk).*(chi_s*z1+2*chi_s*z1*lamda_s*z(i))+(z(i)>zk).*0;lpsi1=-l_0*(alpha-1/rou)*delta*psi1;p1=((f*w/S+p(i)*l_0*delta*(alpha-1/rou))*psi1-theta*phi*m*v1*v(i)/S-p(i )*l1)/(l(i)+lpsi(i));z2=(p(i)+h*p1/2)/Is;v2=S*(p(i)+h*p1/2)/m/phi;l2=v(i)+h*v1/2;psi2=(z(i)>=0&z(i)<=1).*(chi*z2+2*chi*(z(i)+h*z1/2)*lamda*z2+3*chi*mu*z 2*(z(i)+h*z1/2)^2)+(z(i)>1&z(i)<=zk).*(chi_s*z2+2*chi_s*z2*lamda_s*(z(i )+h*z1/2))+(z(i)>zk).*0;lpsi2=-l_0*(alpha-1/rou)*delta*psi2;p2=((f*w/S+(p(i)+h*p1/2)*l_0*delta*(alpha-1/rou))*psi2-theta*phi*m*v2*( v(i)+h*v1/2)/S-(p(i)+h*p1/2)*l2)/((l(i)+h*l1/2)+(lpsi(i)+h*lpsi1/2));z3=(p(i)+h*p2/2)/Is;v3=S*(p(i)+h*p2/2)/m/phi;l3=v(i)+h*v2/2;psi3=(z(i)>=0&z(i)<=1).*(chi*z3+2*chi*(z(i)+h*z2/2)*lamda*z3+3*chi*mu*z 3*(z(i)+h*z2/2)^2)+(z(i)>1&z(i)<zk).*(chi_s*z3+2*chi_s*z3*lamda_s*(z(i) +h*z2/2))+(z(i)>zk).*0;lpsi3=-l_0*(alpha-1/rou)*delta*psi3;p3=((f*w/S+(p(i)+h*p2/2)*l_0*delta*(alpha-1/rou))*psi3-theta*phi*m*v3*( v(i)+h*v2/2)/S-(p(i)+h*p2/2)*l3)/((l(i)+h*l2/2)+(lpsi(i)+h*lpsi2/2));z4=(p(i)+h*p3)/Is;l4=v(i)+h*v3;v4=S*(p(i)+h*p3)/m/phi;psi4=(z(i)>=0&z(i)<=1).*(chi*z4+2*chi*(z(i)+h*z3)*lamda*z4+3*chi*mu*z4* (z(i)+h*z3)^2)+(z(i)>1&z(i)<zk).*(chi_s*z4+2*chi_s*z4*lamda_s*(z(i)+h*z 3))+(z(i)>=zk).*0;lpsi4=-l_0*(alpha-1/rou)*delta*psi4;p4=((f*w/S+(p(i)+h*p3)*l_0*delta*(alpha-1/rou))*psi1-theta*phi*m*v1*v(i )/S-(p(i)+h*p3)*l4)/((l(i)+h*l3)+(lpsi(i)+h*lpsi3));z(i+1)=z(i)+h*(z1+2*z2+2*z3+z4)/6;l(i+1)=l(i)+h*(l1+2*l2+2*l3+l4)/6;v(i+1)=v(i)+h*(v1+2*v2+2*v3+v4)/6;psi(i+1)=psi(i)+h*(psi1+2*psi2+2*psi3+psi4)/6;lpsi(i+1)=lpsi(i)+h*(lpsi1+2*lpsi2+2*lpsi3+lpsi4)/6;p(i+1)=p(i)+h*(p1+2*p2+2*p3+p4)/6;t(i+1)=t(i)+h;if l(i)>=lg;T=i;break;endendfigure(1)plot(t*10^3,p/1e6,'linewidth',1.5);hold ongrid ontitle('\fontsize{12}\bf(t-p曲线)');xlabel('\fontsize{12}\bf时间 t 单位:ms');ylabel('\fontsize{12}\bf膛内压力 p 单位:Mpa');figure(2)plot(t*1e3,v,'linewidth',1.5);grid ontitle('\fontsize{12}\bf(v-t曲线)');xlabel('\fontsize{12}bf时间 t 单位:ms');ylabel('\fontsize{12}\bf弹丸速度 v 单位:m/s');figure(3)plot(l*1e1,v,'linewidth',1.5);grid ontitle('\fontsize{12}\bf(l-v曲线)');xlabel('\fontsize{12}\bf弹丸行程 l 单位:mm');ylabel('\fontsize{12}\bf弹丸速度 v 单位:m/s');figure(4)plot(l*10,p/1e6,'linewidth',1.5);grid ontitle('\fontsize{12}\bf(l-p曲线)');xlabel('\fontsize{12}\bf弹丸行程 l 单位:mm');ylabel('\fontsize{12}\bf膛内压力 p 单位:Mpa');%弹丸膛内时期膛底合力 F_pt 单位:NF_pt=1.34*10^(-4)*p;%后效期膛底合力 F_pt1 单位:Nt1=0.002288:0.000001:0.006537;F_pt1=12231.10*exp(-(t1-0.002288)/0.00107);figure(5)plot(t*10^3,F_pt,t1*10^3,F_pt1,':','linewidth',1.5);legend('F_pt','F_pt1');grid ontitle('\fontsize{12}\bf(t-F_pt曲线)');xlabel('\fontsize{12}\bf时间 t 单位:ms');ylabel('\fontsize{12}\bf膛底合力 F_pt 单位:N');tspan=length(t)/30;tspan=1:ceil(tspan):length(t);tspan(end)=length(t);fprintf('t(ms) p(Mpa) v(m/s) l(dm) z psi ');format short g;Result=[t(tspan)' (p(tspan)/1e6)' v(tspan)' l(tspan)' z(tspan)' psi(tspan)']。
[知识]内弹道计算程序
![[知识]内弹道计算程序](https://img.taocdn.com/s3/m/45a4da2311661ed9ad51f01dc281e53a580251ce.png)
内弹道计算程序%内弹道计算程序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.挤进膛线的过程在完成点火过程后,火药燃烧,产生大量的高温高压气体,并推动弹丸运动,弹带逐渐挤进膛线,阻力不断增加,在弹带全部挤进膛线之后,阻力达到了最大值,这时弹带被划出沟槽并与膛线完全吻合。
3.膛内运动弹丸的弹带全部挤进膛线之后,随着火药的继续燃烧,不断产生具有很大作功能力的高温高压气体。
在这作用之下,弹丸一方面沿着枪管轴线方向向前运动,另一方面又沿着膛线做旋转运动。
在弹丸运动的同时,正在燃烧的火药气体也随同弹丸一起向前运动,而枪管本身则向后运动,在这过程中子弹作用部也与战斗部发生分离,前者被枪管内部挂钩反弹处了枪管,称为弹壳。
这个过程中膛内气体压力先增加到最大值而后开始下降,而战斗部的速度是一直增加,战斗部到达到达枪口瞬间,战斗部速度称为枪口速度(注意这仍不是最大速度),以后,战斗部离开枪管而在空中飞行。
4.火药气体对弹丸后效作用过程战斗部飞出枪管之后,在后面的火药气体也随之喷出。
这时,气体的运动速度将大于弹丸的运动速度,对于弹丸仍然起到了推动作用,使得弹丸继续加速,但是,由于气体流出后迅速向四周扩散,在枪口一段距离之后,气体运动速度就小于了战斗部的运动速度,使得火药气体不再对战斗部起到推动作用,此时战斗部的速度达到了最大值。
外弹道:外弹道学是研究各种弹丸在空气中运动规律及相关问题的科学稳定飞行原理陀螺稳定原理:利用高速旋转所产生的陀螺效应来改变弹轴的运动规律,以达到飞行稳定的目的。
内弹道方程组及其求解

上一页 下一页 返回
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章内弹道部分-part1内弹道系统简介

§2 火药燃烧规律经典理论 火药及其物化标识量
内弹道部分
【火药简介】
• 中国四大发明之一。人类文明史上的一项杰出的成就。
• 火药是低爆速炸药的一类。可由火花、火焰等引起燃烧 的药剂。燃烧时发生大量的气体,具有爆破作用或推动作
用(使物体如弹丸以一定的速度发射出去)。最早应用的是
我国发明的黑色火药。根据燃烧时的性质,可分为有烟火
药(燃烧时发烟,如黑色火药)和无烟火药两类。主要用作 引燃药或发射药。
火药又被称为黑火药。是在适当的外界能量作用下,
自身能进行迅速而有规律的燃烧,同时生成大量高温燃气
的物质。在军事上主要用作枪弹、炮弹的发射药和火箭、
导弹的推进剂及其他驱动装置的能源,是弹药的重要组成
部分。
32
33
内弹道部分
【火药的分类】
内弹道过程
内弹道学是研究发射过程中枪炮膛内的火药燃烧、物 质流动、能量转换、弹体运动和其它有关现象及其规 律的弹道学分支学科。
闩体 炮尾 底火 发射药
弹带
定心部
炮管体
击针 点火药 药筒
弹丸
膛线
20
闩体 炮尾 底火 发射药
弹带 定心部
炮管 体
内弹道部分
击针 点火药 药筒
弹丸
膛线
击针撞击底火或电流点燃底火后,底火中的药剂爆燃,
• 硝基胍火药,三基药,由硝化二乙二纯、硝基胍和硝化棉组成。 特点:燃烧温度较低,可减小炮膛烧蚀。又称为冷火药。
• 高聚物复合火药(composite propellants)用于火箭的发射装药— —又称固体推进剂。其主要组份是以高分子化合物,金属粉 (铝粉)等为可燃剂,固体氯酸盐(如高氯酸铵)等为主要氧 化剂成份,还含有RDX或HMX。
第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 内弹道设计
⑤ 火炮的寿命,身管的寿命终止前的发数称为 该火炮身管的寿命数。
气体炮一维内弹道程序

气体炮一维内弹道程序【摘要】气体炮一维内弹道程序是一种重要的仿真工具,能够帮助研究人员对气体炮系统进行分析和优化。
本文从研究背景和研究意义入手,介绍了气体炮一维内弹道程序的基本原理和模拟方法,探讨了其在军事、航天等领域的应用潜力。
总结了该程序的发展现状并展望未来的研究方向,指出其在未来的发展中具有重要意义。
气体炮一维内弹道程序的研究成果对于提升气体炮系统的性能和效率具有重要意义,对于军事和民用领域都有着广泛的应用前景。
通过本文的研究,有望为气体炮领域的进一步发展提供有力支持。
【关键词】气体炮、一维内弹道程序、基本原理、模拟方法、应用领域、发展现状、未来展望、总结、展望、研究成果、研究意义1. 引言1.1 研究背景气体炮是一种利用高压气体驱动的武器系统,具有高射速、高射程和高杀伤力的特点,广泛应用于军事领域。
随着科技的发展,气体炮的内弹道模拟成为了一个重要的研究方向。
通过建立一维内弹道程序,可以模拟气体炮发射过程中的各项参数变化,为设计和优化气体炮系统提供了重要依据。
一维内弹道程序也可以用于分析气体炮的性能和特性,为气体炮的改进和进一步研究提供支持。
研究气体炮一维内弹道程序具有重要的理论意义和实际应用价值。
在现有的研究基础上,本文将对气体炮一维内弹道程序的基本原理、模拟方法、应用领域、发展现状及未来展望进行深入探讨,旨在为相关研究提供参考和借鉴。
1.2 研究意义气体炮是一种利用高压气体推动弹丸的武器系统,其内弹道程序的研究对于提高武器系统的精度和性能具有重要意义。
气体炮一维内弹道程序的研究意义主要体现在以下几个方面:1. 提高武器系统的精度和命中率:通过建立合理的内弹道程序,可以准确控制弹丸的发射参数和飞行轨迹,从而提高武器系统的精度和命中率,增强作战效果。
2. 降低武器系统的成本和维护难度:通过优化内弹道程序,可以降低武器系统的能耗和弹药消耗,减少装备维护的工作量和成本,提高武器系统的可靠性和稳定性。
内弹道学第三章 内弹道方程组的解法

根据假设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) 点火药对弹道诸元的影响
基于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.
内弹道程序

#define m 46.0#define fi1 1.02#define pm_tong 307720000.0#define vg 965.0#define f 950000.0#define k 1.2#define alpha 0.001#define roup 1600.0#define d 0.152#define p0 30000000.0#define sita 0.2#define X 1.06#define Xk 1.50#define lamada -0.0566#define S 0.01905FILE *fo;double i,j;double w,V0,L0;double fi,pm,rg;double posai0,deta0,Z0,Ik;double B,k1,deta1,posai,x,posaiba,B1,Lposaiba,L,Zx,Lposai;double xk,r,b,Zk,Lk,Yk,Yg,km,Lg,Lv0,Lc,Lsh,Ytg,Ytk,Vg,P1,P2,Vnt,L1,Pk,Pg,Ntj;int main(){void cacuZ0();void cacuB();void cacuYk();void result();fo=fopen("output.txt","w");fprintf(fo,"%s"," 装填密度相对装药量w/m 弹丸相对行程长身管长能量利用效率炮膛工作容积利用效率火药相对燃烧结束位置炮口压力火炮寿命装填参量B 等药室容积等膛容压力冲量\n");fprintf(fo,"%s"," kg/m^3 1 1 m 1 1 1 pa 发1 m^3/kg m^3/kg \n");i=735.0;j=0.32;w=j*m;V0=w/i;fi=fi1+1.0/3.0*j;L0=V0/S;pm=1.12*pm_tong *fi;rg=vg*vg*sita/(2*f*j);cacuZ0();cacuB();cacuYk();km=(Yk+1-alpha*i)*pow((1-B*(k-1)/2*(1-Z0)*(1-Z0)),1/(k-1));Yg=km/pow(1-fi*rg,1/(k-1))+alpha*i-1;Lg=Yg*L0;Lv0=L0/Xk;Lc=2*d;Lsh=Lg+Lv0+Lc;Vg=V0*Yg;Ytg=fi*m*vg*vg/(2*Vg*pm);Ytk=Lk/Lg;L1=L0*(1-alpha*i);Pk=f*w/S*(1-(B*sita/2)*(1-Z0)*(1-Z0))/(L1+Lk);Pg=Pk*pow((L1+Lk)/(L1+Lg),1+sita);Ntj=200*(Yg+1)/j;P1=V0/m;Vnt=V0*(1+Yg);P2=Vnt/m;Ik=pow(B*f*w*m*fi/S/S,0.5);result();}void cacuZ0(){posai0=(1/i-1/roup)/(f/p0+alpha-1/roup);deta0=pow(1+4*lamada*posai0/X,0.5);Z0=2*posai0/(X*(1+deta0));return;}void cacuB(){double x1, x2, y1, x, y;double fun(double B) ;x1 =0.3 ; x2 = 10.0;do {x = (x1 + x2)/2;y1 = fun(x1);y = fun(x);if( ( y < 0 && y1 < 0) || (y > 0 && y1 > 0) )x1 = x;elsex2 = x;/*end if*/}while(fabs(y) > 0.001);B=x;return;}double fun(double B){double xm,B2;k1=X*deta0;deta1=1/(alpha-1/roup);xm=k1/(B*(1+sita)/(1+(pm/(f*deta1)))-2*X*lamada);posai=posai0+k1*xm+X*lamada*xm*xm;posaiba=(posai0+posai)/2;B1=B*sita/2-X*lamada;Lposaiba=L0*(1-i/roup-i*(alpha-1/roup)*posaiba);r=B1*posai0/(k1*k1);b=pow(1+4*r,0.5);Zx=pow((1-2*B1*xm/(b+1)/k1),(b+1)/(2*b))*pow((1+2*B1*xm/(b-1)/k1),((b-1)/(2*b)));L=Lposaiba*(pow(Zx,(-B/B1))-1);Lposai=L0*(1-i/roup-i*(alpha-1/roup)*posai);B2=(posai-pm*S*(L+Lposai)/(f*w))/(xm*xm*sita/2)-B;return B2;}void cacuYk(){xk=1-Z0;Zk=pow((1-2*B1*xk/(b+1)/k1),(b+1)/(2*b))*pow((1+2*B1*xk/(b-1)/k1),((b-1)/(2*b)));Lk=Lposaiba*(pow(Zk,(-B/B1))-1);Yk=Lk/L0;return;}void result(){staticint h=1;{fprintf(fo,"%13.6f",i);//装填密度fprintf(fo,"%13.6f",j);//相对装药量w/mfprintf(fo,"%13.6f",Yg);// 弹丸相对行程长fprintf(fo,"%20.6f",Lsh);//身管长fprintf(fo,"%20.6f",rg);//能量利用效率fprintf(fo,"%20.6f",Ytg);//炮膛工作容积利用效率fprintf(fo,"%20.6f",Ytk);//火药相对燃烧结束位置fprintf(fo,"%20.6f",Pg);//炮口压力fprintf(fo,"%20.6f",Ntj);// 火炮寿命fprintf(fo,"%20.6f",B);//装填参量Bfprintf(fo,"%20.6f",P1);// 等药室容积fprintf(fo,"%20.6f",P2);//等膛容fprintf(fo,"%20.6f",Ik);//压力冲量fprintf(fo,"%20.6f",L0);//压力冲量fprintf(fo,"%20.6f",Lg);//压力冲量fprintf(fo,"\n");h++;}return;}。
内弹道编程

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 。
内弹道解算程序

附录程序#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);}}。
内弹道程序

#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;}。
内弹道基础概述内弹道学

➢火药的燃气生成函数
1)简单形状火药
Z/1 相对已燃厚度
S/S1 相对已燃表面
V/V1 相对已燃体积
内弹道基础概述内弹道学
Z1ZZ2
12Z3Z2
式中:
内弹道基础概述内弹道学
内弹道基础概述内弹道学
2)多孔火药
基于单孔的管状药接近定面燃烧的概念,为了使火 药具有增面燃烧性能,于是又产生了增加内孔的多孔 火药系列。但是多孔药与管状药不同,多孔火药在燃 完厚度的瞬间,火药却未全部燃尽,而是分裂成若干 碎粒。因此,多孔火药的燃烧存在两个阶段,即分裂 前的主体燃烧阶段和分裂后的碎粒燃烧阶段。多孔药 燃烧的增面性,只存在于主体燃烧阶段。在碎粒燃烧 阶段,则是强烈的减面性。
6 内弹道基础
内弹道基础概述内弹道学
6.1 概述
内弹道学是专门研究弹丸在膛内运动规律的科学。 研究的对象是膛内的射击现象,包括火药在膛内的 燃烧规律、弹丸运动的规律,以及膛内压力变化规律 等方面的内容。
内弹道基础概述内弹道学
6.2 膛内射击过程
➢枪炮发射系统
典型系统的包括身管、火药和弹丸。
1—炮闩;2--药室;3—坡膛;4—线膛
s sZ1sZ 1ZZb
内弹道基础概述内弹道学
➢弹丸运动方程
系统动量守恒:
m (v v 1 )v M 1 0 v
燃气和未燃药粒速度假设:
vv12 (vv1)2 vv1
可得: vv M2 v 1 Mm
md(vv1)S dt
pRx
M 2
1
M
m
(1
Rx
)
M2
mdvSP(1Rx )
内弹道基础概述内弹道学
内弹道基础概述内弹道学
内弹道解算程序C

附录程序#define _CRT_SECURE_NO_DEPRECATE#include <stdio.h>#include <iostream>#include <conio.h>#include <math.h>#include <stdlib.h>#include <iomanip>//C head file#include <time.h>#include <malloc.h>#include <string>#include <fstream>using 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 //第二种火药火药长//火药形状特征量Π一、Q一、β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");f printf(outhy,"%f\t%f\t%f\n",omga,FI,DLT*1e-3);f printf(outhy,"t(ms)\tZ\tψ\tZ2\tψ2\tPTDD(MPa)\tP(MPa)\tPD(MPa)\tv(m/s)\tLψ(m)\tL(m)\n");//初始燃烧时条件P=5e6;T IME=0;c hushitiaojian();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);p rintf("FI is %f\n",FI);p rintf("v is %f\n",v);p rintf("Finished!");getchar();}void ranshaoshi(){F I=1.132;s=119.6e-4;L0=V0/s;DLT=omga/V0;D LT2=omga2/V0;//////9/7多孔药Zb0=1+0.2956*(1+HD0/2/HE1);X HT=((3*HD0+8*HE1)+7*HD0)/HD2C;XHQ=(pow((3*HD0+8*HE1),2)-7*HD0*HD0)/(HD2C*HD2C);XHB=2*HE1/HD2C;C I=(2*XHT+XHQ)/XHQ*XHB;A LM=(6-2*XHT)/(2*XHT+XHQ)*XHB;A MU=-1*6/(2*XHT+XHQ)*XHB*XHB;C IS=(1-CI*(1+ALM+AMU)*Zb0*Zb0)/Zb0/(1-Zb0);A LMS=CI*(1+ALM+AMU)/CIS-1;////////杆状药X HB2=2*HE12/HD2C2;CI2=1+XHB2;A LM2=-1*XHB2/(1+XHB2);A MU2=0;}void chushitiaojian(){d ouble segma,segma2;P SI=(1/DLT-1/DP)/(f/P+ALF-1/DP);segma=sqrt(1+4*ALM/CI*PSI);Z=2*PSI/CI/(1+segma);P SI2=(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;Z m2=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);}i f (Z2<1){PSI2=CI2*Z2*(1+ALM2*Z2+AMU2*Z2*Z2);}L PSI=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));P TDD=P*(1+(omga+omga2+0.03)/(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;P D=P*F1/FI;if (PD>PG){dv=s*P/(FI*am);nn=1;}if(nn==1){dv=s*P/(FI*am);}}。
第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
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#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.96
double 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;
}。