参考这篇文献,我需要做一个关于熔盐液滴滴落在低温平面凝固的ansys fluent仿真,请给出从模型...
Créé le : 29 juillet 2026
Répondu en utilisant GPT-5.6 Thinking par Chat01
Créé le : 29 juillet 2026
Répondu en utilisant GPT-5.6 Thinking par Chat01
参考这篇文献,我需要做一个关于熔盐液滴滴落在低温平面凝固的ansys fluent仿真,请给出从模型建立到制作仿真动画的全过程和详细操作步骤
下面给出一套适合 “高温熔盐液滴垂直撞击低温水平平面并凝固” 的 ANSYS Fluent 全流程。建模思路沿用文献中的 VOF 气—液界面捕捉 + Solidification/Melting 焓—多孔介质凝固模型,但把文献中的椭球液态锡、球形曲面改成熔盐液滴和水平平板。文献使用二维轴对称计算域、压力基瞬态求解器、VOF、凝固/熔化模型、SIMPLEC、PRESTO!、Compressive、二阶离散和细时间步,这些设置可直接作为你的初始方案。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
以下菜单名称按 Fluent 2025 R2 表述,2023 R2/2024 R2 的位置基本一致。当前 Fluent 官方文档仍支持 VOF 与 Solidification/Melting 联合计算;非凝固相的潜热、固相线和液相线应设为零。(ANSYS Help)
建议分两步做。
采用:
这个模型最容易收敛,适合先跑通液滴铺展和凝固动画。
在基础模型上增加:
对于“低温平面”,如果基板在撞击后会明显升温,推荐第二种共轭传热模型;如果平板温度由强制制冷保持不变,可以直接使用恒温壁面。
熔盐种类不同,物性差别很大。不要直接把文献中的锡物性替换成某一套通用熔盐参数。至少准备下列数据。
| 参数 | 符号 | Fluent 中的位置 |
|---|---|---|
| 液态密度 | Materials → Density | |
| 固态密度 | 可用分段函数表示 | |
| 液态比热 | Materials → Specific Heat | |
| 固态比热 | 分段函数 | |
| 液态导热系数 | Thermal Conductivity | |
| 固态导热系数 | 分段函数 | |
| 液态动力黏度 | Viscosity | |
| 潜热 | Latent Heat | |
| 固相线温度 | Solidus Temperature | |
| 液相线温度 | Liquidus Temperature | |
| 表面张力 | Phase Interaction | |
| 接触角 | Wall Adhesion | |
| 液滴初温 | 初始化 Patch | |
| 平板温度 | Wall 或基板底面 | |
| 撞击速度 | 初始化 Patch | |
| 液滴直径 | 几何和初始化 | |
| 热接触热阻 | 耦合壁面或等效薄层 |
对于盐混合物,应优先采用真实的固相线和液相线,而不是人为设置极窄的相变区。文献中的锡接近纯物质,为改善收敛采用了约 2 K 的平滑相变区;这一数值不应直接用于所有熔盐。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
建议先计算几个无量纲数:
它们有助于判断是惯性、黏性、表面张力还是凝固效应占主导。
以直径 的球形液滴为例。
| 项目 | 建议值 |
|---|---|
| 计算域高度 | |
| 计算域径向宽度 | |
| 液滴与平板初始间隙 | |
| 基板厚度,若建固体区 | |
| 液滴附近网格 | |
| 初始时间步 | |
| 每时间步迭代次数 | 20~30 |
| 总物理时间 | 20~100 ms,直到基本完全凝固 |
文献中采用 的计算域,液滴附近网格约 10 μm、相当于直径方向约 200 个单元,并采用 时间步。这个分辨率可作为高精度参考,但计算量很大。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
建议先使用 网格跑通,再增加到 和 做无关性分析。
Fluent 二维轴对称模型通常以:
设置:
不要让二维轴对称网格进入 区域。
在 SpaceClaim 或 DesignModeler 中画一个矩形:
矩形边界命名:
axiscold-walltop-outletside-outlet整个矩形为一个流体面,不需要在几何中直接画出液滴。液滴在 Fluent 中通过 Patch 或 UDF 初始化。
画两个相邻矩形:
流体区:
固体基板:
执行:
fluid-domain;substrate-solid;substrate-bottom;substrate-side。这样可以模拟平板吸热和温升。
推荐使用 Fluent Meshing、ANSYS Meshing 或 ICEM CFD。
二维轴对称液滴撞击建议:
文献采用 Quad/Tri 自由面网格和局部细化。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
至少细化以下区域:
推荐:
检查:
Workbench 中:
Setup;2D;Double Precision;当前原生 GPU VOF 求解器对多相能量模型仍存在功能限制,因此 VOF、能量方程和凝固联合计算建议使用 CPU Solver。(ANSYS Help)
进入 Fluent 后首先执行:
Mesh → Check
确认:
如果导入单位错误,通过:
Mesh → Scale
进行修正。
进入:
Setup → General
设置:
Pressure-BasedTransientAxisymmetricAbsolute如果你的 方向向下,则重力符号相反。
建议先使用:
后续在 Solution Methods 中开启 Warped-Face Gradient Correction。
路径:
Setup → Models → Energy
选择:
On
没有开启 Energy,就无法计算熔盐冷却和凝固。
路径:
Setup → Models → Viscous
初始建议选择:
Laminar
对于毫米级、低至中等速度的熔盐液滴,首先采用层流模型通常更稳定。若计算得到的 很高,并且液滴出现明显湍动或破碎,再考虑 SST 等模型。
路径:
Setup → Models → Multiphase → Edit
设置:
Volume of FluidImplicitSharpSurface TensionWall AdhesionImplicit VOF 配合 Compressive 离散可使用较稳定的物理时间步;Fluent 官方文档也支持 VOF 表面张力、壁面黏附及固化/熔化模型联合使用。(ANSYS Help)
第一相:
air第二相:
molten-salt液滴必须是第二相,后续 Patch 的就是第二相体积分数。
路径:
Setup → Models → Solidification & Melting
开启:
Solidification/Melting
推荐初始参数:
文献通过对比实验铺展曲线和最终形状,将糊状区常数选为 。这个值适合作为初始值,但熔盐需要进行 等灵敏度分析,不能直接认为它对所有盐都准确。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
糊状区常数过大时:
糊状区常数过小时:
路径:
Setup → Materials
空气可采用:
对于空气:
Fluent 官方明确要求,在 VOF 凝固问题中不发生凝固的相应将这些相变参数设为零。(ANSYS Help)
新建材料 molten-salt,填写实际物性。
最简模型可以先采用常数:
正式计算建议用:
Piecewise-Linear
输入温度相关物性,尤其是:
如果固态和液态导热系数不同,可以使用分段函数,例如在固相线以下使用 ,液相线以上使用 ,中间线性过渡。
若建立了固体基板,在 Materials 中创建:
steelaluminumceramic至少输入:
随后在:
Cell Zone Conditions
把 substrate-solid 指定为对应固体材料。
路径一般为:
Setup → Phase Interaction
在 air 与 molten-salt 之间输入表面张力系数:
基础模型先使用常数,确认模型能稳定运行后,再使用温度相关 UDF。
文献使用温度相关的表面张力:
并采用连续表面力 CSF 模型处理气液界面。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
在 Wall Adhesion 中开启接触角模型。
初始没有实验值时,可以做三组参数:
文献使用静态接触角,并发现接触角越小,液滴通常铺展越充分、接触面积越大、凝固越快。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
实际计算前,建议先做一个无重力静滴算例,检查输入接触角后液滴的平衡形状,以确认相序和接触角测量方向没有设置反。
axis
类型:
axis
top-outlet 和 side-outlet
类型:
pressure-outlet
设置:
边界应离液滴足够远,防止液滴或压力波受边界影响。
cold-wall
类型:
wall
Momentum:
Thermal:
Multiphase 或 Wall Adhesion:
流体—固体界面:
Coupled基板底面:
基板侧面:
如果已知面积热阻 ,优先在耦合壁面的 Thermal 设置中输入 Contact Resistance/Thermal Resistance。
若当前版本或界面中没有直接输入项,可建立一个等效薄层:
其中 是等效层厚度, 是给定的等效导热系数。
文献锡液滴验证算例采用的热接触热阻约为 ,但这个数值取决于材料、粗糙度、氧化层和润湿状态,不能直接用于熔盐。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
路径:
Solution → Methods
建议设置为:
| 项目 | 设置 |
|---|---|
| Pressure-Velocity Coupling | SIMPLEC |
| Gradient | Least Squares Cell Based |
| Pressure | PRESTO! |
| Momentum | Second Order Upwind |
| Energy | Second Order Upwind |
| Volume Fraction | Compressive |
| Transient Formulation | Bounded Second Order Implicit |
| Warped-Face Gradient Correction | On |
这与文献的主要数值离散设置一致。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
如果初始接触阶段发散,可暂时设置:
稳定运行 20~100 个时间步后,再切回二阶。
建议先保持默认松弛因子。
如果不稳定,可以尝试:
残差标准参考文献:
每个物理时间步最多迭代 30 次。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
VOF 瞬态计算不能只看残差,还应同步检查:
有两种方法。
这是最推荐的基础方法,不需要 UDF。
路径:
Solution → Initialization
选择:
Hybrid Initialization
设置初始化温度为环境温度 ,然后点击:
Initialize
路径通常为:
Domain → Adapt → Region
或:
Results/Domain → Cell Registers → New → Region
选择:
Circle
输入:
例如:
二维计算域中只保留 的半圆,绕轴旋转后就是完整球形液滴。
Fluent 支持通过圆形 Cell Register 选定区域,再对体积分数、温度和速度进行 Patch。(ANSYS Help)
路径:
Solution → Initialization → Patch
设置:
Patch Reconstructed Interface点击:
Patch
Fluent 的 Reconstructed Interface 选项可在几何区域边界单元中设置更合理的初始体积分数,而不是简单地把所有相交单元全部设为 1。(ANSYS Help)
点击:
Patch
轴向为 方向时:
径向速度:
显示:
Results → Graphics → Contours
依次查看:
正确状态应为:
文献研究的是椭球液滴。对于轴对称椭球,定义:
其中:
保持与直径 的球体体积相同:
下面的 UDF 可同时初始化椭球体积分数、温度和速度。假设:
c#include "udf.h" #include "math.h" /* ---------- 用户参数,全部使用 SI 单位 ---------- */ #define SALT_PHASE_INDEX 1 /* 主相空气=0,第二相熔盐=1 */ #define DE 0.002 /* 等效直径,m */ #define AR 1.0 /* a/b;1.0 为球形 */ #define GAP 0.00005 /* 液滴底部到平板的间隙,m */ #define V_IMP 0.5 /* 撞击速度绝对值,m/s */ #define T_DROP 800.0 /* 液滴初始温度,K */ DEFINE_INIT(init_molten_salt_drop, domain) { Thread *t; cell_t c; real xc[ND_ND]; real b = 0.5 * DE / pow(AR, 1.0 / 3.0); real a = AR * b; real x0 = GAP + a; thread_loop_c(t, domain) { if (FLUID_THREAD_P(t)) { Thread *salt_thread = THREAD_SUB_THREAD(t, SALT_PHASE_INDEX); begin_c_loop(c, t) { real ellipse_value; C_CENTROID(xc, c, t); ellipse_value = ((xc[0] - x0) * (xc[0] - x0)) / (a * a) + (xc[1] * xc[1]) / (b * b); if (ellipse_value <= 1.0) { C_VOF(c, salt_thread) = 1.0; C_T(c, t) = T_DROP; C_U(c, t) = -V_IMP; C_V(c, t) = 0.0; } else { C_VOF(c, salt_thread) = 0.0; } } end_c_loop(c, t) } } }
将代码保存为 init_drop.c;
路径中尽量不要使用中文和空格;
进入:
User-Defined → Functions → Compiled
Add 文件;
点击 Build;
点击 Load;
进入:
User-Defined → Function Hooks
在 Initialization 中选择:
init_molten_salt_drop
再执行 Hybrid Initialization。
Fluent 官方 UDF 文档提供 DEFINE_INIT、DEFINE_PROPERTY 等宏用于初始化和自定义物性。(ANSYS Help)
基础模型稳定后,再使用此 UDF。
c#include "udf.h" #define SIGMA_REF 0.150 /* 参考温度下的表面张力,N/m */ #define T_REF 800.0 /* 参考温度,K */ #define DSIGMA_DT -1.0e-4 /* d(sigma)/dT,N/(m K) */ #define SIGMA_MIN 1.0e-6 DEFINE_PROPERTY(molten_salt_surface_tension, c, t) { real temperature = C_T(c, t); real sigma; sigma = SIGMA_REF + DSIGMA_DT * (temperature - T_REF); if (sigma < SIGMA_MIN) sigma = SIGMA_MIN; return sigma; }
替换:
SIGMA_REFT_REFDSIGMA_DT为实际熔盐数据。
编译后,在:
Phase Interaction → Surface Tension Coefficient
选择:
molten_salt_surface_tension
不要在缺少可靠数据的情况下随意设置 ,因为它会改变界面切向应力和液滴内部流动。
对于 mm、撞击区网格 10~20 μm 的模型,可以从:
开始。
主要检查界面 Courant 数:
建议早期撞击阶段控制在约 0.25~0.5 以下。Fluent 对显式界面处理会根据网格、速度和 Courant 数计算 VOF 子时间步;即使使用隐式 VOF,也不宜把物理时间步设置得过大。(ANSYS Help)
推荐分阶段:
| 物理时间 | 时间步建议 |
|---|---|
| 撞击前至 5 ms | |
| 5~20 ms | |
| 20 ms 以后 |
只能在液滴界面运动明显减慢后增大时间步。
可选的时间步 UDF:
c#include "udf.h" DEFINE_DELTAT(adaptive_drop_timestep, domain) { real time = CURRENT_TIME; if (time < 0.005) return 2.5e-6; else if (time < 0.020) return 5.0e-6; else return 1.0e-5; }
挂接到:
User-Defined → Function Hooks → Deltat
或在 Run Calculation 中选择 User-Defined Time Step,具体名称随版本略有差异。
除残差外,至少建立以下监测量。
定义熔盐相总体积:
路径:
Solution → Report Definitions → New → Volume Integral
选择:
记录整个计算过程中的变化。
建议:
高精度模型最好小于 0.5%。
文献定义固相率为凝固熔盐体积占总熔盐体积的比例。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
在 Fluent 中可写为:
其中:
建立 Custom Field Function:
textsalt-liquid = VolumeFraction(molten-salt) * Liquid-Fraction
然后分别计算:
Volume Integral of salt-liquidVolume Integral of VolumeFraction(molten-salt)最后计算:
textsolid-fraction = 1 - salt-liquid-volume / salt-total-volume
当 时,可以认为液滴基本完全凝固。
平面上的铺展因子:
其中 是最大润湿半径。
实用提取方法:
Surface → Iso-Surface若发生卫星液滴或飞溅,最大径向坐标可能来自脱离的小液滴,此时应改为在平板上方一个网格高度处建立水平线,只提取与主液滴相连的润湿范围。
建议同时输出:
进入:
Solution → Calculation Activities → Autosave
建议:
例如总时间 50 ms,动画需要约 200 帧,则每:
保存一帧即可。
若时间步为 2.5 μs,大约每 100 个时间步保存一次。
进入:
Solution → Run Calculation
初始建议:
先短跑检查:
短跑没有问题后,再运行完整时间。
路径:
Results → Graphics → Contours
选择:
体积分数 0.5 的边界通常视为气液界面。
选择:
动画中必须固定 Min/Max,否则每一帧颜色范围变化,会让温度变化产生误导。
选择:
解释:
建议同时叠加熔盐体积分数 0.5 的界面线,避免把空气区域误认为熔盐液相。
选择:
Results → Graphics → Vectors
设置:
Fluent 可以在计算过程中记录动画,也可以利用已保存的瞬态 Data 文件事后制作。官方文档支持对 Contour、Vector、Scene、XY Plot 和 Report Plot 进行记录,并可输出 MP4。(ANSYS Help)
进入:
Results → Graphics → Contours
创建并命名:
temperature-contour
设置:
创建:
liquid-fraction-contour
设置:
创建:
droplet-interface
设置:
路径:
Solution → Activities → Create → Solution Animations
设置:
salt_drop_temperature分别为:
创建不同动画。
官方建议计算前选定要记录的图形对象、记录频率和存储类型,可使用 PNG/JPEG/TIFF 等逐帧图像。(ANSYS Help)
进入:
Solution → Calculation Activities → Solution Animations
或在动画对象上右键:
Playback
检查:
在 Playback 窗口:
molten_salt_drop.mp4;Fluent 官方支持 MP4、AVI、FLV、MOV 和 MPEG 等格式,其中 MP4 最通用。(ANSYS Help)
适用于计算前忘记建立动画,但保存了多个瞬态 Data 文件的情况。
Transient PostprocessingTimestep Selector 中选择所有 Data 文件;Animation...;Transient Postprocessing 可利用已保存的时间步文件事后生成 Contour、Vector、Scene 和 Plot 动画。(ANSYS Help)
文献第 8 页的结果图将:
(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
在 Fluent 中最稳妥的实现方法是分别导出:
然后在视频编辑软件中左右拼接。
也可以在 Fluent Scene 中叠加:
但同一计算域内左右半边显示不同变量操作较复杂,直接输出两个同步动画再拼接更可靠。
正式模拟熔盐前,建议先复现文献中的平板液态锡验证算例:
文献给出了液态锡和固态锡的密度、比热、导热系数、黏度、潜热和熔点,并将数值铺展曲线与实验数据进行了比较。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
完成验证后再依次替换:
这样可以区分“软件设置错误”和“熔盐参数导致的物理变化”。
至少比较:
比较指标:
相邻两套网格结果差异小于约 2%~5% 后,才能认为基本独立。
至少比较:
如果液滴界面或铺展曲线差异明显,应继续减小时间步。
比较:
观察:
熔盐接触角和热接触热阻通常是不确定性最大的两个参数。建议至少分别进行三组灵敏度计算。
处理顺序:
通常由以下原因导致:
处理:
这通常是寄生流或表面张力数值误差。
处理:
Fluent 官方文档指出,在表面张力作用下可能出现寄生流,并提供了 Coupled Level Set + VOF 和修正表面张力加权方式作为可选处理。(ANSYS Help)
检查:
检查:
处理:
提供具体的熔盐体系、液滴直径、液滴初温、平板温度、撞击速度、接触角和基板材料后,可进一步把上述模板替换成一套完整的物性表、计算域尺寸、时间步以及可直接编译的 UDF 参数。
我现在只想复现这个文献的结果,给出具体步骤
pythonimport math rho=6970 D=0.002 sigma=0.5263-6.59e-5*(513-505) for We in [0.265,2.386,6.626,12.99,26.51]: v=math.sqrt(We*sigma/(rho*D)) print(We,v)
可以。为了避免一开始就同时复现几十组参数,建议按论文的实际验证顺序执行:
以下参数均以文献为依据。论文使用 ANSYS Fluent 2023R2、二维轴对称、VOF 与 Solidification/Melting 耦合,并采用焓—多孔介质法处理凝固。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
需要先说明:论文没有公开三个 UDF 的源代码,也没有给出初始下落间距 、局部细化区的精确尺寸、撞击前后自适应时间步的切换规则,以及热接触热阻在 Fluent 面板中的具体实现。因此可以复现其主要曲线、形貌和凝固时间,但仅靠论文不能保证逐像素完全一致。
这是最容易检查模型是否正确的算例。
| 参数 | 数值 |
|---|---|
| 液滴材料 | 锡 |
| 等效直径 | 2.7 mm |
| 液滴形状 | 球形,AR=1 |
| 撞击速度 | 1.0 m/s |
| 静态接触角 | |
| 液滴初温 | 513 K |
| 平板温度 | 298 K |
| 热接触热阻 | |
| 糊状区常数 | |
| 相变温度区间 | 504~506 K |
| 时间步 | s |
| 平板类型 | 无厚度恒温壁面 |
论文用该算例与 Aziz 等人的实验进行了对比,并通过改变糊状区常数,最终选择 。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
Fluid Flow (Fluent)。Geometry。mm。对于图5验证算例,计算域大小按论文的 :
建立:
Fluent 二维轴对称默认绕 轴旋转,因此建议:
矩形四条边分别命名:
| 边 | 名称 | 类型 |
|---|---|---|
| axis | 轴线 | |
| cold-wall | 低温平板 | |
| mm | top-outlet | 压力出口 |
| mm | side-outlet | 压力出口 |
生成一个流体面,命名为:
fluid-domain
论文最终采用:
论文指出继续加密后,铺展因子、液滴形貌和凝固前沿变化已经很小。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
图5中的液滴直径是 2.7 mm。严格按 10 μm 划分,相当于直径方向约 270 个单元,计算量很大。
建议分两次:
在平板上方建立一个局部细化矩形:
该区域覆盖:
网格设置:
Quadrilateral DominantQuad/Tri检查:
在 Workbench 中双击 Setup:
进入 Fluent 后:
General → Check
确认无负体积和网格错误。
设置:
论文未提到湍流模型,因此选择:
Models → Viscous → Laminar
路径:
Models → Energy
设置:
On
路径:
Models → Multiphase
选择:
推荐:
论文明确采用空气为主相、液态锡为第二相,并通过 VOF 捕捉气液界面。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
路径:
Models → Solidification & Melting
设置:
相变采用:
论文以熔点 505 K 为中心,设置 2 K 的相变区间。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
在:
Materials → air
设置:
| 物性 | 数值 |
|---|---|
| Density | 1.18 kg/m³ |
| Specific Heat | 1006 J/(kg·K) |
| Thermal Conductivity | 0.0263 W/(m·K) |
| Viscosity | Pa·s |
空气不发生相变:
新建材料:
liquid-tin
设置:
| 物性 | 数值 |
|---|---|
| Density | 6970 kg/m³ |
| Specific Heat | 244 J/(kg·K) |
| Viscosity | Pa·s |
| Latent Heat | 59200 J/kg |
| Solidus Temperature | 504 K |
| Liquidus Temperature | 506 K |
导热系数需要区分固态和液态:
在 Thermal Conductivity 中选择:
Piecewise-Linear
输入例如:
| 温度 K | 导热系数 W/(m·K) |
|---|---|
| 298 | 66.6 |
| 504 | 66.6 |
| 506 | 33.6 |
| 513 | 33.6 |
| 600 | 33.6 |
论文中的锡和空气物性如上。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
论文采用:
单位为 N/m。
在液滴初温 513 K 时:
调试阶段可先输入常数:
当常数表面张力模型能够稳定运行后,再使用温度相关 UDF。
c#include "udf.h" #define SIGMA0 0.5263 #define DSIGMA 6.59e-5 #define TREF 505.0 DEFINE_PROPERTY(tin_surface_tension, c, t) { real temperature; real sigma; temperature = C_T(c, t); sigma = SIGMA0 - DSIGMA * (temperature - TREF); if (sigma < 0.0) sigma = 0.0; return sigma; }
保存为:
tin_surface_tension.c
编译:
User-Defined → Functions → Compiled然后在空气—锡的 Surface Tension Coefficient 中选择:
tin_surface_tension
论文还在液滴飞行阶段将表面张力设为零,以保持椭球初始形状;图5是球形液滴,初始间隙很小时可以暂时不做这项处理。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
对 top-outlet 和 side-outlet:
注意:论文不是把空气初温设为 298 K,而是将整个计算域初始温度设为 513 K,低温条件只施加在壁面上。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
cold-wall
设置:
论文同时规定:
Fluent 中可以用等效对流边界实现:
在 Thermal 中选择:
这个边界满足:
这与“298 K 恒温基板通过接触热阻吸热”等效。论文没有说明它在 Fluent 面板中的具体输入方式,因此这是基于其数学边界条件的等效实现。
论文没有给出 。建议先令液滴底部距平板:
也就是约两个 10 μm 网格。
对于图5:
进入:
Adapt → Region
选择 Circle:
创建 Register:
droplet-region
Solution Initialization
设置:
点击:
Initialize
进入:
Patch
依次 Patch:
显示液态锡体积分数,确认:
进入:
Solution Methods
设置如下:
| 项目 | 设置 |
|---|---|
| Pressure-Velocity Coupling | SIMPLEC |
| Gradient | Least Squares Cell Based |
| Pressure | PRESTO! |
| Momentum | Second Order Upwind |
| Energy | Second Order Upwind |
| Volume Fraction | Compressive |
| Transient Formulation | Bounded Second Order Implicit |
| Warped-Face Gradient Correction | On |
残差:
| 方程 | 收敛标准 |
|---|---|
| Continuity | |
| X Velocity | |
| Y Velocity | |
| Energy | |
| Volume Fraction |
每个时间步:
这些设置与论文完全一致。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
进入:
Run Calculation
输入:
8000 步对应:
论文图5主要比较以下时刻:
由于你的液滴初始有 0.02 mm 间隙,撞击前约需要:
后处理时应使用:
将液滴首次接触壁面的时刻定义为论文的 。
至少显示:
论文图5中的主要特征为:
如果完全没有锥形和回缩,优先检查:
图5验证通过后,再建立曲面工况。
论文的参考算例为:
| 参数 | 数值 |
|---|---|
| 2 mm | |
| 5 | |
| 球面直径 | 10 mm |
| 球面半径 | 5 mm |
| 球冠高度 | 1 mm |
| 6.626 | |
| 0.5 m/s | |
| 接触角 | |
| 液滴初温 | 513 K |
| 曲面温度 | 298 K |
| 热接触热阻 | |
| 网格 | 撞击区 10 μm |
| 时间步 | 2.5 μs |
论文以此为参考工况,并分别改变液滴形状、球面曲率、撞击速度和接触角。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)
Fluent 坐标仍采用:
基准曲面:
令球面最高点位于:
圆心位于:
圆方程:
球冠与 平面的交点满足:
因此曲面弧线从:
延伸至:
对于 mm:
流体域边界依次为:
球冠壁命名:
curved-wall
底部远端水平壁可以命名:
bottom-wall
并赋予相同温度。液滴不会铺展到距离轴线 3 mm 以外,因此远端水平壁对结果影响很小。
论文定义:
其中:
保持液滴体积与直径 的球体相同:
对于 mm:
| AR | , mm | , mm |
|---|---|---|
| 0.5 | 0.6300 | 1.2599 |
| 0.7 | 0.7884 | 1.1262 |
| 1.0 | 1.0000 | 1.0000 |
| 1.5 | 1.3104 | 0.8736 |
| 2.0 | 1.5874 | 0.7937 |
使用以下 UDF 初始化所有椭球工况。
c#include "udf.h" #include "math.h" /* 第二相为锡,因此索引为 1 */ #define TIN_PHASE_INDEX 1 /* 基准工况参数 */ #define DE 0.002 #define AR 1.0 #define HS 0.001 #define GAP 0.000020 #define V0 0.5 #define T_DROP 513.0 DEFINE_INIT(initialize_tin_droplet, domain) { Thread *mix_thread; Thread *tin_thread; cell_t c; real xyz[ND_ND]; real b0 = DE / (2.0 * pow(AR, 1.0 / 3.0)); real a0 = AR * b0; /* 曲面最高点位于 x=HS */ real x_center = HS + GAP + a0; thread_loop_c(mix_thread, domain) { if (FLUID_THREAD_P(mix_thread)) { tin_thread = THREAD_SUB_THREAD(mix_thread, TIN_PHASE_INDEX); begin_c_loop(c, mix_thread) { real ellipse; C_CENTROID(xyz, c, mix_thread); ellipse = pow((xyz[0] - x_center) / a0, 2.0) + pow(xyz[1] / b0, 2.0); if (ellipse <= 1.0) { C_VOF(c, tin_thread) = 1.0; /* 轴向向下撞击 */ C_U(c, mix_thread) = -V0; C_V(c, mix_thread) = 0.0; C_T(c, mix_thread) = T_DROP; } else { C_VOF(c, tin_thread) = 0.0; } } end_c_loop(c, mix_thread) } } }
修改:
c#define AR 1.0
即可得到不同液滴形状。
编译并挂接:
User-Defined → Functions → Compiledinitialize_tin_droplet.cUser-Defined → Function Hooksinitialize_tin_droplet依次计算:
| 算例 | AR | 其他参数 |
|---|---|---|
| 1 | 0.5 | |
| 2 | 0.7 | 同上 |
| 3 | 1.0 | 同上 |
| 4 | 1.5 | 同上 |
| 5 | 2.0 | 同上 |
每个算例至少计算到 32 ms:
建议设置:
如果模型设置正确,应该接近论文以下数据:
| AR | , ms | 完全凝固时间,ms | |
|---|---|---|---|
| 0.5 | 1.369 | 1.525 | 27.00 |
| 0.7 | 1.317 | 2.150 | 28.25 |
| 1.0 | 1.312 | 3.400 | 28.50 |
| 1.5 | 1.394 | 4.150 | 26.00 |
| 2.0 | 1.452 | 4.400 | 24.25 |
对于 AR=1 的基准算例,论文描述为:
你的结果满足下面范围时,可认为基本复现:
论文对曲面定义:
其中 是液滴接触线相对于轴线的径向坐标。
在当前 Fluent 坐标中:
操作:
基准工况:
所以:
注意三角函数使用弧度。
论文定义:
Fluent 中液相率为 ,所以:
建立 Custom Field Function:
texttin-solid = Volume-Fraction-tin * (1 - Liquid-Fraction)
再建立两个 Volume Integral:
最后:
实际计算中可以用:
作为“完全凝固”,因为数值上恰好达到 1 有时需要较长时间。
完成基准工况后,按以下矩阵复现整篇论文。
固定:
改变:
固定:
液滴形状:
曲率:
对应:
| , mm | 半径,mm | |
|---|---|---|
| 2 | 4 | 2 |
| 5 | 10 | 5 |
| 10 | 20 | 10 |
| 20 | 40 | 20 |
| 平板 | 平板 |
球冠高度始终保持:
每个曲面的圆心:
固定:
液滴形状:
速度和 Weber 数:
| , m/s | We |
|---|---|
| 0.1 | 0.265 |
| 0.3 | 2.386 |
| 0.5 | 6.626 |
| 0.7 | 12.99 |
| 1.0 | 26.51 |
固定:
液滴形状:
接触角:
不要一次建立全部 50 多个算例。按下面顺序最稳妥:
论文报告单个高分辨率算例约消耗 1500 core-hours,因此建议先用 20 μm 网格调试,确认设置后再用 10 μm 网格做最终结果。(关于椭球形金属液滴撞击曲面固体表面时的扩散与凝固过程的数值研究.pdf)