轮对、轮轨、加速度加权、不平顺功率谱、平稳性评价的Matlab程序

更新时间:2023-10-16 02:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

fastsim轮轨蠕滑力计算程序,适用于机车辆动力学计算.-

function F=Get_Fastsim(C,Cp,ab,N) úSTSIM求解蠕滑力程序 f=0.25; %许用粘着系数 a=ab(1);b=ab(2);%接触斑半径

fx=Cp(1);fy=Cp(2);fin=Cp(3); %蠕滑力 C11=C(1);C22=C(2);C23=C(3);%kalker系数 if N<=0

Fx=0;Fy=0;Mz=0;MU=0;

else %法向力小于0,蠕滑力也为0 Nx=10;Ny=10;%接触斑被分割的数目 v=0.25; E=2.0*10^11; G=E/2/(1+v); Tz=pi/2;

L1=8*a/3/C11/G;L2a=8*a/3/C22/G;L2b=pi*a*sqrt(a/b)/4/C23/G; z0=2*N/pi/a/b; dy=2/Ny; Tx=0;Ty=0;Mz=0; n1=a*fx/f/z0/L1; n2=a*fy/f/z0/L2a; fin1=a*b*fin/f/z0/L2b; fin2=a*a*fin/f/z0/L2b; for i=1:Ny

Y=(-1+i*dy-dy/2);

SX=n1-Y*fin1;%接触位移失量 px=0;py=0;%p0的初值为0 A2=1-Y^2; X0=sqrt(A2); A=X0;

h=2*A/Nx;%分成10块 AR=h*dy;%每一小块的面积 X=A-h/2;% for j=1:Nx

SY=n2+fin2*(X);%??? px=px-SX*h; py=py-SY*h; Z=A2-X^2;

p=sqrt(px^2+py^2)/Z;%相差一个f? if p>1 px=px/p; py=py/p; end

Tx=Tx+px*AR; Ty=Ty+py*AR;

%Mz=Mz-(px*f*z0)*(Y*b)+(py*f*z0)*(X*a);

Mz=Mz-((px*AR)/Tz*f*N)*(Y*b)+((py*AR)/Tz*f*N)*(X*a); %蠕滑力矩 X0=X; X=X-h; end end

Fx=Tx/Tz*f*N; Fy=Ty/Tz*f*N;

MU=sqrt(Tx^2+Ty^2)/Tz*f; if MU>=f MU=f; end %Mz=Mz/Tz; end

F=[Fx Fy Mz MU];

迹线法计算轮轨几何关系程序,用于轨道车辆动力学计算,非常实用!

-

要导入的数表,要自己去找

function G=get_geom_jxf(yw,psiw,phiw) %--------------------------------- load PR2.mat;%导入踏面形状数表 load PL2.mat;

ypl=PL(:,1);ypr=PR(:,1); load RR1.mat;%导入轨头形状数表 load RL1.mat; mid=size(RL);

nr=mid(1);%数表的长度

load DL1.mat;%导入轮轨接触角数表 load DR1.mat; ydl=DL(:,1); ydr=DR(:,1);

%-------------------------------- lx=-cos(psiw)*sin(phiw); ly=cos(psiw)*cos(phiw); lz=sin(psiw);

%--------------------坐标转化,几何约束方程 zg=0.075;%轮对抬高75mm,保证不相互嵌入

zmin=(zg+5);%给定一个足够大的值,保证能够找到轮轨最小垂向距离 nw=325; em=0.0001; yminL=RL(1,1); ymaxL=RL(nr,1); yminR=RR(nr,1); ymaxR=RR(1,1);

if abs(yw)<=0.012&&abs(psiw)<=0.1&&abs(phiw)<=0.10 %判断是否超过界限,保证不相互嵌入 for i=1:nw dw=PL(i,1);

%dL=interp1(ydl,DL,dw,'linear'); %dL=dL(1,2); dL=DL(i,2); rL=PL(i,2);

xol=lx*dw;yol=ly*dw;zol=lz*dw; m=sqrt(1-(lx)^2*(1+(tan(dL))^2)); xL=xol+lx*rL*tan(dL);

yL=yol-rL/(1-(lx)^2)*(lx*lx*ly*tan(dL)+lz*m)+yw; zL=zol-rL/(1-(lx)^2)*(lx*lx*lz*tan(dL)-ly*m);

if yL>yminL&&yL

yrL=RL(j,1);zrL=RL(j,2); if abs(yL-yrL)<=em delz=(zL-zrL); else delz=10; end

if delz<=zmin zmin=delz;

y_end=dw; %y坐标即轮轨接触点到轮对本体坐标原点距离 z_end=rL; %滚动半径

yr_end=yrL; %钢轨接触点以坐标 zr_end=zrL; %

deltaL=dL; %轮轨接触角 %dwl=yL; end end end end

zminL=zmin;

%----------------------------------------------------------右边轮轨接触 zmin=5+zg; %给定一个足够大的值,保证能够找到轮轨最小垂向距离 for i=1:nw dw=PR(i,1);

%dR=interp1(ydr,DR,dw,'linear'); %dR=dR(1,2); dR=DR(i,2); rR=PR(i,2);

xor=lx*dw;yor=ly*dw;zor=lz*dw; m=sqrt(1-(lx)^2*(1+(tan(dR))^2)); xR=xor+lx*rR*tan(dR);

yR=yor-rR/(1-(lx)^2)*(lx*lx*ly*tan(dR)+lz*m)+yw; zR=zor-rR/(1-(lx)^2)*(lx*lx*lz*tan(dR)-ly*m); if yR>yminR&&yR

yrR=RR(j,1);zrR=RR(j,2); if abs(yR-yrR)<=em delz=(zR-zrR); else delz=10; end

if delz<=zmin zmin=delz; y_endr=dw; z_endr=rR;

yr_endr=yrR; zr_endr=zrR; deltaR=dR; %dwr=yR; end end end end

zminR=zmin; end

G=[-z_end,-z_endr,deltaL,deltaR,zminL,zminR,y_end,y_endr];

本文来源:https://www.bwwdw.com/article/pldf.html

Top