Fluent中网格出现负体积的解决方法
- 格式:docx
- 大小:12.06 KB
- 文档页数:1
FLUENT动网格应用——圆柱体在管道内
运动流场模拟
通过非结构网格的拉伸和重划,能够模拟固态边界的变形和运动,对于弹丸外流场以及汽车迎风流场这种条件,可以通过迎面来流速度相对模拟物体运动,但是对于计算域中含有静态固体边界的运动状态,还是需要通过动网格方法来模拟物体运动。
这里给出一个圆柱体在高速运动的流场模拟案例,以进行非结构动网格的应用和学习,上图中圆管静止,圆柱体以10m/s的速度在管内运动。
(本人比较恋旧,这里采用FLUENT15.0进行模拟计算)。
目录实例:Profile定义运动 (2)I、参数说明 (2)II、操作步骤 (3)一、将计算域离散为网格 (3)二、Fluent操作步骤 (4)1.启动Fluent 14.5求解器 (4)2.初始设置 (4)3.选择湍流模型 (5)4.设置流体物性 (6)5.设置边界条件 (7)6.动网格设置 (8)7.设置其它选项 (12)在Fluent中,动网格模型可以用来模拟由于流域边界运动引起流域形状随时间变化的流动情况,动网格在求解过程中计算网格要重构,例如汽车发动机中的气缸运动、阀门的开启与关闭、机翼的运动、飞机投弹等等。
CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。
配合瞬态时间,即可很方便的得出位移。
当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。
(2)网格节点速度是通过求解得到的。
如6DOF模型基本上都属于此类。
用户将力换算成加速度,然后将其积分成速度。
在Fluent中,动网格涉及的内容包括:(1)运动的定义。
主要是PROFILE文件与UDF中的动网格宏。
(2)网格更新。
FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。
需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。
动网格的最在挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。
在避免负网格的同时,努力提高运动更新后的网格质量。
拉格朗日网格(固体有限元计算)网格欧拉网格(流体计算)实例:Profile定义运动I、参数说明本次实例采用的场景来自于流体中高速飞行的物体。
如子弹、火箭、导弹等。
这里只是为了说明profile在动网格运动定义中的应用,因此为了计算方便不考虑高速问题。
问题描述如下图所示:图 1 (1为运动刚体,2为计算域)图2计算说明:由于不考虑也没办法考虑刚体的变形,因此在构建面域的时候,将1中的部分通过布尔运算去除。
计算域总长度300mm,其中固体运动最大位移为:300-40-30-6mm=224mm。
网格划分策略与网格质量检查判断网格质量的方面有:Area单元面积,适用于2D单元,较为基本的单元质量特征。
Aspect Ratio长宽比,不同的网格单元有不同的计算方法,等于1是最好的单元,如正三角形,正四边形,正四面体,正六面体等;一般情况下不要超过5:1.Diagonal Ratio对角线之比,仅适用于四边形和六面体单元,默认是大于或等于1的,该值越高,说明单元越不规则,最好等于1,也就是正四边形或正六面体。
Edge Ratio长边与最短边长度之比,大于或等于1,最好等于1,解释同上。
EquiAngle Skew通过单元夹角计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。
最好是要控制在0到之间。
EquiSize Skew通过单元大小计算的歪斜度,在0到1之间,0为质量最好,1为质量最差。
2D质量好的单元该值最好在以内,3D单元在以内。
MidAngle Skew通过单元边中点连线夹角计算的歪斜度,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。
Size Chang e相邻单元大小之比,仅适用于3D单元,最好控制在2以内。
Stretch伸展度。
通过单元的对角线长度与边长计算出来的,仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。
Taper锥度。
仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。
Volume单元体积,仅适用于3D单元,划分网格时应避免出现负体积。
Warpage翘曲。
仅适用于四边形和六面体单元,在0到1之间,0为质量最好,1为质量最差。
以上只是针对Gambit帮助文件的简单归纳,不同的软件有不同的评价单元质量的指标,使用时最好仔细阅读帮助文件。
另外,在Fluent中的窗口键入:grid quality 然后回车,Fluent能检查网格的质量,主要有以下三个指标:cell squish: 如果该值等于1,表示得到了很坏的单元;cell skewness: 该值在0到1之间,0表示最好,1表示最坏;'aspect-ratio': 1表示最好。
CAE联盟论坛精品讲座系列FLUENT中被动型动网格问题求解方案:6DOF主讲人:流沙 CAE联盟论坛—总版主利用CFD软件解决动网格问题,通常可分为以下两类:(1)主动型动网格主动型动网格问题通常指的是边界运动规律及运动状态已知,通常可由软件使用者通过函数或程序进行描述。
在程序计算过程中,求解器调用边界运动轨迹描述程序实现边界运动。
这类动网格例子很多,如各类泵、风扇等。
(2)被动型动网格还有一类动网格问题,其边界运动规律往往是未知的,常常需要通过计算边界上的力或力矩,以此来求取边界的运动。
在这类动网格计算设置中,网格变化规律难以预料,导致网格参数经常需要进行多次调整才能达到目的。
这类例子在现实中其实也很多,比如风力发电机的叶轮、水轮机等。
解决主动型动网格问题比较容易,利用CFD软件提供的动网格模拟能力很容易解决。
需要关注的地方是边界运动后,网格节点如何重新布置和生成。
如在FLUENT软件中,其动网格主要包括三种网格功能:弹簧光顺、动态层及网格重构。
利用网格重构功能几乎可以解决所有主动型动网格问题。
那被动型动网格问题怎么处理呢?一般来说,这类边界的运动都是由于内部流体对其压力所造成的,那么就涉及到力和力矩计算的问题。
对于这类问题,在FLUENT软件中可以采用6DOF 模型进行计算。
需要注意的是,以上所有类型动网格计算均建立在边界为刚性的情况下。
即不会计算由于流动产生的力的作用导致的边界变形。
若要计算边界变形,则需要采用流固耦合方法,利用固体求解器计算。
被动型动网格中的力和力矩均是压力对面的积分计算而来。
1、6DOF UDF宏在FLUENT中利用6DOF是需要定义UDF宏的。
该宏的定义形式如下:DEFINE_SDOF_PROPERTIES(name, properties, dt ,time ,dtime)函数中:Name:宏名称Real *properties:存储6DOF属性的数组Dynamic_Thread *dt:存储制定的动网格属性Real time:当前时间Real dtime:时间步长该UDF宏没有返回值。
关于wall-shadow这个shadow从何而来?其边界层应当如何设定?你定义了属性不同的两个计算域(例如A 和B区域),两个区域形成共同的交界面。
其中A 计算域的面取以前的名称,而 B 计算域的面则取该名称.shadow 的名字。
在边界条件中将该表面定义为interior,则可以将该两区域结合成相连的计算域。
请问shadow 是自动生成的还是要自己去定义?shadow面通常在两种情况下出现:1.当一个wall 两面都是流体域时,那么wall 的一面被定义为wall.1,wall 的另一面就会被软件自动定义为wall.1_shadow,它的特性和wall是一样的,有关它的处理和wall面没有什么区别;2.另外一种情况就是当你在fluent 软件中,把周期性面的周期特性除去时,也会出现一个shadow 面,这种情况比较好理解,shadow面和原来的面分别构成周期性的两个面.shadow也出现在wall的一面是流体,而另一面是固体的情况。
此时可以进行流体-固体的耦合计算。
初始化和边界条件1 FLUENT 的初始化面板中有一项是设置从哪个地方开始计算(compute from),选择从不同的边界开始计算有很大的区别吗?该怎样根据具体问题选择从哪里计算呢?比如有两个速度入口A 和B,还有压力出口等等,是选速度入口还是压力出口?如果选速度入口,有两个,该选哪个呀?有没有什么原则标准之类的东西?一般是选取ALL ZONE,即所有区域的平均处理,通常也可选择有代表性的进口(如多个进口时)进行初始化。
对于一般流动问题,初始值的设定并不重要,因为计算容易收敛。
但当几何条件复杂,而且流动速度高变化快(如音速流动),初始条件要仔细选择。
如果不收敛,还应试验不同的初始条件,甚至逐次改变边界条件最后达到所要求的条件。
2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和边界条件更重要,可以这样理解吗?也就是说,对于一个具体的问题,初始条件和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和边界条件直到解收敛为止,是吗?如果解收敛了,是不是就可以基本确定模拟的结果是正确的呢?对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择不同的初始条件(指定常流),为了使解的收敛比较好,我一般是逐渐的调节边界条件到额定值("额定值"是指你题目中要求的入口或出口条件,例如计算一个管内流动,要求入口压力和温度为10MPa和3000K,那么我开始叠代时选择入口压力和温度为1MPa 和500K(假设,这看你自己问题了),等流场计算的初具规模、收敛的较好了,再逐渐调高压力和温度,经过好几次调节后最终到达额定值10MPa 和3000K,这样比一开始就设为10MPa和3000K收敛的要好些)这样每次叠代可以比较容易收敛,每次调节后不用再初始化即自动调用上次的解为这次的初始解,然后继续叠代。
fluent网格检查2009-05-05 18:371. Fluent检查网格质量的方法,网格导入Fluent中之后,grid->check,可以看看网格大致情况,有无负体积,等等;在Fluent窗口输入,grid quality然后回车,Fluent会显示最主要的几个网格质量。
在这里我谈一下,Fluent计算对网格质量的几个主要要求:1)网格质量参数:Skewness (不能高于0.95,最好在0.90以下;越小越好)Change in Cell-Size (也是Growth Rate,最好在1.20以内,最高不能超过1.40)Aspect Ratio (一般控制在5:1以内,边界层网格可以适当放宽)Alignment with the Flow(就是估计一下网格线与流动方向是否一致,要求尽量一致,以减少假扩散)2)网格质量对于计算收敛的影响:高Skewness的单元对计算收敛影响很大,很多时候计算发散的原因就是网格中的仅仅几个高Skewness的单元。
举个例子:共有112,000个单元,仅有7个单元的Skewness超过了0.95,在进行到73步迭代时计算就发散了!高长宽比的单元使离散方程刚性增加,使迭代收敛减慢,甚至困难。
也就是说,Aspect Ratio尽量控制在推荐值之内。
3)网格质量对精度的影响:相邻网格单元尺寸变化较大,会大大降低计算精度,这也是为什么连续方程高残差的原因。
网格线与流动是否一致也会影响计算精度。
4)网格单元形状的影响:非结构网格比结构网格的截断误差大,因此,为提高计算精度计,请大家尽量使用结构网格,对于复杂几何,在近壁这些对流动影响较大的地方尽量使用结构网格,在其他次要区域使用非结构网格。
2. 不要使用那些书上写的y+与yp的计算公式,那个公式一般只能提供数量级上的参考。
推荐大家使用NASA的粘性网格间距计算器,设定你想要的y+值,它就能给你计算出第一层网格高度,与计算结果的y+很接近。
fluent常见问题汇总,原创关于wall-shadow这个shadow从何而来?其边界层应当如何设定?你定义了属性不同的两个计算域(例如A 和B区域),两个区域形成共同的交界面。
其中A计算域的面取以前的名称,而B 计算域的面则取该名称.shadow 的名字。
在边界条件中将该表面定义为interior,则可以将该两区域结合成相连的计算域。
请问shadow 是自动生成的还是要自己去定义?shadow面通常在两种情况下出现:1.当一个wall 两面都是流体域时,那么wall 的一面被定义为wall.1,wall 的另一面就会被软件自动定义为wall.1_shadow,它的特性和wall是一样的,有关它的处理和wall面没有什么区别;2.另外一种情况就是当你在fluent 软件中,把周期性面的周期特性除去时,也会出现一个shadow 面,这种情况比较好理解,shadow面和原来的面分别构成周期性的两个面.shadow也出现在wall的一面是流体,而另一面是固体的情况。
此时可以进行流体-固体的耦合计算。
初始化和边界条件1 FLUENT 的初始化面板中有一项是设置从哪个地方开始计算(compute from),选择从不同的边界开始计算有很大的区别吗?该怎样根据具体问题选择从哪里计算呢?比如有两个速度入口A 和B,还有压力出口等等,是选速度入口还是压力出口?如果选速度入口,有两个,该选哪个呀?有没有什么原则标准之类的东西?一般是选取ALL ZONE,即所有区域的平均处理,通常也可选择有代表性的进口(如多个进口时)进行初始化。
对于一般流动问题,初始值的设定并不重要,因为计算容易收敛。
但当几何条件复杂,而且流动速度高变化快(如音速流动),初始条件要仔细选择。
如果不收敛,还应试验不同的初始条件,甚至逐次改变边界条件最后达到所要求的条件。
2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和边界条件更重要,可以这样理解吗?也就是说,对于一个具体的问题,初始条件和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和边界条件直到解收敛为止,是吗?如果解收敛了,是不是就可以基本确定模拟的结果是正确的呢?对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择不同的初始条件(指定常流),为了使解的收敛比较好,我一般是逐渐的调节边界条件到额定值("额定值"是指你题目中要求的入口或出口条件,例如计算一个管内流动,要求入口压力和温度为10MPa和3000K,那么我开始叠代时选择入口压力和温度为1MPa 和500K(假设,这看你自己问题了),等流场计算的初具规模、收敛的较好了,再逐渐调高压力和温度,经过好几次调节后最终到达额定值10MPa 和3000K,这样比一开始就设为10MPa 和3000K收敛的要好些)这样每次叠代可以比较容易收敛,每次调节后不用再初始化即自动调用上次的解为这次的初始解,然后继续叠代。
哪一位做三维动网格用过remeshing这项的吗?设置有没有什么要注意的地方呀?我的只能动两步,应该是参数没设好吧?提示如下:Updating mesh to time 1.00000e-04 (step = 00001)Info: Maximum Cell Skewness outside reasonable limits, using 0.95 instead. Mesh Statistics:Min Volume =6.25835e-012Max Volume =4.59776e-007Max Cell Skew =9.79372e-001 (cell zone 2)Warning: max cell skewness exceeds 0.95.Max Face Skew =9.30400e-001 (face zone 3) Done.Updating mesh to time 2.00000e-04 (step = 00002)Info: Maximum Cell Skewness outside reasonable limits, using 0.95 instead. Mesh Statistics:Min Volume =9.55037e-012Max Volume =4.52318e-007Max Cell Skew =9.79372e-001 (cell zone 2)Warning: max cell skewness exceeds 0.95.Max Face Skew =9.30400e-001 (face zone 3) Done.Updating mesh to time 3.00000e-04 (step = 00003)Info: Maximum Cell Skewness outside reasonable limits, using 0.95 instead. Error: BL_Alloc_Bucket: out of memoryError Object: ()老师催的紧,拜谢了!!非常感谢马叉虫!我把步长改小了一个数量级,能动了,却是原地踏步。
fluent负体积原因及解决办法负体积原因及解决办法定义Negitive volume:负体积是由于element本身产生大变形造成自我体积的内面跑到外面接着被判断为负体积关于负体积的解决办法?负体积多是网格畸变造成的,和网格质量以及材料、载荷条件都有关系。
有可能的原因和解决的方法大概有几种:(1)材料参数设置有问题,选择合适的材料模式)(2)沙漏模式的变形积累,尝试改为全积分单元(3)太高的局部接触力(不要将force施在单一node上,最好分散到几个node上以pressure 的方式等效施加),尝试调整间隙,降低接触刚度或降低时间步。
(4)在容易出现大变形的地方将网格refine。
(5)材料换的太软,是不是也会出现负体积!(6)另外也可以采用ALE或是euler单元算法,用流固耦合功能代替接触,控制网格质量。
例如在承受压力的单元在受压方向比其他方向尺寸长。
(7)尝试减小时间步长从0.9减小到0.6或更小。
经验总结:时间步长急剧变小,可能是因为单元产生了严重的畸变而导致的负体积现象,如果采用的是四面体单元,你可以用网格重划分的方法来解决。
如果你采用的是六面体单元,那目前就没有很有效的方法,可以试一下*ELEMENT_SOLID_EFG,那对机器的要求相对就会比较高了。
Q1:材料负体积解决方法(全面、有效)材料负体积解决方法在仿真中,通常有材料的大变形问题,如泡沫材料,由于单元大扭曲而出现了单元负体积,这种情况一般出来在材料失效之前。
在没有网格光滑和网格从划分的情况下,ls-dyna有一个内部的限制来调节lagrange单元的变形。
负体积一般都会导致计算中止,除非你设置时间步长控制中的erode=1和设置终止控制中的dtmin为一非零数,这种情况下,出现负体积的单元将被自动删除,计算也不会中止。
不过就算你如上设置了erode与dtmin,负体积有时候也会导致计算出错停止。
一些常用的解决负体积的方法如下:在材料出现大应变的情况下增强材料的应力-应变曲线中材料应力。
Fluent模拟中常见问题及解决办法,非常适合新手FLUENT经典问题FLUENT经典问题1 对于刚接触到FLUENT新手来说,面对铺天盖地的学习资料和令人难读的FLUENT help,如何学习才能在最短的时间内入门并掌握基本学习方法呢?学习任何一个软件,对于每一个人来说,都存在入门的时期。
认真勤学是必须的,什么是最好的学习方法,我也不能妄加定论,在此,我愿意将我三年前入门FLUENT心得介绍一下,希望能给学习FLUENT的新手一点帮助。
由于当时我需要学习FLUENT来做毕业设计,老师给了我一本书,韩占忠的《FLUENT流体工程仿真计算实例与应用》,当然,学这本书之前必须要有两个条件,第一,具有流体力学的基础,第二,有FLUENT安装软件可以应用。
然后就照着书上二维的计算例子,一个例子,一个步骤地去学习,然后学习三维,再针对具体你所遇到的项目进行针对性的计算。
不能急于求成,从前处理器GAMBIT,到通过FLUENT进行仿真,再到后处理,如TECPLO T,进行循序渐进的学习,坚持,效果是非常显著的。
如果身边有懂得FLUENT的老师,那么遇到问题向老师请教是最有效的方法,碰到不懂的问题也可以上网或者查找相关书籍来得到答案。
另外我还有本《计算流体动力学分析》王福军的,两者结合起来学习效果更好。
2 CFD计算中涉及到的流体及流动的基本概念和术语:理想流体和粘性流体;牛顿流体和非牛顿流体;可压缩流体和不可压缩流体;层流和湍流;定常流动和非定常流动;亚音速与超音速流动;热传导和扩散等。
A.理想流体(Ideal Fluid)和粘性流体(Viscous Fluid):流体在静止时虽不能承受切应力,但在运动时,对相邻的两层流体间的相对运动,即相对滑动速度却是有抵抗的,这种抵抗力称为粘性应力。
流体所具备的这种抵抗两层流体相对滑动速度,或普遍说来抵抗变形的性质称为粘性。
粘性的大小依赖于流体的性质,并显著地随温度变化。
文章来源:安世亚太官方订阅号(搜索:peraglobal)在用Fluent的时候经常会遇到固体在运动的情况,比如已知运动过程的,平移的、旋转的机械,还有不明运动的物体,比如自由下落的雨伞、或者导弹。
你希望计算流体和固体相互作用的过程。
这个时候老一辈的革命家会告诉你用动网格。
如果你不会的话,可以学习一下,感受一下layering、Smoothing、Remeshing三大神功。
相信我,过不了多久你就会陷入到添加各种dynamic motion中。
哪边能动哪边是静止的一定不能搞错,也不能少加,否则各种负体积报错让你分分钟怀疑人生。
但是,Ansys有个比较低调的overset网格功能,俗称嵌套网格。
它克服了动网格容易出现负体积的问题,可以处理小间隙的运动,而且设置更为方便简洁。
在运动过程中保持好的网格质量,并且可以在非结构网格类型中嵌套局部高质量的结构化网格。
那些个layering、smoothing什么的通通给我奏凯。
嵌套网格第一次出现在Ansys17.0中,在Ansys18.0和Ansys19.0中不断发展,逐渐和越来越多的功能兼容。
在嵌套网格中需要分清三个概念。
一是背景网格:嵌套网格,从名字能看出来网格是套在一起的,没俄罗斯套娃那么复杂,一般来说就两层。
下图中方方正正的就是背景网格。
二是部件网格:也叫Component grid。
就是橙色的大圆边界和黑色小圆边界中间的这些呈放射状的网格。
这个小的黑色的圆就是即将要移动的物体的边界,也就是我们的部件。
所以叫做部件的网格。
所以记得,在确定好运动的固体边界以后,往外扩展一部分画好部件网格。
需要注意的是,背景网格和部件网格是分开的、各自独立的。
所以在画网格的软件中要同时生成两套网格,并且都命名成overset_xxxx。
这样fluent就能直接识别出来这是嵌套网格。
三是嵌套边界:就是Overset Boundary Condition(就是图中的Overset BC)。
学习FLUENT简单、常见问题汇总查看负体积的位置In:[>x先initialize,激活adapt菜单下的一些选项,要用到的是iso-value,然后在grid下选cell volume,然后compute,会得到网格的体积范围,然后在iso min下填入最小负值,最大值填0,然后用mark,就可以得到一个iso的面,在旁边的manage菜单下的register会出现一个iso的面,用下面的display加上display grid命令,就可以很清楚的看到负体积在计算域的位置。
kMFl6r 流体中文网论坛-- 流体力学及相关领域学术问题交流论坛。
X[以下内容由ch06 在2008年12月24日05:05pm 时添加] NU4#SY流体中文网论坛-- 流体力学及相关领域学术问题交流论坛。
lv%"u找到位置就好修改了V4学习FLUENT简单问题解答,常见问题汇总1 现在用FLUENT的UDF来加入模块,但是用compiled udf时,共享库老是连不上?解决办法:1〉你的计算机必须安装C语言编译器。
2〉请你按照以下结构构建文件夹和存放文件:libudf/src/*.c (*.c为你的源程序);libudf/ntx86/2d(二维为2d,三维为3d)/makefile(由makefile_nt.udf改过来的)libudf/ntx86/2d(二维为2d,三维为3d)/user_nt.udf(对文件中的SOURCE,VERSION,P ARALLEL_NODE进行相应地编辑)3〉通过命令提示符进入文件夹libudf/ntx86/2d/中,运行C语言命令nmake,如果C预言编译器按装正确和你的源程序无错误,那么此时会编译出Fluent 需要的库文件(*.lib)这时再启动Fluent就不会出错了。
2 在使用UDF中用编译连接,按照帮助文件中给出的步骤去做了,结果在连接中报错“系统找不到指定文件”。
精品CAE 联盟论坛精品讲座系列FLUENT 中被动型动网格问题求解方案:6DOF主讲人:流沙CAE 联盟论坛—总版主利用 CFD 软件解决动网格问题,通常可分为以下两类:(1 )主动型动网格主动型动网格问题通常指的是边界运动规律及运动状态已知,通常可由软件使用者通过函数或程序进行描述。
在程序计算过程中,求解器调用边界运动轨迹描述程序实现边界运动。
这类动网格例子很多,如各类泵、风扇等。
(2 )被动型动网格还有一类动网格问题,其边界运动规律往往是未知的,常常需要通过计算边界上的力或力矩,以此来求取边界的运动。
在这类动网格计算设置中,网格变化规律难以预料,导致网格参数经常需要进行多次调整才能达到目的。
这类例子在现实中其实也很多,比如风力发电机的叶轮、水轮机等。
解决主动型动网格问题比较容易,利用CFD 软件提供的动网格模拟能力很容易解决。
需要关注的地方是边界运动后,网格节点如何重新布置和生成。
如在FLUENT 软件中,其动网格主要包括三种网格功能:弹簧光顺、动态层及网格重构。
利用网格重构功能几乎可以解决所有主动型动网格问题。
那被动型动网格问题怎么处理呢?一般来说,这类边界的运动都是由于内部流体对其压力所造成的,那么就涉及到力和力矩计算的问题。
对于这类问题,在FLUENT 软件中可以采用6DOF 模型进行计算。
需要注意的是,以上所有类型动网格计算均建立在边界为刚性的情况下。
即不会计算由于流动产生的力的作用导致的边界变形。
若要计算边界变形,则需要采用流固耦合方法,利用固体求解器计算。
被动型动网格中的力和力矩均是压力对面的积分计算而来。
1 、 6DOF UDF宏在 FLUENT 中利用 6DOF 是需要定义UDF 宏的。
该宏的定义形式如下:DEFINE_SDOF_PROPERTIES(name, properties, dt ,time ,dtime)函数中:Name :宏名称Real *properties:存储6DOF属性的数组Dynamic_Thread *dt:存储制定的动网格属性Real time:当前时间Real dtime:时间步长该 UDF 宏没有返回值。
负体积问题
用grid-check命令检查,会遇到负体积的问题。
解决方法:先initialize,激活adapt菜单下的一些选项,要用到的是iso-value,然后在grid下选cell volume,然后compute,会得到网格的体积范围,然后在iso min下填入最小负值,最大值填0,然后用mark,就可以得到一个iso 的面,在旁边的manage菜单下的register会出现一个iso的面,用下面的display 加上display grid命令,就可以很清楚的看到负体积在计算域的位置。
下面就可以用网格工具修改网格,直到解决问题。
遇到left handedness faces,有两种解决方法。
一是用text命令:grid-modify zone-right face handedness,简便的方法就是输入gr mz rfh,可以修改。
如果能够通过网格检查,就算成功。
如果失败,可以用检查负体积的方法,查到出现问题的网格的位置,然后在gridgen里重新修改网格,不过要在grid下选face handedness,然后iso min和iso max都填1。
有可能还会遇到no pointer(忘了什么显示的内容了,),然后会显示出坐标的位置,xc,yc,zc等等,这个问题可能是由structured mesh的orientation 不一致造成的,这就需要在gridgen里把structured block的orientation改成一致,具体的菜单操作在modify block,选中需要的block,然后对齐就行了。
CAE联盟论坛精品讲座系列FLUENT中被动型动网格问题求解方案:6DOF主讲人:流沙 CAE联盟论坛—总版主利用CFD软件解决动网格问题,通常可分为以下两类:(1)主动型动网格主动型动网格问题通常指的是边界运动规律及运动状态已知,通常可由软件使用者通过函数或程序进行描述。
在程序计算过程中,求解器调用边界运动轨迹描述程序实现边界运动。
这类动网格例子很多,如各类泵、风扇等。
(2)被动型动网格还有一类动网格问题,其边界运动规律往往是未知的,常常需要通过计算边界上的力或力矩,以此来求取边界的运动。
在这类动网格计算设置中,网格变化规律难以预料,导致网格参数经常需要进行多次调整才能达到目的。
这类例子在现实中其实也很多,比如风力发电机的叶轮、水轮机等。
解决主动型动网格问题比较容易,利用CFD软件提供的动网格模拟能力很容易解决。
需要关注的地方是边界运动后,网格节点如何重新布置和生成。
如在FLUENT软件中,其动网格主要包括三种网格功能:弹簧光顺、动态层及网格重构。
利用网格重构功能几乎可以解决所有主动型动网格问题。
那被动型动网格问题怎么处理呢?一般来说,这类边界的运动都是由于内部流体对其压力所造成的,那么就涉及到力和力矩计算的问题。
对于这类问题,在FLUENT软件中可以采用6DOF 模型进行计算。
需要注意的是,以上所有类型动网格计算均建立在边界为刚性的情况下。
即不会计算由于流动产生的力的作用导致的边界变形。
若要计算边界变形,则需要采用流固耦合方法,利用固体求解器计算。
被动型动网格中的力和力矩均是压力对面的积分计算而来。
1、6DOF UDF宏在FLUENT中利用6DOF是需要定义UDF宏的。
该宏的定义形式如下:DEFINE_SDOF_PROPERTIES(name, properties, dt ,time ,dtime)函数中:Name:宏名称Real *properties:存储6DOF属性的数组Dynamic_Thread *dt:存储制定的动网格属性Real time:当前时间Real dtime:时间步长该UDF宏没有返回值。
负体积的存在说明存在连接不正确的地方,可以通过Iso-Value Adaption在图形窗口中显示出错的区域。
进行解算前必须将这些负体积区域去除。
区域的每个面的右手方向性也会得到检查,出现负体积的网格会有一个左手方向的面。
对于轴对称的case,x轴下方的节点数目被列出。
因为x轴下方的节点被禁止了,因为轴对称单元体积是通过旋转2d的单元体积形成,因此x轴下方的体积都是负的。
对于有旋转性、周期性边界的解答区域,最大、最下、平均和指定的周期角度都被计算,一个普通的错误是不正确地指定角度。
对于有传输周期性边界的区域,边界条件被检查以确保边界是真的周期性的。
最后单一计数器被检验,以确认解算器已经构造的节点、面和单元的数目和相应网格文件头部的说明一致。
如果网格检查出现一下信息:WARNING: node on face thread 2 has multiple shadows。
你可以通过以下的文本命令进行修补:1,对偶型的壁面,
grid_modify-zone_repair-duplicate-shadows。
2,对于周期性的壁面,命令同上,但是会被提示输入旋转角度。
##
最小体积为负,基本上是由于网格的倾斜度太大的缘故,需要检查网格的划分方法
##
对四面体网格,出现负体积的情况比较少。
六面体网格在一些“锐角”处容易出现负体积,这一般在gambit划分网格时会有一些提示(如提示有多少个网格严重扭曲)。
一旦出现负体积没有别的办法,只能对出现负体积的地方重新划分。
比如重新布置网格点,重新分块等,多试试就能解决。