网友分享的一次cfd分析船舶流场的学习经历(zz)
分享一次cfd分析船舶流场的学习经历。新手菜鸟,水平有限,不当之处请各路大神批评指正,我也希望借此机会进一步提高自己。先是使用ICEM画网格部分
一、导入几何
我是用的Rhino建立的三维模型,因为icem直接导入Rhino模型总是出错,所以我先保存成iges格式后再导入。之后打开ICEM,修改工作目录后,file>import geometry>iges导入模型。注意文件名和路径都要是英文的。
虽然做模型模型时把所有点和线删除了,导入ICEM会自动补上一些特征线和特征点。
我习惯先把线全部删除,后面再根据需要生成想要的辅助线。
二、画流体区域
这次模型是约6米长,原点在首垂线和基线的交点上。所以建立纵向为-15m~15m;横向0~15m,吃水方向-15~9m的流体区域。把船舶也剖成两半,进行半船计算,提高效率。
Geometry>creat point 命令建立点,连线后,创立面
分割删除不要的模型
船体部分在建模时候是对称建立的两个面,所以无须分割直接把不要的部分删除
甲板部分建立是一体建立的,所以需要中间剖开
甲板的面比较碎,需耐心分割。分割后如图
清理后
右键part,creat new part,命名6个流体区域面为inlet(入口),outlet(出口),top(顶),bottom(底),sym(对称面),side(边对称面)
船体部分的part改名为hull,甲板部分的part改名为deck
几何部分差不多处理完了,记得保存。
三、建立block块
点映射外流场8个角点,blocking associations.
划分近船体block, split block,切出一个靠近船体的小方块,切割方式用screen select大体估算下位置。
对船体附近小方块划分O-block,选择的block和face如图所示,face表示通透面。
删除不要的block(船体内部无流体,把内部block删除)
继续切割船体block,大体就是认为曲率变化大的地方切一刀,精细的网格多切一些(记住层次关系,一会映射后要清楚总共有几层,层次何如对应的)
四、映射block
右键blocking,选择index control,只显示一会要映射的网格
把带vertices先映射定位到想要的位置上
这里就涉及到创造辅助线,调回Gemotry选项卡,这里使用“提取面的边线”命令
或者也可以在想要的地方创建线,先在想要的位置创造一个点,在利用偏移命令创造另一个点,连线。再用投影命令创造线如图所示。
接下来就是映射了,先映射船首线,勾选project vetices选项,映射后用move vetice调整重叠的vetices。
投影face到surface,这里建议不要一次投影太多的面,因为我脑容量较小,否则一会就不知道那条edge线对应那条了。操作为associate face to surface,后用snap project vertices调整点,再用move vetice调整重合的点,如图所示
一张move vetice调整后的图
一系列面投影和边投影和调整后
接下来过程中我已用extrct curve fromsurface把所有面的几何边线生成了,接下来就就是要映射轮廓边线。这个过程的tips不外就是多用F9来暂停切换视图,把surface隐藏了等,尽量不要映射错了,或者少选线段了。
整理完后如图
刚才都是局部操作的,为了以防疏漏,把所有的face重新映射一次。
接下来设置网格节点数,记得index control框中摁reset把所有隐藏block打开。
记得勾选 copy parameter,网格疏密就随大家喜好了,物体周围的密一些,mesh law我只会用默认,exponential1或2三种,上图示spacing表示间距。选中某edge时,箭头由1指向2。当我需要1号端密一点时,用exponential1,调整spacing1的大小,ratio用1.1,网格节点就会由1到2,由密到疏排列。依此类推可用exponential2
设置好了节点,我们按一下pre-mesh,先用肉眼看看船体表面网格有什么问题。
我们看到图示地方的网格扭曲度很大,这是由于我一开始切分block时没有规划好,曲率变化大的地方没有多切一下导致的。所以说,一开始计划周全,后面会省事不少,大家要引以为戒。现在怎么办呢。只好亡羊补牢,重切一下了,虽然根据我的经验,映射好的网格再去切它质量就不怎么好了。但这里懒得重做了。
重新切一刀后,周围的线映射好,最好face重新映射一遍。调整下vertex的位置,肉眼看上去貌似没什么问题了。这时我们来看一下预网格质量。记得在网格质量区右键RESET一下。(不要骗自己)
擦咧!居然有这么多负网格,看起来没毛病啊,整个人都不好了。。。接下来我就和大家一起调整网格,行百里路半90,我觉得从这里往后的网上书上都很少有人分享,可能大家觉得太简单不值一谌。但我是头疼了许久,才摸索了一些门路。希望像我一样的菜鸡新手可以有所收获,更希望看我太low的高手大神能提出宝贵意见。
仔细观察下负网格,有103个,思考它为何为负,发现它们可能有以下毛病:1.它们集中在球首处。2.都向船首方向倾斜3.吃水方向比较扁。所以我觉得应该使这里的edge更顺应曲率的变化,会不会好些呢。
哎,稍微调规整后发现还是有负网格,幸运的是我们发现负网格数量大大减少了,说明思路方向应该是这样的。这里调整还用到了move vertax里面的move vertax 和set location命令。然后继续调整,尽量把外O的edge和vertax拉近一些,这样调整起来效果明显一些,这里要感谢论坛里的一个热心大神tangshiyong2004,对我上个帖子的回答与提示。
调到这程度球首处已经没有负网格了,继续调整
过程比较繁琐,调整网格的方法也多种多样,但我目前学习到的方法就两种,一种上面已经提了,曲面曲率和edge线不匹配。这是可以通过拖动vertax使edge的变化角度更贴近曲面曲率变化。具体可看前文球首网格的调整,或论坛里我发的上一个帖子《icem画船体绕流结构网格求助》。
下面讲另一种调整方法
如上图所示,负网格不是出现船体曲率大的曲面上,而是出现在edge折角很大的地方。打开预网格看的比较清楚
我想可能是因为该处附近网格过渡挤压导致的,这是怎么移动vertax调角度都无济于事(别问我怎么知道的,因为我傻傻地移动了一个下午加晚上都没调好)。这时有个解决方法——利用O网格
如上图,建立O-block,
同理,尾部网格也可以依法炮制。这里说明一下,这个船模是我根据一艘国际标模的型值点用rhino建立的,船尾部分没仔细调整,所以有点问题而诡异,不过没有关系,正常的方尾是要比这个简单一些的。
负网格没有了,我们可以通过设置网格密度,微调vetax等方法进一步调整提高网格质量
最后针对船舶计算进一步改进,因为下一步我们要导入fluent中做进一步计算,本例吃水0.248m,精确到mm。要求放松一点,精确到cm,也要求至少流体界面附近的网格尺寸不要太稀疏,如下图所示,尽量保证间距在10mm左右,有条件的甚至要控制更低。否则会计算出很诡异的结果。
五、导出网格
右键blocking>pre-mesh,选convert to unstruct mesh,或者点file>mesh>load from blocking
output选项卡中设置output solve搜了fluent v6
write output
选择路径和名字
在你保存的路径下,.msh文件就是网格文件,今天先分享到这里,有时间再分享个fluent设置和计算或者分享个船体建模过程等。对于流体计算的前处理而言,icem、fluent远不如starccm+方便和人性化,但不知为何starccm的影响力不如fluent。最后附上模型文件和本篇word文档供网友学习。
by 进击的鲸鱼
来源:流体中文网 转载你好歹也注明转载附上转载地址呗。这样暴力转是几个意思? 硫酸亚铜· 发表于 2017-2-1 21:54
转载你好歹也注明转载附上转载地址呗。这样暴力转是几个意思?
不过帖子确实不错讲解的特别具体 “先映射船首线,勾选project vetices选项,映射后用move vetice调整重叠的vetices”这个不是很理解 Eminem 发表于 2017-2-3 14:03
“先映射船首线,勾选project vetices选项,映射后用move vetice调整重叠的vetices”这个不是很理解
就是进行关联
页:
[1]