STAR-CCM+变形功能 | 伴随求解优化双元机翼外形
更新于2022年12月19日 浏览:1675
书接上回,本文主要演示利用STAR-CCM+的伴随求解功能对双元机翼模型进行形状优化。
注:本案例来自STAR-CCM+官方教程。
设置网格变形边界条件
STAR-CCM+有网格变形功能,还记得上一节我们创建了一个成本函数“下压力”吗?有了它,我们就可以根据网格敏感性自动优化机翼几何形状了。
在进行网格变形前,需要先设置网格变形的边界条件:
-
右击 Regions > Fluid Domain > Boundaries > Far Field节点,然后选择 Split by Angle; -
在弹出的 Split Boundaries by Angle对话框中保持默认设置,点击 OK; -
选择 Regions > Fluid Domain > Boundaries > Wing Lower Element > Physics Conditions > Morpher Specification节点,设置 Specification为 Floating,同时确保其他边界为固定边界。
创建初始控制点
我们需要创建控制点来控制网格节点的移动:
-
右击 Scenes节点,然后选择 New Scene > Geometry; -
Geometry Scene 1 > Surface 1 > Parts,并选择 Edit...; -
在弹出的 Edit对话框的空白区域右击,然后在弹出的菜单中选择 Deselect All,以清除当前的容器; -
展开 Regions > Fluid Domain > Boundaries节点,然后选择 Wing End Plate, Wing Lower Element和 Wing Upper Element,然后点击 OK; -
右击 Geometry Scene 1 > Outline 1节点,然后选择 Delete,删除轮廓显示; -
在 Vis工具条中点击 Save-Restore-Select Views按钮,并选择 Projection Mode > Parallel;
以上是为了调整视图,下面开始创建控制点:
-
右击 Point Sets节点,然后选择 New Point Set > Line...; -
在弹出的 Create Point Set along Line对话框中设置如下表所示属性:
属性 | 数值 |
---|---|
Point 1 | [0.1 m, 0.1 m, 0.01 m] |
Point 2 | [0.1 m, 0.6 m, 0.01 m] |
Number | 6 |
Display | Existing Displayer > Surface 1 |
-
点击 Create; -
创建另外一组控制点,设置属性如下表所示:
属性 | 数值 |
---|---|
Point 1 | [0.1 m, 0.1 m, 0.15 m] |
Point 2 | [0.1 m, 0.6 m, 0.15 m] |
Number | 6 |
Display | Existing Displayer > Surface 1 |
-
点击 Create,然后点 Close关闭窗口,然后你会在 Geometry Scene 1图形界面中看到机翼上下两侧各多了一组控制点,具体如下图所示:
计算网格敏感性
-
选择 Solvers > Mesh Deformation节点,确保激活了 Enable Automatic Thinning功能; -
右击 Solvers > Adjoint > Adjoint Cost Functions > Downforce节点,然后选择 Compute Mesh Sensitivity; -
等网格敏感性计算完成后,右击 Geometry Scene 1节点,选择 New Displayer > Vector; -
编辑 Geometry Scene 1节点,设置如下表所示的属性:
节点 | 属性 | 设置 |
---|---|---|
Vector 1 | ||
-Parts | Parts | (Point Sets) [Lower, Upper] |
-Vector Field | Function | Adjoint of Downforce w.r.t. Position |
-Glyph | Vector Scale | Absolute |
Vector Style | 2D Filled |
设置好后,我们可以发现图形界面中每个控制点都有一个向下的矢量箭头,具体如下图所示,这时候你就可以利用每个控制点计算得到的网格敏感度来使网格产生变形,进而实现机翼形状优化的目的。
执行第一次形状优化
-
右击 Tools > Field Functions节点,然后选择 New > Vector; -
将这个自定义的场函数重命名为 Displacement
,并设置属性如下表所示:
属性 | 设置 |
---|---|
Function Name | Displacement |
Definition |
|
-
设置 Point Sets > Lower > Physics Values的网格变形方法为常函数,并选择上一步创建的常函数“Displacement”,以同样的方式设置 Point Sets > Upper > Physics Values节点; -
右击 Solvers > Mesh Deformation,然后选择 Deform Mesh,进行网格变形;
让我们对比下变形前后的机翼形状:
-
右击场景 Scenes节点,然后选择 New Scene > Geometry; -
重命名刚创建的场景为 Geometry Comparison
; -
编辑这个场景,设置属性如下表所示:
Property | Outline 1 (Original Shape) | Surface 1 (Optimized Shape) |
---|---|---|
Parts | Expand the Parts > Fluid Domain > Surfaces node and select Wing End Plate, Wing Lower Element, and Wing Upper Element. | Expand the Regions > Fluid Domain > Boundaries node and select Wing End Plate, Wing Lower Element, and Wing Upper Element. |
Surface | ✓ | ✓ |
Outline | ✓ | ✓ |
Color Mode | Constant | Constant |
Color | Green | Red |
Representation | Geometry | Volume Mesh |
可以看到优化前后,机翼的形状对比如下图所示:
再次运行流场求解器
我们看到机翼外形已经发生改变,但是我们不确定的是优化后的形状是否真的可以增加“下压力”,所以再次运行流场求解器来看看下压力是否增大?到底增大多少?
-
右击 Plots > Downforce Monitor Plot节点,然后在弹出的菜单中选择 Open; -
点击工具栏上“奔跑的小人”,运行求解器,这时候会弹出 Run Simulation对话框,我们点击 Yes,继续执行计算,流场计算会在迭代300步后停止;
-
流场计算结束后,右击 Solvers > Adjoint节点,然后选择 Run,再次运行伴随求解器,伴随求解器会在10个迭代步后停止。
查看结果
首先看到下压力监测图如下所示,机翼下压力从原来的277 N左右增大到了约286 N,这证明伴随求解器优化是有效的。
多次循环优化
上面我们经历了一次完整的伴随优化过程,主要包括以下几个步骤:
-
计算网格敏感性; -
执行网格变形; -
运行原始求解器; -
运行伴随求解器
通过多次循环以上4个步骤就可以对机翼模型进行多轮次优化,不断增大机翼的下压力。
下图展示了机翼模型优化两次之后的下压力监测结果:
好了,今天的分享到这里就结束了,相信这种伴随求解的方法可以提高你工程作业的效率,希望对你有用,我们下期再来一起探索CFD的世界,睡了,爱你们。
文章来源:CFD日记
点赞 评论 收藏