车轨耦合动力学外部激励——车轮扁疤

2024-02-10 03:40

本文主要是介绍车轨耦合动力学外部激励——车轮扁疤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 问题说明
  • 车轮扁疤模型
  • Matlab代码说明
  • 参考资料

问题说明

扁疤会对车辆系统的振动产生影响,一般采用轮径变化来模拟扁疤激励。

车轮扁疤模型

本文采用车轮轮径变化来描述扁疤模型,如下图所示,在车轮滚动一周内,车轮圆周的半径变化为
Δ r ( x ) ≈ h − 1 2 R ( x − L / 2 ) 2 \Delta r(x)\approx h-\frac{1}{2R}(x-L/2)^2 Δr(x)h2R1(xL/2)2
其中, 0 ≤ x ≤ L 0\leq x\leq L 0xL h ≈ L 2 8 R h\approx \frac{L^2}{8R} h8RL2 Δ r ( x ) \Delta r(x) Δr(x)为车轮圆周半径变化值, h h h为扁疤深度。
在这里插入图片描述

Matlab代码说明

根据科学出版社出版的《车辆-轨道耦合动力学 (第四版)》建立完常规的车轨耦合动力学模型后,只需在时间遍历循环中的最开头添加以下语句即可。

if 0<=mod(vcar*t, 2*pi*R_all) && mod(vcar*t, 2*pi*R_all)<=Ldelta_r = h - ((mod(vcar*t, 2*pi*R_all)-L/2)^2)/2/R_all;
elsedelta_r = 0;
end
R = R_all - delta_r;

其中,vcar表示车辆运行速度,R_all表示车轮圆周半径。
另外,在计算轮轨激励时也要考虑车轮直径的变化:

if z(i, 33)-Zr1-delta_r > 0NLz(1) = ((z(i, 33)-Zr1-delta_r)/G)^1.5; NRz(1) = ((z(i, 33)-Zr1-delta_r)/G)^1.5;
elseNLz(1) = 0; NRz(1) = 0;
end
if z(i, 43)-Zr2-delta_r > 0NLz(2) = ((z(i, 43)-Zr2-delta_r)/G)^1.5; NRz(2) = ((z(i, 43)-Zr2-delta_r)/G)^1.5;
elseNLz(2) = 0; NRz(2) = 0;
end
if z(i, 53)-Zr3-delta_r > 0NLz(3) = ((z(i, 53)-Zr3-delta_r)/G)^1.5; NRz(3) = ((z(i, 53)-Zr3-delta_r)/G)^1.5;
elseNLz(3) = 0; NRz(3) = 0;
end
if z(i, 63)-Zr4-delta_r > 0NLz(4) = ((z(i, 63)-Zr4-delta_r)/G)^1.5; NRz(4) = ((z(i, 63)-Zr4-delta_r)/G)^1.5;
elseNLz(4) = 0; NRz(4) = 0;
end

其中,z(i, 33)、z(i, 43)、z(i, 53)和z(i, 63)分别表示四个轮对的垂向位移;Zr1、Zr2、Zr3和Zr4分别小时四个轮对下钢轨的不平顺位移。其他计算过程同样可以参考《车辆-轨道耦合动力学 (第四版)》。

参考资料

1、车轮扁疤激起的轴箱轴承冲击特性
2、车辆-轨道耦合动力学(第四版)

这篇关于车轨耦合动力学外部激励——车轮扁疤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/696039

相关文章

【AI大模型应用开发】2.1 Function Calling连接外部世界 - 入门与实战(1)

Function Calling是大模型连接外部世界的通道,目前出现的插件(Plugins )、OpenAI的Actions、各个大模型平台中出现的tools工具集,其实都是Function Calling的范畴。时下大火的OpenAI的GPTs,原理就是使用了Function Calling,例如联网检索、code interpreter。 本文带大家了解下Function calling,看

外部中断的边缘触发和电平触发

MCS-51单片机中的边缘触发是指当输入引脚电平由高到低发生跳变时,才引起中断。而电平触发是指只要外部引脚为低电平就引起中断。         在电平触发方式下,当外部引脚的低电平在中断服务返回前没有被拉高时(即撤除中断请求状态),会引起反复的不需要的中断,造成程序执行的错误。这类中断方式下,需要在中断服务程序中设置指令,清除外部中断的低电平状态,使之变为高电平。

从应用内跳转至外部浏览器 - 鸿蒙 HarmonyOS Next

从应用内跳转至外部浏览器,基于 Want 来实现,同时也可以通过其方式尝试跳转至其它系统模块,具体可参考如下 code : 方法调用 // 调用pushOutsideWeb(controller, url) 方法实现 import { common, contextConstant, Want } from '@kit.AbilityKit';import { HintMessage

ssm微信小程序的英语学习激励系统论文源码调试讲解

2 关键技术介绍 2.1 SSM框架 开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种

江协科技STM32学习- P11 中断系统,EXTI外部中断

🚀write in front🚀   🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​  💬本系列哔哩哔哩江科大STM32的视频为主以及自己的总结梳理📚  🚀Projeet source code🚀    💾工程代码放在了本人的Gitee仓库:iPickCan (iPickCan

Java在windows和linux上调用外部程序

在用java开发时,有时候会遇到需要调用系统命令或者外部脚本,当前文章给出调用方法。代码如下: /*** 转换脚本路径为在win、linux中可执行的命令* * @param scriptPath* 脚本路径* @return 在linux或window中可执行的命令*/public static String[] convertExecuteCommand(Str

C++ 在外部访问对象的protected成员的方法

起因 起因在于,今天在写UE4插件时,有一个对象的protected成员我想要访问。这个类没有提供接口来访问那个成员,并且这个类是定义在引擎代码中的而我不想“污染”引擎代码。 不过,我想到这么做或许可以在不改变原有类的定义下访问其中的protected成员: 定义一个原有类的子类,在其中定义可以访问protected成员的接口。想要访问对象的成员时,将原有类类型的指针转变为子类类型的指针,然

一种在C++中外部强行访问私有成员的方法

问题 C++在设计上,是不允许类的私有成员在外部被访问读写的。 然而,有时是想要在外部访问私有成员的。我目前常见的情况是:想要访问UE引擎代码中的类的私有成员,但又不想“污染”其源代码将其private改为public。 方法 一种方法是,再建立一个完全相同结构的类,只不过将成员改为public: class MyClassA_MirrorPublic{public:int dat

as3.0 [Embed]标签嵌入外部资源

as3.0 [Embed]标签嵌入外部资源   空闲时间,总结一下[Embed]标签的用途,好记性不如烂笔头,记录下来,为方便查找。 1、[Embed]嵌入资源 ActionScript代码的顺序非常重要。你必须在声明变量前添加[Embed]元数据标签,而且这个变量的类型会是Class。 package { import flash.display.

Kubernetes负载均衡器:内部和外部

Kubernetes负载均衡器:内部和外部 1、内部负载均衡器2、外部负载均衡器 💖The Begin💖点点关注,收藏不迷路💖 在Kubernetes中,有两种负载均衡器帮你管理流量:内部和外部。 1、内部负载均衡器 作用:管理集群内部的流量,确保请求均匀分配到各个Pod上。怎么工作:通过Service发现Pod,根据规则转发请求,还检查Pod是否健康。适