链接:迭代与收敛原理和设置
Q:明明把迭代步数设成了200,但仿真程序还是跑了五六十步就停下来。别人的残差曲线都是先下降,然后趋于平缓,延绵一条水平的线。我的残差曲线往下扎,还没触底,就停了,把迭代步数调大也没有用。
A:原来是收敛精度设置的问题。可以设置成更小,就会跑更久。还有一种狠一点的方法,设置成-1。残差是不可能为负的,此时就会一直算一直算。就可以看到一条趋于稳定的横线了。
Q:瞬态分析步长怎么设置?
A:一个周期,步长至少要分成20份。
每一个时间步里都要收敛到需要的水平。
先设一步里迭代100次,一步一步进行。后来发现每步大概40次的时候会停下来,那就设40次,然后200步。
Q:怎样针对某些物理量进行监测?
A:Solution-monitors-report plots,弹出窗口点new,弹出新窗口右边点new,质量的话在 volume-mass里,名称改为mass,区域选流体区。
算一下,可以观测质量波动,在非常小的范围内,因此仿真可用。
链接:初始化技巧
1、 打补丁patch。可以任意设置想设置的物理量
2、UDF里有custom可编辑公式
Define-关掉
Custom-manage里可以查看公式
Contours-temperature-display就可以看到刚刚设置好的沿x轴阶梯式的温度了。
Q:并不知道初始化设成什么值好。
A:去caculation里把time step size改成1e-5这么小,max iteration/time step改成100。Number of time steps设成1就行。然后去跑,会得到非常绚丽的速度压力分布。
点击file-interpolate,弹出对话框write data输出数据,cell zones把流体域和固体域都选中,右边fields都选上,点击write.
随便初始化一下,刚刚的压力和速度值就清掉了。
再次file-interpolate,选择read andinterpolates,把两个区域的所有物理量都选上,read,选中刚才输出的文件。
如果有一个模型已经算过,想用它算另外一个工况,如上设置就会方便很多。
链接:MRF回转体稳态模型
MRF是多重参考系模型(Multi-Reference Frame),同一模型不同区域用不同参考系描述。比如风扇,叶片和基座采用不同的参考系。瞬态过程可以相应地简化成稳态过程。
但是这个视频也没教螺旋桨怎么建模,没教圆饼怎么切割下来,涉及到了小白我的知识盲区。而且评论区有人问:没有提到interface怎么设置,好吧我也不会设置。因此这个案例没有跟着做。
fluent流体力学计算和瞬态应力计算耦合
fluent算出不同时刻压力分布,导入瞬态应力模型中,进行瞬态应力计算。这属于单向耦合。因为桥墩受力之后,形变非常微小。几乎不会影响流体流动,没必要双向耦合。
Sw画出桥墩。Workbench里拖出geometry的块,右键,用designmodeler打开。
用DM的专门功能enclosure,专门画外流场。在前后左右延伸多少。
1、tools-enclosure
这些数值不能为0,所以填1。然后进行切割。
2、切割
一切桥墩以下的多余的水,二把空气和水的部分切开。
选中一个侧面,左边选项卡选sketching,画矩形,generate。
Extrude: geometry选sketch1,
operation选 slice material, depth 设置深一点100m, target bodies选流体域。
底部的我们不需要,右键suppress抑制掉。
需要把水和空气域连接,有两种办法,一是把接触的面连接,二是今天用的方法。
1、选中air和water两个域,右键-form new part。这样就连接了几个体。接触面自动设置成可透过的面,就不用再设置了。
2、回到workbench,左边analysis system-fluid flow(fluent)模块拖到右边,连接。
3、双击mesh。Home-tools-units,单位选米
4、单向耦合,不考虑固体,先把桥墩抑制掉。能扫掠的扫掠,不能的用四面体网格进行剖分。左侧树,mesh右键-show-sweepable bodies.下方的水域是绿色的,可以扫掠。
全局设置,左侧下方,有限元尺寸1m.
局部设置,mesh右键,insert-method。Geometry选上方的空气域,method选tetrahedrons。
重复创建method,选下方水域,method选sweep。要确定扫掠方向是从上往下还是从下往上。Src/trg selection选manual source,source选底面。
5、设置边界层。
下面部分向上扫掠,所以在底面设置边界层就行。mesh右键,insert-inflation。Geometry选底面, boundary选地面上桥墩的edge。如果选的时候只能选中体,就在上方一排方框那切换一下模式。
上面部分就只能针对体来设置。树里part-water右键hide,隐藏掉水域,好操作。mesh右键,insert-inflation。Geometry选空气域的体, boundary选桥墩的表面。
Mesh-generate mesh
6、命名边界
链接:fluent造波仿真
非常吃计算机计算量
关掉mesh,双击set up,进入fluent。
1、General里把模型设置成瞬态模型。Materials里双击air,选水。上方physics里选operating conditions,改一下默认设置。
2、model双击multiphase,选VOF
去第二个选项卡,检查一下两个相是不是水和空气。不设置面与面之间的表面张力,也不设置相变。
3、viscous黏度模型选默认的k-omega
4、setup-boundary conditions里,上方设为压力入口,压力出口。下方速度入口,速度出口。
5、Inlet2勾选open channel wave BC。总体流动设为0。
Multiphase选项卡,wave BC options选择short gravity waves。
自由液面高度13m,波长设20m。
6、Outlet2-Multiphase选项卡,open channel, free surface level自由液面高度13m,bottom level设5m。
7、然后进行流体域的设置。上方假设都是空气,就默认,不设置了。下方进行多相流设置。多相流选项卡。
8、初始化-混合初始化
从inlet2开始。
9、我们想在中间剖一刀,看看中间是什么情况。双击general,display-new surface-plane-选xy平面,偏移量0就可以。Create.
10、Results-graphics-contours-
选择相,体积分数,表面选择刚建的xy平面。
11、设置自动保存。Calculation
activities双击autosave,每5步保存一次,勾选each time。
双击Calculation activities-create-solution data export, 自动输出,选CFD-Post.把两个框全选。
进cfd-post可以看流线。
对于很简单的几何结构:把杯子里的所有面选中,tools-fill-apply
对于水套(外壳+内芯勾勒出流道):tools-enclosure(膨胀),设置数值,把几何体完全包进去。然后切割。
点击进口面-sketching,生成草图的同时生成了坐标,我们删掉草图只保留坐标就可以了。出口面如法炮制。
Create-slice,slice by plane,基于进口坐标平面进行切割。Slice target选新建的大空间。Generate。
就把新建的大空间切了一刀。出口面如法炮制。
然后把不需要的solid suppress掉,就剩下了流体域。要注意流体域是进口出口连通的,而且不能有泄漏。才能成功。
没打通进口出口时的流体域
这个方法很神奇,也很简单。我当初在还学了半天solidworks的减法布尔运算。
https://www.bilibili.com/video/BV1ja4y1e7a8
强迫对流换热
这个视频里有讲:
1、Workbech面板里各个模块怎么搭。
2、mesh怎么框选中所有面,上方mode-box select,画框,把所有都选中。
https://www.bilibili.com/video/BV1H54y1d7nN
fan边界的设置及通道仿真
1、画圆后,生成面体:fluent-concept-surfacesfrom sketches
2、要对fan边界的边缘进行网格细分。
左边树Mesh右键-insert-sizing,element size设成1mm.
左边树Mesh右键-insert-inflation边界层
3、boundary conditions里的internal选fan.
https://www.bilibili.com/video/BV1Bk4y197xc
Adapt Region水滴下落仿真
想做这个!
1、Gambit会画三维网格啦!
2、带进fluent设置尺寸scale的时候却发现问题:想做40mm,在gambit里设置了40,回到fluent改成mm,却会变成40000mm。似乎认定了是40m。解决办法:右下角scaling
factors,xyz改倍数,然后scale就行。
3、一会儿,用Adapt Region来设置水滴。不需要最初在网格剖分里画出水滴。
4、选瞬态模型。
5、setup-materials-fluid-双击air-fluent database,加入液态水,copy,close
去physics里operating conditions,重力沿z方向-9.8,打开密度。
6、setup-models-multiphase-VOF,勾选implicit body force,apply.
Phase选项卡看一下,第一相是空气,第二相是水。
6、模型使用k-epsilon的RNG模型
7、边界boundary cnditions,去右边选按zone type显示。
啊啊啊这步惨了,没区分各个平面的名称,现在wall下面只有一个group。去gambit第三项zones里设置一遍。
然后top改成压力入口,shell改成压力出口。表压都设成0.
8、水滴设置
Fluent 17.0之前的版本是显示出来的。之后的版本隐藏起来了。
命令行里,英文输入法,输入mesh,可以看到有很多功能。
输入mesh/adapt,可以看到恢复到19.2版本的命令语句
复制revert-to-R19.2-adaption-user-interface,回车,即可召唤出这个功能。
9、这时去上方domain-adapt下面的三角里就可以看到mark/adapt mesh的功能。点中,选region。水滴勾选sphere,给定水滴初始xyz坐标,半径就假设是1.5mm. adapt然后mark.
10、初始化选standard initialization常数初始化,初始态只有空气,第二相体积分数设为0.
11、点击Patch打补丁,右边可以看到刚才设置的sphere-r0,在这里把第二相的体积分数设成1,这个水滴区域就全是水了。然后patch
12、中间切一刀,看看情况。Display-new surface-plane.比如建xz平面,y等于20.
13、Result-graphics-contours,选体积分数
不知道为啥一开始没有。后来重做了一遍,就有了
一开始跑了2000时间步,去了趟超市。回来发现只设置了自动保存,没有设置动画,没法看。只能设置了又重新跑,只跑了50时间步,只有这么一丢丢位移。