我最早接触时变啮合刚度,是在做行星齿轮减速器动力学仿真那会儿。当时用有限元算一轮啮合周期要跑两三个小时,后来换成势能法,同一组参数几秒出结果,精度控制在5%以内,直接能把多体动力学模型跑起来。这套思路我后来复现过好几遍,也踩了不少坑。今天把基于势能法编写行星齿轮内啮合齿轮副时变啮合刚度程序(健康齿状态)的核心逻辑、程序实现和验证方法拆开讲清楚,重点说说精确渐开线齿形是怎么参与计算的,以及内啮合和外啮合在程序处理上的本质差异,给正准备上手或者已经卡在某个环节的朋友一个完整的参考。
1. 为什么选择势能法:从工程需求到选型逻辑
1.1 行星齿轮传动刚度的特殊性:多齿副耦合与内啮合难题
行星齿轮传动和普通定轴齿轮传动最大的区别,在于它的功率分流结构。太阳轮同时和多个行星轮外啮合,每个行星轮又同时和齿圈内啮合,这意味着在任意时刻,系统里至少有四到六对齿副同时参与啮合(具体数量取决于行星轮个数)。齿圈的刚度波动会直接叠加到太阳轮-行星轮副上,形成复合刚度激励。如果只用单对齿副的刚度经验公式去近似,动力学仿真的边频带特征会完全失真。
内啮合副又比外啮合副多一层麻烦:齿圈的轮体是环形薄壁结构,齿根圆以内还有大面积的腹板区域,这部分在受力时产生的径向变形和扭转变形,对啮合刚度的贡献不能像外齿轮那样直接简化为实心圆盘的轮体刚度。要处理这个问题,必须把齿圈轮体和轮齿分开建模,再用变形叠加原理合并。
1.2 势能法的核心优势:精度与效率的平衡点
业内算啮合刚度主要有三条路线:解析公式、有限元/边界元数值法、势能法。IS0 6336标准的C法公式算单齿副刚度很快,但完全无法反映啮合过程中刚度随啮合位置变化的细节,更没法处理修形、裂纹、点蚀这类局部特征。有限元精度高,能算任意复杂几何,但网格密度对结果影响很大,而且每改一次齿形参数就要重新建模划分网格,迭代效率太低。
势能法走的是中间路线:把轮齿等效为变截面悬臂梁,用材料力学里的应变能公式分别算出弯曲、剪切、轴向压缩、轮体弹性变形和赫兹接触变形这五个分量,再通过能量叠加原理合成总啮合刚度。它不依赖网格,只要齿形几何算得准,刚度的连续性和非线性特征都能捕获,而且计算速度是毫秒级的,非常适合嵌入优化循环或蒙特卡洛分析。在我做的参数敏感性研究里,势能法算出的啮合刚度曲线和有限元结果的最大偏差基本在3%到6%之间,但耗时只有后者的千分之一量级。
1.3 为什么必须强调"精确渐开线齿形"
标题里专门提了精确渐开线齿形,这个细节不是废话。很多公开的势能法程序为了省事,把齿廓简化为直线梯形或者圆弧过渡,这在齿数较多、重合度较大的外啮合副上误差还能忍,但放到内啮合副上就不行了。内啮合的齿廓几何关系更敏感,齿根过渡曲线、齿顶倒角对截面惯性矩沿齿高方向的变化率影响很大,最终会导致刚度曲线的啮合周期波动形态出现明显畸变——你可能连正确的双齿啮合区宽度都算不对。
精确渐开线齿形意味着程序里必须真正用渐开线方程去生成齿廓离散点,而不是用近似多边形。也就是说,基圆半径 r_b = r * cos(alpha),渐开线上任一点的压力角和展角严格满足 inv(theta) = tan(theta) - theta 的几何关系。用这些点去积分截面参数,才能保证从齿根到齿顶的截面面积和惯性矩是连续变化的实数函数。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 内啮合齿轮副的几何解析:程序计算的地基
2.1 内啮合基本参数关系与初始条件
编程序的第一步不是写函数,而是把几何关系理顺。内啮合副由小齿轮(行星轮)和内齿圈组成,外齿轮是渐开线外齿,内齿轮是渐开线内齿。模数 m、压力角 alpha(标准为20度)、齿数 z1(行星轮)和 z2(齿圈)确定后,关键几何参数如下:
- 分度圆半径:r1 = 0.5 * m * z1,r2 = 0.5 * m * z2
- 基圆半径:r_b1 = r1 * cos(alpha),r_b2 = r2 * cos(alpha)
- 中心距:a = 0.5 * m * (z2 - z1)
- 齿顶圆半径:r_a1 = r1 + ha* * m,r_a2 = r2 - ha* * m(注意内齿轮齿顶圆是内部挖去的圆)
- 齿根圆半径:r_f1 = r1 - (ha* + c*) * m,r_f2 = r2 + (ha* + c*) * m(内齿轮齿根圆反而更大)
这里有个内啮合特有的坑需要专门提醒:内外齿轮的齿顶和齿根方向是相反的,画图时一个往外长,一个往里挖。在程序里生成齿廓数据的时候,内齿轮的齿顶圆半径一定小于其齿根圆半径,数组的排序方向要和常规相反,否则后续积分截面参数会直接算错。
2.2 渐开线齿廓离散化:从方程到坐标点序列
健康齿的齿廓离散化是整个程序精度控制的第一关。标准渐开线的极坐标参数方程:
r_theta = r_b / cos(alpha_theta),其中 alpha_theta 是该点的压力角
theta = inv(alpha_theta) = tan(alpha_theta) - alpha_theta
为了得到从齿根到齿顶的离散点序列,需要先在压力角维度上等距采样:alpha_theta 从 alpha_root 到 alpha_tip。其中:
- alpha_root 由齿根圆半径决定:cos(alpha_root) = r_b / r_f
- alpha_tip 由齿顶圆半径决定:cos(alpha_tip) = r_b / r_a
然后把每个采样点的极坐标转换为笛卡尔坐标:
x = r_theta * cos(phi_0 + theta)
y = r_theta * sin(phi_0 + theta)
这里的 phi_0 是齿廓起始点的初始角相位,需要根据齿厚对称条件和分度圆弧齿厚来确定。简化处理时,可让分度圆上的弧齿厚 s = 0.5 * pi * m,利用渐开线性质反推 phi_0。
我在实际程序里,每个齿廓采样 200 到 300 个点,这个密度下截面惯性矩的积分误差已经小于 0.1%。追求极端效率时可以减少到 100 个点,但不要少于 60 个,否则齿根附近的截面变化会被抹平,刚度曲线的啮入冲击特征会出现伪波动。
2.3 啮合线边界与单双齿啮合区划分
计算时变啮合刚度,本质上是在算啮合线上一系列离散啮合位置的总刚度。每个啮合位置由啮合线上的距离参数 s 定义。齿对从啮入到啮出的过程,要经历单齿啮合区和双齿啮合区,边界必须精确计算。
外齿轮齿顶圆与啮合线的交点是啮入点;内齿轮齿顶圆与啮合线的交点是啮出点。啮合线的长度为:
L_ab = sqrt(r_a1^2 - r_b1^2) + sqrt(r_a2^2 - r_b2^2) - a * sin(alpha_w)
其中 alpha_w 是啮合角,标准传动下取 alpha_w = alpha。基节 p_bt = pi * m * cos(alpha)。端面重合度 epsilon_alpha = L_ab / p_bt。单双齿啮合区的分界点就在距离啮入点一个基节的位置。这部分用数值循环判定即可:在啮合线上以固定步长(比如基节的 1/100,甚至 1/200)布置计算点,判断每个点上单齿对承载还是双齿对承载。
3. 势能法计算单齿副时变啮合刚度的完整推导与程序实现
3.1 五个刚度分量的物理含义与公式来源
势能法的本质是把啮合齿对的变形能拆分成五个互不耦合的分量:弯曲变形能、剪切变形能、轴向压缩变形能、轮体弹性变形能和赫兹接触变形能。每一部分对应一个刚度 k_b、k_s、k_a、k_f、k_h。总刚度的计算逻辑是:齿对上的法向力 F 作用在各个分量上产生变形,这五个变形是串联关系,所以五个刚度是倒数叠加,整个齿对的总刚度为:
1/k_total = 1/k_b1 + 1/k_s1 + 1/k_a1 + 1/k_f1 + 1/k_b2 + 1/k_s2 + 1/k_a2 + 1/k_f2 + 1/k_h
其中下标1表示小齿轮,下标2表示大齿轮(或内齿圈)。这个公式是所有势能法程序的总骨架。
弯曲刚度 k_b 的来源是悬臂梁弯曲理论:把轮齿看作一端固定在齿根圆上的变截面悬臂梁,载荷作用在齿面上的啮合点,则
1/k_b = ∫_0^d ( (F*(d - x) - M)^2 / (E * I_x) ) dx
其中 d 是载荷作用点到齿根固定端的力臂,x 是沿齿高方向的积分变量,I_x 是距齿根 x 处齿截面绕中性轴的惯性矩,M 是由齿面摩擦力引起的附加弯矩,健康齿且忽略摩擦时可取 M = 0。
剪切刚度为:
1/k_s = ∫_0^d ( 1.2 * cos^2(alpha_e) / (G * A_x) ) dx
其中 alpha_e 是载荷作用点的压力角,A_x 是距齿根 x 处的截面积,系数1.2是矩形截面的剪切形状因子,G 是剪切模量,G = E / (2*(1+nu))。
轴向压缩刚度为:
1/k_a = ∫_0^d ( sin^2(alpha_e) / (E * A_x) ) dx
轮体弹性变形刚度 k_f 的计算相对复杂,现在常用的有两类处理方式。一类是经典经验公式,基于Sainsot等人的工作,把齿根圆以下部分对啮合法向的柔度用对数函数描述;另一类是有限元标定法,通过预先对轮体做静力分析拟合出柔度多项式。对于行星齿轮的齿圈,我更推荐后者,因为齿圈腹板的结构变化(厚度、孔径、辐板位置)对刚度的影响很大,经验公式无法覆盖。
赫兹接触刚度 k_h 可用线接触弹性接触理论计算,通常在单位宽度下取一个恒定等效值,再有齿宽修正。公式为:
k_h = pi * E_eff * b / (4 * (1 - nu^2))
其中 E_eff 是等效弹性模量,b 是有效齿宽。
3.2 变截面参数的积分实现:从齿廓离散点到惯性矩
程序中最核心的积分模块是计算 I_x 和 A_x。这两个量沿齿高方向连续变化,来源是齿形。
我把齿廓离散点按齿高方向重新排序,对每个 y 坐标(沿齿高方向),可以找到对应的左右齿面 x 坐标 x_left(y) 和 x_right(y)。于是该高度处的齿厚为:
t_x = x_right(y) - x_left(y)
对于直齿轮,截面是矩形,截面面积 A_x = t_x * b,惯性矩 I_x = b * t_x^3 / 12。
这里有个关键细节:如果不考虑修形,健康齿的渐开线部分是左右对称的,但齿根过渡曲线部分并不对称。所以 I_x 的积分下限不能取在齿根圆,而应该取在过渡曲线与渐开线的连接点。否则靠近齿根的那部分截面积会被高估,导致弯曲刚度偏大。
我在程序里处理这个问题的做法是:预先在几何模块里生成完整的单齿齿廓,包括齿根过渡曲线(通常用圆弧或延伸渐开线方程生成)。然后从齿顶到齿根遍历所有离散点,用线性插值把每个积分步长的截面积和惯性矩算出来,再用梯形法或辛普森法积分。
3.3 啮合力臂和压力角沿啮合线的变化
势能法还有一个经常被忽略的细节:载荷作用位置在啮合过程中是移动的。也就是说,d(力臂)和 alpha_e(载荷点压力角)不是恒定值,而是随啮合位置 s 变化的。
对于实际齿廓,啮合点在齿面上的位置决定了从该点到齿根固定端的有效力臂长度。从几何关系可得,当啮合线坐标为 s 时,载荷点在齿面上的高度坐标可以由渐开线的展角关系映射到齿廓参数上,进而求得对应的力臂 d(s) 和压力角 alpha_e(s)。
这个映射关系是程序里最容易出错的地方。我的经验是:不要在迭代刚度的时候反复求解几何关系,而是在初始化阶段对每个啮合离散点预计算 d 和 alpha_e,存成查找表。这样既保证了计算精度,又避免了循环内大量三角函数运算拖慢速度。
3.4 内啮合特有的轮体刚度处理:齿圈环形结构的等效
内齿圈的轮体刚度和外齿轮完全不同。外齿轮可以近似看作无限大半平面上的凸齿;内齿圈则是环形薄壁结构,轮齿长在环的内侧。载荷通过轮齿传递到齿圈轮体时,主要引起环形结构的径向压缩变形和局部弯曲变形。
处理这个问题的常见做法是把内齿圈的轮体刚度分成两部分:齿圈环向整体刚度和局部齿根柔度。前者可以用圆环理论近似计算,后者用经验公式或有限元标定。我实测下来,齿圈的腹板厚度和辐板位置对啮合刚度曲线的均值影响很大,但对波动幅值的影响较小。所以在做参数研究时,如果重点是刚度波动(即激励频率成分),可以适当简化轮体模型;如果重点是系统固有频率,必须把轮体刚度做准确。
这里我强烈建议在程序里留一个参数开关,让用户可以输入齿圈腹板厚度或轮缘厚度,程序自动计算对应的环形刚度修正系数。这个功能看着小,但在实际工程里非常有用,因为行星齿轮的齿圈往往要兼顾支撑结构、法兰连接和润滑通道,轮体形状千奇百怪。
3.5 健康齿状态下的程序流程框架
把以上模块整合起来,健康齿时变啮合刚度的程序流程如下:
- 输入基本参数:模数、齿数、压力角、变位系数、齿宽、材料弹性模量和泊松比。
- 几何准备:计算各圆半径,离散渐开线齿廓,生成单齿截面数据。
- 啮合线布置:根据重合度确定总计算步数,初始化啮合位置数组。
- 预计算:对每个啮合位置,计算力臂、压力角、接触点位置。
- 逐位置刚度计算:对处于啮合状态的每对齿,按五个分量逐一计算,合成单齿对刚度。
- 齿对叠加:判断单双齿啮合区,对同时啮合的齿对刚度进行并联叠加。
- 输出结果:保存刚度-啮合位置曲线和单齿副刚度数据。
这个过程用 MATLAB 写的话,200 个啮合位置、双齿副耦合计算,耗时不到 0.5 秒。用 Python 加 NumPy 向量化,同样秒级完成。
4. 行星齿轮多齿副刚度的合成:从单齿对到系统激励
4.1 太阳轮-行星轮外啮合副与行星轮-齿圈内啮合副的相位关系
行星传动里各齿副之间存在确定的相位关系。任意时刻,作用在行星轮上的啮合力来自太阳轮侧和齿圈侧两侧,这两侧的啮合刚度相位差由行星轮的齿数、安装位置和啮合角共同决定。
程序里处理这个相位关系的思路是:先分别算出单个太阳轮-行星轮齿副和单个行星轮-齿圈齿副的时变刚度曲线,然后利用行星轮相对于太阳轮和齿圈的转角关系,将两条曲线映射到统一的时域坐标上。对于均匀分布的行星轮,各行星轮之间的相位差是均匀的,但要注意齿圈固定和太阳轮固定两种工况下的传递路径不同,相位映射的基准也不同。
4.2 多行星轮载荷分担的迭代计算
多行星轮同时参与啮合时,每个行星轮的载荷并不完全相等。原因在于制造误差、安装误差和轮体弹性变形会导致各行星轮的啮合相位偏离理想位置。健康齿但在实际装配中也需要考虑这个因素。
严格的做法是建立包含所有齿副的静力学平衡方程,用迭代法求每个行星轮的载荷分配系数。简化做法是假设理想均载,各行星轮平均分担总载荷。我建议在程序里两个选项都保留,而且实际项目里强烈建议至少跑一遍非均载版本,看看载荷不均对啮合刚度合成结果的影响有多大。在很多行星减速器故障案例里,某个行星轮的齿面点蚀往往就是载荷分配不均导致的。
4.3 啮合刚度曲线的周期性与激励频率
完整行星传动的啮合刚度激励频率是啮合频率 f_z = n_s * z_s / 60(太阳轮输入转速)乘以行星轮个数在某些工况下的修正。齿圈固定的行星排,啮合频率等于相对转速乘以齿圈齿数再除以60。程序输出的刚度曲线以啮合周期为横坐标,标幺化后可以得到无量纲刚度波动曲线,这是后续傅里叶分析或者多体动力学载荷谱输入的标准化接口。
5. 程序的验证、误差分析与常见问题排查
5.1 对照基准:有限元验证与经验公式偏差分析
程序写完后,第一步验证不是拿实验数据,而是拿有限元结果做对标。我在做齿轮副对标时,通常选择一对齿从啮入到啮出的单齿啮合周期,对比总刚度的数值和曲线形态。偏差在5%以内说明势能法程序基本可靠;如果偏差大于10%,优先检查齿廓离散精度和力臂计算是否准确,轮体刚度标定数据是否匹配。
经验公式(如IS0 6336的C法)求出的单齿副平均刚度也应该在程序结果范围内。如果程序算出的平均刚度明显低于经验值,大概率是轮体刚度取得过低;明显高于经验值,则要检查齿根过渡曲线是否过于肥大导致截面积偏大。
5.2 齿廓采样密度和积分步长的敏感性测试
我的习惯是对采样密度做收敛性测试:从50点逐步增加到500点,观察总刚度的变化量。通常超过200点后,总刚度变化小于0.2%,这时可以确定当前采样密度足够。积分步长同理,啮合线离散点数量从50逐步增加到500,刚度曲线的波动幅值应当单调收敛。
这个测试虽然费点时间,但能帮你避开一个很隐蔽的问题:采样点不足导致刚度曲线上出现不该有的"毛刺",这些毛刺如果被后续动力学仿真放大,会产生完全虚假的高频振动成分。
5.3 内啮合特有故障模式的排查:齿圈薄壁刚度的负刚度现象
在测内啮合轮体刚度时,如果不小心把环形结构刚度算得过低,合成刚度曲线上可能出现局部负刚度现象,即载荷增加反而总变形减少。这在物理上是不可能的,通常意味着轮体刚度公式的适用范围被突破了(比如腹板太薄导致局部屈服),或者叠加逻辑里某个符号搞反了。
排查方法:单独输出轮体柔度的数值,确认它小于齿形柔度的1/3,如果超出,说明轮体刚度对总刚度的贡献小得反常,要回头查环形刚度算式的几何尺寸是否与齿圈实际尺寸一致。齿圈腹板厚度的输入错误是这个问题的最常见诱因。
5.4 程序运行中的典型错误与调试经验
我在复现这个程序的过程中,遇到过三个最有代表性的坑,这里逐个说清楚。
第一个坑是齿廓坐标的旋向问题。内齿轮的齿廓是内凹的,z坐标方向如果搞反,截面积算出来就是负数,程序直接崩溃。解决方式是每次几何模块运行后,立即用图形接口画一次齿廓,肉眼检查齿形方向是否正确。图形化输出是排查这个问题的第一手段,别只盯着数值看。
第二个坑是啮合线步长与齿廓离散点的匹配。如果啮合线步长过密,而齿廓离散点过稀,算出来的力臂变化会出现台阶状的跳跃,导致刚度曲线锯齿状波动。解决办法是让啮合线步长对应的齿面弧长与齿廓离散点间距保持同一量级,或者直接使用插值法从离散齿廓上提取中间点参数。
第三个坑是变位系数的处理。行星齿轮传动里为了凑中心距或调整滑动率,几乎都会用到变位齿轮。变位后齿顶圆半径、齿根圆半径和分度圆齿厚都变了,程序里如果没有正确更新齿廓生成参数,刚度计算误差会非常大。务必在参数输入模块就把变位系数的作用完整实现,而不是后面临时修改齿顶高系数。
6. 基于健康齿基准的扩展方向:损伤模拟与动力学衔接
6.1 健康齿结果作为故障诊断基线
健康齿时变啮合刚度曲线的价值,不只是给动力学仿真提供载荷激励,更关键的是它可以作为故障诊断的基线。把健康齿刚度曲线作为基准,然后在程序里引入裂纹、点蚀或断齿的局部柔度修正,可以立即得到故障状态下的刚度曲线,再输入动力学模型提取振动响应特征,就能用来训练故障诊断算法。
我在实际项目里就是这么做的:先用健康齿模型生成一组不同负载和转速下的振动响应作为"正常样本",再按不同损伤程度修改刚度程序生成"故障样本"。整个流程不需要做任何破坏性实验,成本极低,而且故障特征的可控性非常好——可以精确控制裂纹深度、点蚀面积等参数。
6.2 与多体动力学仿真(如Simpack、ADAMS)的接口设计
程序输出的刚度数据要送入多体动力学软件,格式很重要。Simpack的齿轮副模块可以直接定义力元,刚度-转角曲线按表格输入。ADAMS里可以用样条曲线定义力-变形关系。我的做法是让程序直接输出两列数据:第一列是啮合位置(转角或弧长),第二列是啮合刚度,存成CSV或DAC格式。再做一个小脚本把数据映射到仿真软件要求的坐标单位(通常是N/m和rad)。
这里有个细节值得提醒:动力学仿真里的啮合刚度通常以单位齿宽刚度的形式输入,再乘以有效齿宽得到整体刚度,但势能法算出的刚度已经是全齿宽整体值,需要确认单位统一后除以齿宽再做接口转换,否则数值差一个数量级。
6.3 温度、润滑和齿面摩擦的进阶修正
健康齿状态下的势能法程序如果不做修正,本质上是干接触且等温的假设。实际齿轮副在油润滑条件下运行时,润滑油膜的存在会减小赫兹接触刚度,同时齿面摩擦系数会引入切向力,改变弯曲变形的力臂。
这些因素对啮合刚度的绝对数值影响有限,但对振动响应的相位和幅值有一定影响。如果目标是故障诊断,建议在程序里加入弹性流体动力润滑(EHL)修正系数,用膜厚比判断是否进入边界润滑、混合润滑或全膜润滑状态,不同状态下对接触刚度的折减系数不同。在我测试的案例里,油膜刚度折减大约在2%到8%之间,对边频带特征的影响不明显,但对啮合冲击的幅值有可观测的影响。
6.4 实测数据的校准与模型更新闭环
最后的建议是,程序再好也是仿真模型,实际应用中一定要做一次实测校准。可以用应变片测齿根应力来反算啮合刚度,或者用加速度传感器测箱体振动,再反向优化程序里的轮体刚度参数。
我通常的校准流程是:先采集一组额定工况下的箱体振动信号,提取啮合频率及其谐波的幅值;然后用程序算出刚度曲线,输入动力学模型,调制模型参数(主要是轮体刚度和阻尼比)使仿真振动频谱与实测的啮合频率幅值偏差小于3dB。通过这个闭环,程序的参数就从"合理假设"变成了"实测标定",后续再做故障诊断的置信度就完全不同了。
7. 从零实现时最容易踩的五个坑:个人经验总结
最后单独整理一份避坑清单,这些都是在复现过程中真实出过问题的地方,不适合单独塞在上面任何一节里。
第一个,不要用圆弧近似齿根过渡曲线。圆弧生成的齿廓在过渡区和渐开线连接处存在一阶不连续,算截面惯性矩时会出现局部畸变,照成刚度曲线在齿根啮合段出现不可解释的凹陷。正确做法是用延伸渐开线方程或刀具齿顶圆弧包络生成过渡曲线,保证整条齿廓至少一阶连续。
第二个,齿宽有效值要严格区分实际齿宽和有效齿宽。斜齿轮的接触线是倾斜的,在啮合刚度计算里要用有效齿宽(齿宽除以螺旋角余弦),而不是直接用设计齿宽。直齿轮虽然不存在这个问题,但如果有齿端修形,有效承载齿宽会比名义齿宽小,需要单独输入修形量计算。
第三个,程序里所有长度单位保持统一。我见过最离谱的bug是因为一个长度用了毫米一个用了米,刚度结果差了1000倍。建议所有几何参数统一用毫米,弹性模量用兆帕,最后刚度单位统一为N/mm或N/m,在输出阶段再做整体换算,不要在计算中途来回切换。
第四个,齿轮故障诊断用的刚度程序,至少把啮合线离散点设到512个以上。因为后续要算频域特征,点数不是2的整数幂会导致傅里叶变换的效率降低,而512点刚好能覆盖5倍啮合频率范围内的所有特征,再多也只是增加耗时。
第五个,相位初始化不能随意设置。太阳轮相对齿圈的初始啮合相位会影响各行星轮的均载系数,程序里要提供初始相位角输入,而且在做多工况对比时,这个相位角必须显式保存,否则两次仿真间的相位差会让振动响应特征完全对不上。
我目前维护的这套程序已经跑了十几个项目,从2KW级的精密行星减速器到500KW级的矿用齿轮箱都在用。势能法在工程精度和计算效率之间找到的平衡点,目前看仍然是最优解。如果你也正在做行星齿轮的动力学分析,建议先把健康齿程序吃透,把几何离散、轮体刚度和齿对叠加这三件事做到位,后面不管是加修形、加故障还是接动力学模型,都会顺很多。
