ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

SolidWorks螺旋桨流体仿真:旋转域、边界条件与KT/KQ效率曲线

SolidWorks螺旋桨流体仿真:旋转域、边界条件与KT/KQ效率曲线

简介:围绕螺旋桨流体仿真整理的SolidWorks工程包,面向机械工程、航空航天与船舶推进方向的学习者和设计人员,用于理解螺旋桨在不同工况下的推力、扭矩、阻力与流场表现,并借助CFD流程完成叶片外形与安装角的对比优化。压缩包共105个文件、约92.06MB,包含sldprt与sldasm三维模型、fld/plot/vort等流场与后处理结果、txt/html说明报告以及dat配置数据,覆盖建模、网格、求解与结果查看的主要环节。已有766人学习,说明该主题在仿真入门与工程复核中具有一定关注度。读者可据此梳理SolidWorks Flow Simulation的仿真组织方式,观察旋转边界、壁面与进出口条件的设置思路,并结合速度、压力分布图理解螺旋桨性能变化,同时通过对比不同方案的流场云图与性能数据,快速定位叶型调整带来的收益与风险,为课程设计、毕业设计或工程预研提供可复用的参考素材。

1. 螺旋桨不复杂,仿真却容易“看着对、一算就崩”

螺旋桨这玩意儿几何本身并不复杂,仿真却特别容易跑出一堆看着合理、一算效率就离谱的结果。问题多半不在求解器,而在前面那十几个参数:直径、螺距、盘面比怎么落在模型上,旋转域切多大,入口速度按哪个 J 反算,角速度该填 rad/s 还是 rpm。这份螺旋桨流体仿真.zip 走的是 SolidWorks 建模加内置流体仿真这条链路,把模型、旋转域、边界条件和力/力矩目标做成了一套能对照修改的配置。它适合两类人:刚接手螺旋桨选型、不想从零搭算例的工程师,以及课程设计里要出 KT、KQ、效率曲线的同学。它替不了你做网格无关性验证,但能让你少在“参数填错”这种事上耗掉两天。

2. 拆包先核对:模型、旋转域与边界条件如何对应

拿到一个仿真包,最忌讳的操作是双击打开求解,然后看结果好不好看。螺旋桨的算例是强耦合的:几何改了,旋转域要跟着改;转速改了,时间步和网格量要跟着改;入口速度改了,出口位置可能就不够远了。所以第一步不是运行求解器,是把包里的东西按“几何 / 域 / 条件 / 目标”四层拆开,逐层核对一遍。

2.1 包里几类文件,各自能改到什么程度

这类资源包通常由四部分组成,复用价值差别很大,别一视同仁。

内容典型形式你该核对什么可直接改动的程度
叶片与桨毂几何零件或装配体直径 D、叶数 Z、螺距 P、毂径比是否与说明一致可改,但改完必须重切旋转域
旋转域与外部计算域拉伸/旋转实体旋转域是否独立实体、是否与叶片相交只能改尺寸,不能改拓扑
仿真算例已配置的流体仿真项目单位制、旋转轴、角速度单位、边界类型直接改参数即可复用
结果与说明切面云图、目标曲线、参数表结果对应的工况点(J、n、V)只读,用来比对量级

最值得先看的是说明文档里的工况表,而不是模型。模型的直径、叶数决定了后面所有系数的换算基准,一旦 D 取错,KT 会以 D⁴ 的量级错下去,表面上曲线还是挺光滑的,你根本发现不了。我一般会先量一遍模型的叶尖包络直径,和文档对一次,对不上就以模型为准反推工况。

还有一个容易被忽略的点:包里的模型可能是按毫米建的,但仿真项目用的是米制。SolidWorks 的流体仿真内部会做单位换算,可一旦你在边界条件里手填数值,比如把 0.3 m 写成 300,那后面全是灾难。

2.2 旋转域怎么切:把“转”翻译成一块几何

螺旋桨仿真的核心动作是把“叶片在转”这件事翻译成几何分区。SolidWorks 流体仿真里的做法是插入一个局部旋转区域(Rotating Region),指定一个代表旋转域的实体、一根旋转轴、一个角速度。这个旋转域必须是一块独立的几何体,把叶片和一部分桨毂包在里面。

尺寸上有个经验区间:旋转域做成圆柱,直径取 1.05D 到 1.10D,叶尖到旋转域侧壁留 0.05D 左右的间隙;轴向从前缘往前 0.2D,尾缘往后 0.3D 到 0.5D,把叶根到桨毂之间的尾流区也包进去。切太小,叶尖涡被壁面压住,推力偏低;切太大,旋转域界面上要插值的区域变宽,网格量白白增加。

轴向位置对毂涡的影响比想象中大。螺旋桨的毂涡会往后拖很长一段,如果旋转域尾端刚好切在叶根后方一点点,那个低压区就被切断在界面上了,表现在结果里就是扭矩偏小、效率虚高。我一般会把旋转域尾端至少放到 0.5D 之后,宁可多算一点网格。

提示:旋转域与外部计算域之间必须是共享面(共形接触),在 SolidWorks 里通过组合实体或保证两个实体贴合实现。如果两者之间有微小缝隙,软件会把它当成壁面,叶尖附近的流场直接断掉,收敛曲线看起来还挺正常,结果却完全不对。

2.3 边界条件取值表:入口、出口、远场一次固定

边界条件的设置在螺旋桨算例里是最容易“抄错一半”的地方。下面这张表是我常用的配置,外部流场、均匀来流、单桨敞水工况:

边界位置类型建议取值说明
入口面入口速度V = J·n·D,法向均匀来流,湍流强度 1%~5%
出口面环境压力1 atm(空气)或按浸深折算(水)允许回流,别设成壁面
侧面与上下远场理想壁面或对称—距离桨轴 5D 以上
叶片与桨毂表面真实壁面粗糙度 0~20 μm无滑移
旋转域界面内部面—不要误设成壁面

计算域尺寸上,入口距桨盘 3D 到 5D,出口距桨盘 8D 到 10D,径向 5D。出口太近是新手最常见的翻车点:螺旋桨后面是加速的尾流,出口拉不开,压力场被“顶”回来,推力会系统性偏高,而且残差曲线会一直抖,你会以为是网格问题,其实是域不够大。

入口给速度还是给压力,取决于你要模拟的是敞水试验还是装机状态。敞水工况给速度最直接,因为 J 的定义里 V 就是来流速度;如果做的是带船体伴流的工况,入口得给一个速度剖面,这时候包里的均匀来流配置就不能直接用了,需要改边界类型。

2.4 工况点只能定两个:J、n、V 的换算与单位

螺旋桨相似准则里有三个量:进速系数 J、转速 n、来流速度 V,它们满足 J = V/(nD),所以三者只能自由定两个。这个约束在填参数的时候必须心里有数,否则你会做出一个“J 和 V 对不上”的算例。

系数换算的三个公式要背下来:

  • 推力系数 KT = T /(ρ·n²·D⁴)
  • 扭矩系数 KQ = Q /(ρ·n²·D⁵)
  • 效率 η = J·KT /(2π·KQ)

这里面 n 的单位是转每秒,不是 rpm。一个 3000 rpm 的桨,n = 50 r/s,角速度 ω = 2πn ≈ 314 rad/s。SolidWorks 的旋转域默认接受的角速度单位是 rad/s(也可切换),如果你直接把 3000 填进去,等于给了一个比实际快 9.5 倍的转速,推力会大出两个量级,而且求解器不会报错——它只会很“认真”地给你一个错答案。这个坑我在第一次做螺旋桨算例时结结实实踩过,血泪经验。

介质属性也要对:水取 ρ ≈ 998 kg/m³、运动粘度 1.0×10⁻⁶ m²/s;空气取 ρ ≈ 1.225 kg/m³、运动粘度 1.5×10⁻⁵ m²/s。用错介质,雷诺数差两个量级,湍流模型的选择和网格要求全都要变。

3. 几何与网格:偏差九成出在这两步

求解器不会凭空造出精度。螺旋桨算得准不准,八成取决于几何清理得干不干净、网格在叶尖和叶根这两个位置给得够不够。这两步都是“看不见的功夫”,做得好与不好,残差曲线都很漂亮,差别只在最后一列数字上。

3.1 几何清理清单:哪些特征必须删

从 CAD 拿到的螺旋桨模型,八成带着一堆和流动无关的东西。清理原则只有一条:凡是不影响外流场、但会让网格被迫加密的特征,全删。

特征处理原因
螺纹、键槽、销孔删除位于桨毂内部,不参与外流
小于 0.5 mm 的倒角、圆角删除迫使局部网格极细,收益为零
铭牌凹槽、标记文字删除曲面极易破面
叶根大圆角保留影响叶根流动与应力集中区流态
桨毂外轮廓保留直接参与毂涡形成

删完之后必须做三件事:检查实体数量(叶片 + 桨毂应该是一个或明确分离的实体)、做一次干涉检查(叶片不能穿出桨毂表面)、确认叶片曲面是缝合好的实体而不是曲面片。曲面有缝的时候,网格生成会报“无法识别流体域”,或者更糟——它不报错,把缝隙当成一堵薄墙,叶背压力分布上多出一条莫名其妙的条纹。

还有一类问题来自“薄壁”。有些螺旋桨模型的叶尖厚度只有零点几毫米,在直角切面网格体系里,这个厚度如果小于最小缝隙数对应的尺寸,软件会把它当成零厚度壁面。表现是叶尖附近的力突然掉一截。解决办法是把叶尖做局部加厚(比如补到 1 mm 以上),或者提高最小缝隙数,两者选一个,别硬扛。

3.2 旋转域的两种建模方式与周期扇区

旋转域有两种建法,适用场景完全不同。

第一种是整桨加独立旋转域,最通用,也是这类资源包里最常见的做法。圆柱体旋转域包住全部叶片,与外部流场共形,一个算例算整个桨。缺点也明确:网格量随叶数线性涨,五叶桨的网格量大概是单通道的五倍。

第二种是单通道加周期边界,适合叶数多、几何旋转对称性好的桨。取 360°/Z 的一个扇区,两侧设周期边界,只算一片叶片。网格量直接降到 1/Z,代价是几何必须严格对称——有侧斜、有纵倾、叶片之间有细微差异的桨,这个方法就不适用了。做法上,扇区两侧的面要在 SolidWorks 里做成平面且角度精确,周期边界的两侧面网格节点最好能对上,对不上时软件会做插值,精度会掉一点。

选哪种,看你的目标。要出 KT、KQ 曲线做选型对比,整桨更稳妥,省得在周期边界上折腾;要做参数扫描、跑十几个方案,单通道省下来的时间很值。我一般的做法是先用单通道跑趋势,锁定两三个方案再用整桨复核。

注意:旋转域内部不能有第二个实体壁面。有时候模型里残留了一个没删干净的辅助实体,正好落在旋转域内,软件会把它当成一块挡板,流场被劈成两半,推力直接对折。跑之前用剖面视图扫一眼旋转域内部,这三十秒很值。

3.3 网格参数表:从初始级别到叶片局部细化

SolidWorks 内置流体仿真用的是直角切面网格加部分单元处理壁面,边界层靠壁面函数。这意味着你不需要(也没法)像贴体网格那样设第一层高度和增长率,能控制的是初始网格级别、最小缝隙数、最小通道数和局部细化等级。

参数建议值影响
初始网格级别3~4全局基准尺寸,决定总网格量
最小缝隙数3~5薄壁、叶尖、叶根间隙能否被捕捉
最小通道数8~12叶间通道内的网格层数
叶片表面局部网格细化 1~2 级压力分布与力积分精度
旋转域局部网格细化 1 级叶尖涡与尾流捕捉
总网格量80 万~300 万与机器内存匹配,8 GB 内存别超 150 万

初始级别从 3 开始,跑通再往上加。很多人一上来就拉满,结果网格 500 万,跑一晚上还在第二步,连边界条件设错没设错都不知道。先用粗网格确认流程通、力方向对、数值量级合理,再加密做正式计算,这个顺序能省掉大量等待。

叶片表面必须做局部细化,这是螺旋桨和一般外流场最大的区别。整个桨的推力就是叶片表面上压力积分的和,叶片表面网格粗一级,KT 可能偏 5% 以上,而且是系统性偏高——粗网格会把叶背的吸力峰抹平,压力分布变得“圆润”,积分出来的力反而更大。这个偏差方向很坑人,因为它让你的结果看起来“性能不错”。

边界层的处理有个硬边界要说清楚:壁面函数要求第一层网格落在对数律层,y+ 大致在 30 到 300 之间。如果你需要 y+ 小于 1 的解析边界层,这个求解器不是合适工具,得换贴体网格的求解器。这不是缺点,是选型问题,提前知道比跑完才发现好。

3.4 网格无关性验证:三套网格怎么对比

网格无关性不是走流程,是唯一能证明“你的数不是网格造出来的”的手段。做法很简单:同一工况下,网格量按约 1.5 到 2 倍递增,跑三套,对比 KT 和 KQ。

典型的收敛形态是这样:粗网格(约 60 万)KT 偏高,中网格(约 150 万)掉下来几个百分点,细网格(约 350 万)与中网格相差在 1% 到 2% 以内。到这个程度就可以认为网格无关了,正式计算用中网格,兼顾精度和时间。

网格量级KT 相对偏差KQ 相对偏差用途
约 60 万+5%~8%-3%~5%只用于流程验证
约 150 万基准基准正式扫描
约 350 万-1%~2%+1%~2%关键工况复核

KQ 的偏差方向和 KT 常常相反,这一点值得留意:粗网格算出来的推力偏大、扭矩偏小,两者一除,效率 η 会虚高十几个百分点。如果你只盯着效率看,会得出一个过于乐观的结论。所以我做螺旋桨算例,从来是先看 KT 和 KQ 各自的收敛情况,最后才看 η。

4. 求解设置:湍流模型、时间步与收敛判据

网格定了,剩下的就是求解器怎么配。螺旋桨的流场有两个特征决定了参数选择:叶尖附近有强剪切和叶尖涡,叶根区域有分离和角区流动,整体雷诺数高。这决定了湍流模型和时间步不能随便选。

4.1 先稳态后瞬态:MRF 与滑移网格的分工

旋转区域的求解方式有两种:多重参考系(MRF,也叫冻结转子)和滑移网格。前者在稳态下让旋转域内的方程带上离心力和科氏力项,转子相对网格静止;后者是真瞬态,旋转域网格逐步转动,界面做插值。

分工很清楚:

  • MRF 做扫描。一个工况几十秒到几分钟,适合把 J 从 0.2 扫到 0.9,先看性能曲线的形状和量级对不对。
  • 滑移网格做校核。选两三个关键点(比如设计点附近、效率峰附近),跑 5 到 10 圈,看瞬态的平均值和 MRF 差多少。

MRF 的系统性偏差在于它忽略了叶片与叶片之间的相对运动引起的非定常干涉,对五叶以上的桨,这种干涉效应相对弱,MRF 与滑移网格的差距常在 2% 到 5% 以内;叶数少、盘面比大的桨,差距会更大。所以不要用 MRF 的结果直接对外交付,用它定位、用滑移网格出数,是比较稳的路线。

滑移网格的启动方式是从 MRF 的收敛解接着跑,而不是从零起。这样能省掉前面几圈的建立时间,也能避免初始场剧烈跳变导致的发散。

4.2 湍流模型怎么选:k-ω SST 与 k-ε 的边界

模型适用场景代价螺旋桨上的表现
层流极低雷诺数、模型桨低基本不用
标准 k-ε高雷诺数自由流中叶根分离区偏乐观
k-ω SST逆压梯度、叶尖涡中高首选,叶尖与叶根兼顾
Spalart-Allmaras附着流、航空桨低大分离工况偏差大
DES 类精细尾流、噪声高网格要求极高,慎用

螺旋桨选 k-ω SST 是常规做法,因为它在逆压梯度区(叶背后半段)和剪切层(叶尖涡)里的表现比 k-ε 稳。代价是对网格更敏感,叶片表面细化不到位时,SST 反而可能给出比 k-ε 更抖的结果。

一个常见误用是把湍流强度和湍流长度设成默认值就不管了。外部流场入口的湍流强度取 1% 到 5%,长度尺度取特征尺寸的百分之几,对螺旋桨敞水工况影响不大,但如果模拟的是装机状态、入口带着船体伴流,入口湍流参数就得按实际来流给,否则叶根附近的分离位置会明显偏后。

4.3 时间步长与每步转角:一张表算清

瞬态计算唯一需要算的数是时间步。控制量是每步转过的角度,一般取 1° 到 3°:

Δt = (Δθ / 360) / n

其中 n 是每秒转数。以一个直径 0.3 m、转速 3000 rpm 的桨为例,n = 50 r/s:

每步转角Δt跑 5 圈的步数适用
1°5.6×10⁻⁵ s1800精细校核
2°1.1×10⁻⁴ s900常规
5°2.8×10⁻⁴ s360快速试算

每步转角超过 5° 之后,叶片扫过网格的速度太快,界面插值误差上升,推力曲线会出现明显的高频锯齿,平均值也跟着漂。反过来,1°/步的代价是步数翻倍,如果硬件一般,2°/步是性价比最高的选择。

还可以用 CFL 数做个交叉校验:叶尖速度 U = πnD,若叶尖附近网格尺度为 Δx,则 CFL = U·Δt/Δx。隐式求解器允许 CFL 到 5 到 10,超过这个量级就说明时间步相对网格太粗了,要么减 Δt,要么加密叶尖。

总物理时间按圈数算。至少 5 圈,理想是 8 到 10 圈,因为前 2 到 3 圈还在建立流场,真正能取平均的是后面几圈。我一般会在第 3 圈之后才开始记录数据。

4.4 收敛判据:看目标曲线还是看残差

残差曲线只能说明方程在收敛,不能说明物理量收敛。螺旋桨这种带旋转的算例,残差降三个量级但推力还在缓慢漂移是常事。

真正要盯的是表面目标(Surface Goal)的曲线。设两个就够:沿推力方向的力(X 或 Z,取决于你的坐标系)和绕旋转轴的力矩。稳态算例看这两个目标的平均值是否稳定在一条水平线上,波动小于 1%;瞬态算例看每一圈的平均值,连续两圈的均值差小于 1% 才算进入周期性。

除了力和力矩,建议再加一个监控点:叶尖前缘附近的静压点,或者出口截面的质量流量。前者能反映叶尖涡的非定常行为,后者能验证质量守恒有没有被破坏。出口质量流量与入口差超过 1%,八成是出口回流太强,回去看计算域是不是太短。

提示:如果在第 300 步之后目标曲线还在单调下降或单调上升,不要等它自己稳。这通常意味着网格在某个区域不足以支撑当前的流动结构,加时间只会让它慢慢漂到一个错误的值上。停下来加密叶尖网格,比硬跑划算。

4.5 从力矩到效率:KT、KQ、η 的三步换算

求解器给你的是一堆牛顿和牛米,要变成能和图谱对比的系数,中间有三步,每一步都能出错。

第一步,确认方向。推力是沿桨轴的分量,扭矩是绕桨轴的分量。SolidWorks 的表面目标里,力要选对分量方向,力矩要选对旋转轴。如果算出来的推力是负的,先别改模型,去看方向定义。

第二步,确认参考点。力矩是相对参考点算的,如果桨轴不在全局原点,力矩的数值会带上一个力臂误差。稳妥的做法是建模时就把桨轴放在原点,或者创建一个以桨轴为轴的坐标系,把力矩目标绑在这个坐标系上。

第三步,套公式。T、Q 取稳定段的平均值,n 用 r/s,D 用 m,ρ 按介质取,代入 KT、KQ,再算 η = J·KT/(2π·KQ)。

一个量级校验的习惯:敞水螺旋桨的效率峰值一般在 0.55 到 0.75 之间,J 在 0.4 到 0.8 之间取到。如果算出来 η 大于 1,百分之百是符号或参考点错了;如果 η 只有 0.2,先查 D 和 n 的单位,再查介质密度。这类错在第一次做的时候几乎人人都会犯一遍,有个量级预期能让你在十分钟内定位,而不是耗一晚上。

5. 避坑与排查:五条踩过的记录

下面这五条,都是我在螺旋桨算例上真实翻过的车,按“现象 → 原因 → 解决”写,能对上号就直接改。

5.1 几何与旋转域的三条

第一条:推力大出两个量级,但残差收敛得很好。

现象:目标曲线平滑收敛,推力数值是预期的一百倍左右,效率算出来接近 1。 原因:角速度单位填错。把 rpm 的数值直接填进了 rad/s 的输入框,等于转速放大 2π 倍以上,而 n 在 KT 里是平方项,误差被进一步放大。 解决:填之前先算一遍 ω = 2π·(rpm/60),把结果抄在纸上再输入。养成习惯之后,这类错就绝迹了。顺便把工况表里的 n 统一写成 r/s 和 rad/s 两列,避免来回换算。

第二条:网格生成报错,或者算出来的流场里有一条笔直的“墙”。

现象:叶片附近的压力云图上出现一条不该有的直线分界,或者直接提示流体域不连通。 原因:旋转域与外部计算域之间有缝隙,或者旋转域内部残留了辅助实体。前者让软件把界面识别成壁面,后者把流场劈开。 解决:用剖面视图沿三个方向各切一刀,看旋转域内部是不是干净的;再用干涉检查确认旋转域与叶片的关系。缝隙的处理办法是把两个实体做一次组合,或者把旋转域尺寸微调 0.1 mm 让它与外部域贴合。这个检查花三十秒,比跑完发现不对再回头省几小时。

第三条:叶尖附近的力和压力分布出现锯齿,加密网格也不消失。

现象:叶尖前缘的静压分布上有一串高频振荡,KT 比同类桨的参考值低 5% 以上。 原因:叶尖厚度小于最小缝隙数对应的尺寸,部分单元处理时把叶尖当成了零厚度壁面,几何被“削”掉了一小块。 解决:两条路,要么把叶尖局部加厚到 1 mm 以上(对仿真专用模型来说完全可接受),要么把最小缝隙数从 3 提到 5。前者更彻底,后者更省事,看你的模型是不是还要回到结构分析。

5.2 求解与后处理的两条

第四条:瞬态跑了两圈就取平均,效率曲线怎么看怎么抖。

现象:每圈的平均推力差异在 10% 以上,η 在 0.5 到 0.7 之间跳。 原因:流场还没进入周期性。螺旋桨从静止启动,前两三圈是在建立尾流结构,尤其是毂涡和叶尖涡的脱落,建立时间比想象中长。 解决:至少跑 5 圈,取最后 2 到 3 圈做平均。判断进入周期性的标准是连续两圈的均值差小于 1%。如果跑 8 圈还在漂,问题不在圈数,回去看时间步和网格。

第五条:推力对得上,扭矩对不上,效率偏低。

现象:KT 与参考值吻合在 3% 以内,KQ 偏大 15%,导致 η 明显偏低。 原因:力矩的参考点不在桨轴上,或者旋转域的面积分把旋转域界面上的剪切也算进去了。前者引入力臂误差,后者是目标定义范围选错。 解决:把力矩目标限定在叶片和桨毂的真实壁面上,不要选整个旋转域;参考点用桨轴上的自定义坐标系。另外检查一下旋转域界面是不是被误设成了真实壁面——如果界面是壁面,那里的剪切应力会被算进扭矩里,KQ 必然偏大。

6. 进阶:把单点算例跑成 J-η 曲线的一套流程

单点仿真只能告诉你“这个工况大概什么样”,工程上真正要的是曲线。我的做法是把 J 做成参数,用一个 Excel 或设计表驱动入口速度,批量导出每个工况的力和力矩,再统一后处理。

批量的关键在于“不要每次手动改”。入口速度按 V = J·n·D 算好,一次性写进设计表;每个工况单独建一个配置,跑完把表面目标的平均值导出成 CSV。导出的表结构建议固定成四列:J、推力 T、扭矩 Q、备注,后面加不加别的都行,但这四列必须有。

后处理用一个脚本统一算系数,避免手算出错。下面这段读 CSV、算系数、输出对比表:

import csv, math RHO = 998.2 # 介质密度 kg/m3,水;空气改为 1.225 N_RPS = 50.0 # 每秒转数,3000 rpm / 60 D = 0.30 # 螺旋桨直径 m def coeffs(J, T, Q): """由进速系数、推力(N)、扭矩(N·m) 反算 KT、KQ、效率""" KT = T / (RHO * N_RPS**2 * D**4) # 推力系数无量纲化 KQ = Q / (RHO * N_RPS**2 * D**5) # 扭矩系数,注意 D 的五次方 eta = J * KT / (2 * math.pi * KQ) if KQ else 0.0 return KT, KQ, eta rows = [] with open("results.csv", newline="", encoding="utf-8") as f: for r in csv.DictReader(f): # 表头:J,T,Q J = float(r["J"]) KT, KQ, eta = coeffs(J, float(r["T"]), float(r["Q"])) rows.append((J, KT, KQ, eta)) rows.sort(key=lambda x: x[0]) # 按 J 排序,方便画曲线 for J, KT, KQ, eta in rows: print(f"J={J:.3f} KT={KT:.4f} KQ={KQ:.5f} eta={eta:.3f}") peak = max(rows, key=lambda x: x[3]) # 找效率峰 print(f"效率峰: J={peak[0]:.3f}, eta={peak[3]:.3f}")

这段代码的逻辑很直白:系数换算的三条公式集中在一个函数里,物理量单位固定成 SI,避免某个工况用了 mm 或 rpm 混进来。几个参数要盯住——RHO必须和仿真里设的介质一致,改介质不改这个数,算出来的 KT 会差将近一千倍;N_RPS用每秒转数不是 rpm;D用米,且必须是叶尖包络直径,撑到桨毂内侧的半径不算在内。输出里那句找效率峰,是为了快速定位设计点附近的 J 区间,省得在一堆数字里翻。

有了曲线之后,还有一步别省:拿公开图谱或试验数据对一下量级。螺旋桨的敞水特性曲线在教材和船模试验池的数据里都能找到相近盘面比和螺距比的参考,把两条曲线的形状叠在一起看,如果效率峰的位置差得远,先怀疑 J 的定义和 D 的取值,而不是怀疑求解器。

最后说个我自己的习惯。从那以后我每次建新的螺旋桨算例,都强制走一遍三件事:量一次叶尖直径和文档对账、切三个剖面看旋转域内部、跑一个 60 万网格的粗算确认推力方向为正。这三步加起来不到二十分钟,但救过我至少三次“跑了一晚上发现方向反了”的事故。仿真这行,后悔药基本买不到,只能提前吃。希望帮到你。

本文还有配套的精品资源,点击获取

返回列表