本期文章将通过2个简单案例演示 HyperWorks CFD 参数优化的操作步骤,一起来看看吧。
流程自动化
实现 CFD 参数优化,首先要创建流程自动化。用户可采用SimLab的Python宏命令,录制建模流程。或在HyperWorks CFD模块的Template Manager创建Tcl/Tk命令流。这两种方法都可以在后台调用AcuSolve求解器,自动划分网格,提交计算任务和获取响应值。
Automation → Scripting → Record/Play录制或回放Python脚本。
SimLab 的 DOE 工具用于多工况(例如不同的流量,阀门开度等)的一键提交计算。
HyperWorks CFD的流程自动化。用户在Template Manager中定义一系列动作,例如划分网格,定义边界,材料定义等,而无需手动编辑Tck/Tk脚本。
案例一:管路水温优化
管路分别有一个大直径的冷水入口,和一个小直径的热水入口。管路出口的温度受2个入口流速和温度的影响。
演示 HyperStudy 优化CFD模型:
-
DOE研究4个输入参数,流速V_cold,V_hot,温度T_hot,T_cold的敏感性和相关性
-
拟合出口温度的响应面
-
寻优入口流速和温度的参数组合,满足目标出口温度。
参数化AcuSolve的*inp求解文件,将 inlet 的参数作为设计变量:
定义设计参数的范围,数据类型(整数、小数,字符):
驱动CFD模型在后台完成计算:
提取响应:outlet的平均温度
Setup Definition完成表明参数化模型创建成功,就可以进入下一步DOE,拟合响应面或优化的步骤。
DOE的Full Factorial会将每种参数组合计算一次,对于本例,总共有5^4=625个工况。选Fractional Factorial(Resolution III)计算代价最小,对于本例,只需要计算25个工况。但是这会混杂主效应与输入参数之间的相互作用,如果相互作用显著,预测可能不准确。如选Resolution V,代价只有Full Factorial的1/4,且主效应和相互作用没有混杂。
Pareto Plot显示出口温度的主要影响参数:T_hot最大,且是正影响(阴影线条是”///”)。V_cold影响最小,且是负影响(阴影线条是”\”) 。
Linear Effects显示有3个输入参数都是正效应,T_hot影响最大(正斜率最大)。
说明:增大T_hot,对提高出口水温效果最好,增大T_cold效果次之,增大V_hot再次之,增大V_cold在一定范围内影响不大。
Interactions显示T_cold和T_hot对出口温度的影响相对独立。(越接近平行线表明相关性越小)。
Interactions显示T_cold和V_cold对出口温度的影响是相关的(2条线越偏离平行,相关性越强)。对于这个简单模型,这是显而易见的:当V_cold高的时候,T_cold稍微变动就会显著影响出口温度。
响应面拟合:将上一步DOE的Fractional Factorial结果作为响应面的输入, DOE的Hammersley方法作为验证。默认的拟合选项FAST会从LSR/MLSM/RBF中自动找出一个最佳的算法。R-Square是确定性系数,>0.92表示拟合质量较好。
Trade-off可以进行预测分析,用鼠标滑块调整输出参数,进行what-if分析。
用Report工具将响应面输出成多种格式,包括*fmu,*htm等。如输出*xls格式,则可以在excel中进行what-if分析而无须打开HyperStudy。
GRSM全局响应面优化算法找出最接近目标值的参数组合:
案例二:散热片优化
HyperStudy 驱动NX参数对散热片模型进行参数研究, 分析最高温度和风道压差的变化。
-
2个输入参数:散热片的翅片数和厚度。2个输出参数:散热片最高温度和风道压力损失
-
优化目标:散热片温度最低,同时满足风道的压力损失约束条件
-
散热片原设计:24个翅片,厚度1mm。入口边界:300K, 7m/s。发热功率密度:5 W。
风冷散热片模型
在SimLab中启动宏录制功能,导入NX散热片模型。(首次运行,需要双击SimLab安装目录下的configure.exe文件配置CAD环境变量)
在SimLab的参数管理器中修改NX尺寸参数, 划分网格,设置边界条件、材料属性、求解器参数等,提交CFD计算,保存脚本*py文件
散热片表面温度
切面风速
HyperStudy 参数化SimLab的*py文件,定义散热片的厚度和个数为设计变量:
定义风道压差和散热片最高温度为响应参数:
Setup Definition完成表明参数化模型创建成功,下一步选择拉丁超立方DOE:
Multi-Execution设置同时执行多个计算任务。比如CPU有32线程,可以设置为4Jobs,每个Job用8线程:
Pareto Plots显示散热片温度影响因素:翅片厚度影响大于翅片个数,
翅片厚度和个数对温度都是负影响(阴影线条是”\”)。
Pareto Plots显示风道压力损失影响因素:翅片厚度影响大于个数,
翅片厚度和个数对温度都是正影响。(阴影线条是”///”)
Interactions显示:当翅片较厚的时候,翅片越多,风压损失越大(斜率大)。当翅片较薄的时候,翅片个数对风压影响不显著(斜率小)
Interactions显示:无论翅片薄厚, 翅片个数越多,温度越低(两条线几乎平行,且是负斜率)
定义优化目标:散热片温度最低,同时满足风道的压力损失约束条件。采用GRSM全局响应面法寻优50次,找到最优解
优化结论:散热片25个翅片,厚度3mm, 温度最低,但是风压损失超过约束值。因此最终方案是16个翅片,厚度2.8mm。