ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

激光双点烧蚀COMSOL仿真:固体传热与变形几何耦合建模实操

激光双点烧蚀COMSOL仿真:固体传热与变形几何耦合建模实操 做激光加工仿真的朋友应该都遇到过这样的需求两个激光光斑同时打在铝合金表面材料在极短时间内被加热、熔化、气化表面留下烧蚀坑。这个现象用嘴说很简单但真要在COMSOL里复现麻烦事一个接一个——温度场还算好办真正难的是那个“坑”怎么随着时间出现和变化。今天抛开教材式的操作流程我直接结合一个激光双点烧蚀COMSOL模型的实际搭建经验把固体传热和变形几何这对组合怎么配合、铝合金材料参数该怎么给、双光斑热源怎么正确布置一条龙讲清楚。这套模型适合正在做激光打孔、激光微加工工艺预研、或者想搞懂多物理场耦合建模的工程师和研究生照着改参数就能复用。我个人最开始玩这个模型的时候也踩过不少坑比如网格畸变导致负雅可比、热源公式里单位错了一位结果温度场飞上天、双光斑距离太近导致热累积失真……所以说这篇文章写的不是“官方文档翻译”而是真正跑通过这个模型之后梳理出来的实操经验。1. 双点烧蚀建模先把物理过程拆明白1.1 这个模型到底在模拟什么激光烧蚀通俗说就是高能量密度的激光束照射材料表面材料吸收光能后温度骤升依次经历固态升温、熔化、气化甚至部分材料以熔融液滴形式被喷出。对于铝合金这类材料熔点大约在660℃附近沸点则在2500℃左右不同牌号有差异激光持续作用时表面温度很容易跨过气化温度这时候材料就会以蒸气形式脱离母材坑洞随之形成。“双点”就是两束激光同时照射或者一束激光分光成两路后同时作用。它在工程上挺常见比如双光束打孔、双光束刻槽、双激光点焊前的表面处理等。加了一个光斑之后问题复杂度立刻从“单坑”变成“双坑加中间热影响区重叠”因为两个热源中间区域会同时受到两侧热扩散的影响温度场不再是简单的轴对称单峰而是可能出现“鞍形”甚至合成一个更大的高温区。COMSOL模型里这个过程要用到两个物理场固体传热负责算温度场变形几何负责把温度结果“转化”成几何形变。说白了一个算热一个算形状变化两者实时耦合。1.2 固体传热和变形几何的耦合逻辑很多人第一次看这个模型会困惑材料被烧掉到底是真的删掉了一部分实体还是只做了视觉效果答案是在COMSOL的变形几何框架下我们是用“网格移动/删除”来近似材料去除这个物理过程。固体传热把激光能量以热通量形式加到模型边界上得到每个节点的温度变化。变形几何那一侧呢当某个局部区域的温度超过了设定的气化判据比如铝合金沸点程序就把这片网格“抑制掉”deactivated等效于材料被高温烧蚀带走了。还有另一种思路是让烧蚀边界沿法向持续向内退让退让速度与当前温度或热流挂钩这也能模拟坑洞扩大。这两个物理场的耦合逻辑本质上是单向的传热决定了哪里该被去掉变形几何把“去掉”这个结果反馈给几何而几何变了之后下一时刻热源的加载边界也变了坑变深光斑可能作用在坑底或坑壁上从而又影响温度分布。所以模型最终是一个“温度→材料去除→几何更新→继续加热”的循环这也是为什么要多物理场耦合而不是拆开单独算。1.3 为什么不直接用“网格删除”或“生死单元”这里多说一句建模思路的问题。有些同学觉得既然要烧蚀那直接给单元加个“生死”不就行了在COMSOL里确实有类似“抑制域”的功能但用起来有个大坑如果直接把高温单元删掉那部分区域的对流传热、热传导路径就突然断了可能导致温度场在删除边界上出现异常扰动。需要用“变形几何”里对删除条件的平滑处理和时间连续性设置才能让几何变化对传热的影响尽量自然。另外“生死单元”通常无法很好地处理“边界连续后退”这种情况——比如烧蚀坑的壁面不是一次性消失而是逐渐往里退。变形几何接口里可以指定边界的移动速度或位移这使得模拟出来的坑壁形态更符合实际情况。所以用变形几何来做激光烧蚀不光是为了能看动画更是为了让热边界的变化对物理结果的影响更真实。2. 建模前的关键参数与材料数据准备2.1 铝合金材料参数常温数据可不能直接抄做仿真最忌讳的就是去材料库随便拉一个“Aluminum”就用。铝合金牌号很多6061、2024、7075的热物性差异不小。更关键的是激光烧蚀涉及从室温到几千摄氏度的巨大温升这个区间内材料的热导率、比热容都在变化直接给常数会导致温度场失真。一般来说模型里至少需要这几个材料参数密度 ρ固态下铝合金约2700 kg/m³液态时略有降低粗略模拟可保持不变。热导率 k纯铝常温约238 W/(m·K)铝合金6061大约167180 W/(m·K)但高温下热导率会上升液态铝的热导率大约90100 W/(m·K)。这个变化显著影响热扩散建议至少给两段式插值。比热容 C_p常温约900 J/(kg·K)高温到液相后会增加到1100 J/(kg·K)左右。如果忽略随温度变化激光持续作用下的峰值温度会偏高。熔化潜热 L_m铝合金大约3.0×10^54.0×10^5 J/kg。潜热会“吃掉”一部分能量导致升温曲线出现平台不能忽略。气化潜热 L_v约1.05×10^7 J/kg量级气化阶段能量消耗极大如果模型跨度到气化必须加这个损失项。熔点 T_m 和沸点 T_b分别约660℃和2500℃不同牌号略有变化。在COMSOL里可以给固体传热域设置“相变材料”特征把潜热放进等效比热容里这样在熔化区间内比热容会有一个尖峰模拟能量的吸收。如果不使用相变特征你也可以手动定义表观热容 Cp_app Cp L_m/(ΔT)把熔化区间展开到一个小的温度范围内。铝合金的另一个特点是对激光的吸收率。很多初学者在这翻车设定1kW激光、吸收率100%结果温度瞬间上万开尔文完全失真。实际上铝合金对1μm波段光纤激光的室温吸收率很低大约只有5%左右表面经过打黑、喷砂或者氧化处理后会提高到15%30%。随着温度升高接近熔点时吸收率会迅速增加液态铝合金吸收率可达20%40%。所以最稳妥的办法是先给一个固定吸收率比如0.10.2跑通后再考虑用随温度变化的分段函数。这个参数对结果影响巨大做参数扫描时务必把它放进去看敏感性。2.2 双光斑高斯热源的数学表达与加载激光热源一般用高斯分布来描述光斑内的能量密度公式不复杂但单位问题容易出大错。三维情况下作用在材料表面的热通量 q (W/m²) 可以写成q 2 * η * P / (π * r0²) * exp(-2 * r² / r0²)其中 P 是激光总功率Wη 是材料吸收率r0 是光斑半径mr 是表面上任意点到光斑中心的距离m。注意公式里的系数 2它保证了整个光斑内积分后等于 ηP这是高斯分布的标准归一化形式。对于双点模型我们要在同一个边界上叠加热源。设两个光斑中心分别为 (x1, y1) 和 (x2, y2)那么边界热通量就是q_total q1 q2 2ηP1/(πr0²)exp(-2((x-x1)²(y-y1)²)/r0²) 2ηP2/(πr0²)exp(-2((x-x2)²(y-y2)²)/r0²)如果是二维模型比如取板材的一个纵剖面模型边界是一条线热源实际是沿线方向的高斯分布。这时候“r”就取沿边界切线方向到光斑中心的距离同时要注意二维模型相当于单位厚度下的情况功率密度单位依然是W/m²。如果你想用总功率P做输入在二维模型里通常要除以一个面外厚度默认取1m。很多教学视频为了避免这种二义性直接在热通量表达式里给幅值比如让峰值热通量等于某个数。这样做也能跑通但如果你把三维结果和二维结果对比会发现对不上根源就是单位厚度处理方式不一样。建议建模前先想清楚我要的是二维剖面趋势还是要和三维实验数据对标。如果要对标实验能建三维还是建三维省得事后修正。顺便说一句双光斑如果距离太近两个高斯分布会重叠出一个很高的中心峰这相当于单点高功率“平顶”效果在工程上是有意为之的。做模型时光斑间距 d 建议直接设成全局参数后面做参数扫描非常方便。2.3 热对流与辐射不能完全忽略的散热有人觉得激光烧蚀时间极短对流和辐射散热可以不管。这个想法对超高功率、微秒级脉冲可能是成立的但对毫秒级甚至更长的激光作用过程对流和辐射还是有影响的。自然对流的一般取 h 520 W/(m²·K)。如果激光头吹保护气h 会更高可能到50100 W/(m²·K)。这个边界条件加在所有暴露在空气中的外边界上初始温度设为293.15K。辐射散热用斯蒂芬-玻尔兹曼定律q_rad ε * σ * (T⁴ - T_amb⁴)。其中 ε 为表面发射率铝合金抛光面可以低到0.050.1氧化面稍高0.20.3。激光烧蚀过程中表面状态变化很快固定一个ε也只是近似处理。我个人建议模型里最好把这两个条件都加上运算成本并不高但物理上更完整。不然长时间的激光作用会让模型持续升温和真实情况偏离越来越大。3. COMSOL模型搭建与核心步骤3.1 几何与网格设计给烧蚀区留足余量假设我们要模拟一块铝合金平板长宽都取1mm厚度0.5mm两个激光光斑位于顶面中心附近间距d从50μm到200μm可调。几何可以直接画一个矩形域模拟纵剖面也可以建三维。为了降低计算量第一次跑通建议用二维纵剖面模型。此时两个激光点变成顶面边界上的两个高斯“热斑”中心坐标分别为 (-d/2, H0) 和 (d/2, H0)其中 H0 是顶面的y坐标。网格划分是整个模型成败的关键。激光光斑半径如果只有20μm那网格至少在光斑区域要细到25μm。千万别把粗网格当默认设置——之前有人用0.1mm的均匀网格算出来峰值温度就比细网格低了近千度因为能量被过度平均了。做法是光斑作用区域局部细化远离区域逐步变稀。COMSOL里用“大小”节点 边选择可以给顶面附近设置一个最大单元尺寸。底部和远端用较粗网格以节省算力。如果是三维模型网格量会急剧上升建议利用对称性。如果两个光斑完全对称且功率相等可以只建1/2甚至1/4模型在对称面上加绝热边界条件。但这里有个坑引入对称边界就意味着变形几何两侧同步变化。如果后续想研究双光斑功率不对称或光斑不同时出光对称模型就不适用了老老实实建全模型。3.2 变形几何 interface 的设置要点在COMSOL中变形几何Deformed Geometry接口可以在“组件 物理场 数学 变形网格 变形几何”里找到旧版可能在“定义”下。核心设置包括指定变形域默认全部域都可以变形。自由变形边界多数边界设成“自由变形”让网格在应力/位移驱动下自动调整。指定网格位移或速度给烧蚀坑的顶面边界设置法向移动速度或位移。如果采用“阈值删除”法则不需要直接指定位移而是通过“添加/移除域”来控制。平滑和重剖分当网格变形过大时模型会报错。COMSOL里可以设置当网格质量低于某个阈值时进行局部重剖分这在瞬态分析中非常有用。对应的变量是“网格质量”评估可以在求解器设置中开启。需要特别提醒变形几何的位移场是“数值虚构”的它不代表材料真实的力学位移。也就是说材料并没有像被机械拉伸那样发生弹塑性流动我们只是利用网格变形来“挪出”一个坑。理解这一点很重要否则你会试图把应力场也拉进来那就变成热力耦合了问题会复杂一个量级。3.3 烧蚀判据与材料移除条件如果你用“温度阈值删除法”操作思路是定义一个新变量比如“移除状态”当 T T_vapor铝合金沸点时值为1否则为0。然后在变形几何的“添加/移除”特征中指定触发移除的判据。这样局部网格一旦超过沸点就被抑制几何上表现为一个随时间变深的坑。但这个做法有个潜在问题网格删除是瞬间的被删区域携带的热量也会直接消失可能导致能量不守恒。从工程角度看如果激光能量远远大于被去除材料的焓增误差尚可接受。如果想更精确可以在变形边界上额外施加一个“蒸发冷却”热通量大小与材料去除速率和质量有关公式近似q_evap ρ * v_a * L_v其中 v_a 是烧蚀速率L_v 是气化潜热。很多论文里默认这个值很小直接忽略但算出来的坑深可能比实验大一些。话说回来如果视频教程里用的不是删网格而是“边界法向速度推进法”具体操作就是让烧蚀边界在温度超过阈值时以特定速度向内移动。这个速度可以由“烧蚀速率 A * exp(-Ea/(RT))”这样简单的Arrhenius公式给也可以用一个分段函数当 T T_v 时速度为0T 超过后给一个常数 v_0。这样做的好处是模型连续性更好网格不会突然消失后处理提取坑深也更连续。缺点是要小心时间步长速度太快可能导致边界一次穿越太长的距离网格变形过大。3.4 激光热源、对流、辐射在COMSOL里的具体操作在这个模型中我的习惯做法是在“固体传热”中把域初始温度设为293.15K。在模型顶面添加“热通量”边界条件热通量表达式就是一个带全局参数的解析函数比如上面写的 q_total。注意在二维模型中这个表达式里的x是边界上的坐标变量。再添加一个“热通量”节点做对流散热如果需要在同一边界上同时加激光和散热注意顺序——COMSOL里同一边界多个热通量条件会覆盖吗不会它会叠加但为了可读性建议分开。用“表面-环境辐射”节点添加辐射发射率设为0.1或0.2。如果激光是脉冲的用“矩形波”函数或“方波”函数乘以高斯热源就行。在COMSOL里可以定义解析函数“pulse(t) 1 当 mod(t, period) pulse_duration”再乘到热通量表达式上。双光斑如果有先后出光顺序就分别定义两个脉冲函数。所有变量、参数建议统一定义在“全局参数”里例如 P1、P2、r0、d、eta、T_v、L_m、L_v。这样后续做参数扫描、画结果图都方便别偷懒硬编码。4. 求解器设置与计算时长控制4.1 时间步长太小跑不动太大全失真激光烧蚀问题的最大难题之一就是时间尺度跨度极大。传热特征时间可能短到微秒量级而整体烧蚀过程可能持续几毫秒。COMSOL的瞬态求解器默认会自动选择时间步但由于我们加入了变形几何和非线性材料属性默认设置往往不稳。我一般建议双击“研究 步骤1时间”在“时间”里直接写分段时间向量例如range(0, 0.01[ms], 0.5[ms])表示0到0.5ms步长10μs。如果光斑很小比如r020μm且热源强度很高初始步长可能要压到1μs否则前几个时间步内温度就已经跨过了气化阈值网格直接被削掉一大块看起来就像爆炸一样不真实。更温和的方法是开“自适应时间步”设置最大步长不超过某个值比如0.5 * r0 / v_laser如果激光光斑移动或0.1 * r0² / alpha基于热扩散特征时间。对于双点固定照射的情形用一个固定的小步长一般就够用了。4.2 求解器选择分离和全耦合怎么选固体传热和变形几何这两个物理场可以用“分离式”求解器分步求解也可以“全耦合”求解。我的经验是如果不涉及强双向反馈比如烧蚀引起边界移动后热载荷位置变化极大用分离式性能更好内存占用低调试也方便。如果网格抑制或边界移动导致几何剧烈变化强烈建议用全耦合并把最大迭代次数调高到10以上阻尼因子调低一点比如0.9或0.8这样更容易收敛。在“求解器配置”里还需要打开“网格重剖分”。COMSOL允许设置最小网格质量阈值比如0.02一旦低于该值就触发重新剖分。重剖分后解变量要插值到新网格上会有微量数值扩散但总比报错强。视频里如果出现“重试网格剖分”之类的提示其实就是这个功能在工作。对了3D模型的网格数如果在几十万以上建议用迭代求解器2D模型一般直接默认的直接求解器就够。这个选择对了速度差好几倍。4.3 收敛性崩溃的救急方法做了这么多次烧蚀仿真我总结出三个最有效的救急手段把温度阈值条件和变形几何之间的耦合变量做“平滑化”。比如不直接用T T_v这种阶跃表达式而是用0.5*(1tanh((T-T_v)/ΔT_smooth))让材料在几度或几十度范围内渐变过渡数值稳定性会明显提升。减小时间步长。很多“不收敛”本质上是步长太大导致网格跨度过大。打开“非线性增强”或“自动阻尼”。COMSOL有这个选项可以在非线性迭代不稳定时自动降低阻尼因子虽然会多算几次迭代但总比原地报错强。如果以上还不行那就检查网格质量。烧蚀坑附近千万不要用过长或过扁的三角形单元。全局重新画一遍网格比在求解器里死磕有效得多。5. 双点烧蚀的独特问题排查与结果利用5.1 双光斑间距与热影响区重叠双点模型最有价值的物理现象就是两个光斑热影响区的重叠。当光斑间距d比较大时比如大于3倍光斑半径两个热源基本上各烧各的坑洞是两个独立小坑当d缩小到接近光斑半径时两个坑会逐渐融合成一个长条形或“花生形”的凹槽中间的残留凸起高度会随d变化。用COMSOL后处理可以很直观地看这个趋势在结果里画“变形后的几何 温度云图”不同时刻的烧蚀形貌一目了然。我更推荐的做法是做一组以d为参数的“参数扫描”然后提取每个d对应的坑深、坑口宽度和热影响区面积画成曲线。有了这个曲线你就可以给工艺人员回答“间距多少时双点开始互不影响”“间距多少时形成一条连续沟槽”这类很实际的问题。铝合金热影响区大小可以依据温度来判断超过再结晶温度比如300℃350℃的区域就算热影响区。在COMSOL里可以用“体积/面积积分”统计这个区域也可以自定义表达式非常方便。5.2 网格畸变与负雅可比报错“负雅可比”是变形几何模型最经典的报错没有之一。说白了就是某个网格被压扁或翻转过来了数值上几何变换行列式变为负数求解直接中断。遇到这个报错优先检查三件事变形量是不是过大了烧蚀坑深度与网格特征尺寸相比是否一个时间步内就让边界位移超过了相邻网格大小网格是不是太杂乱光斑附近最好用映射网格或结构化的四边形网格这样变形时不容易翻转。是否开启了网格重剖分开了一定程度上能边界兜底但也会增加计算时间。我的做法是在烧蚀坑对应区域画一个“小方块”或“圆弧形”的较精细子域用较规整的网格外部用较粗的自由三角形两者之间用“过渡”方式连接。这样既能保证变形区网格质量又能控制全局规模。5.3 如何从结果里提取烧蚀深度、坑形与温度历史后处理是整个模型的出口功能很强大但需要有点思路。我个人惯用的三个动作提取坑深在变形几何结果中选择烧蚀边界上的中心点绘制“该点在y方向的位移-时间”曲线。稳定后的位移值就是该点的烧蚀深度。提取坑形在某一时刻结果里增加一条“截线”连接坑的两个边缘画“边界位移量沿x方向分布”就能得到烧蚀坑剖面线。提取温度历史在模型不同深度表面、0.5mm处、1mm处设置点探针绘制“温度-时间”曲线。这组曲线可以用来估计热影响区深度也能和实验热电偶数据对比验证模型。如果你还装了“粒子追踪”模块还能模拟熔融液滴飞溅不过那个属于后处理进阶玩法和本文的变形几何主线关系不大先不提。做结果动画时建议把“网格”也就是变形的几何轮廓线也显示出来。如果看不到轮廓线在结果设置里把“网格”图层勾选上即可。这个动画放到组会里非常直观但提醒一下动画的流畅度不代表模型收敛的准确性还是要回归数值检查。6. 写在最后的一点操作心得这套“激光双点烧蚀COMSOL模型”核心难点其实不在操作而在建模思维的转换你要始终记住几何变形是温度场的结果而不是一个独立的力学过程。做双点模型时建议第一步先用单点模型把传热和网格变形跑通确认边界条件和热源公式没有单位问题再去叠加第二个光斑。双点模型真正值钱的地方是可以系统研究光斑间距、功率配比、出光时序对烧蚀形貌和热影响区的影响这些结果对确定工艺窗口特别有参考价值。自己先跑一遍你就知道哪些参数是“动一下就翻车”的敏感参数哪些是无所谓的钝参数——这种经验光看教程是学不来的。
返回列表