动网格UDF案例
基于动网格和UDF技术的气缸动态特性研究
2010年11月第38卷第21期机床与液压MACH I NE TOOL &HYDRAUL I CSN ov .2010V ol 38No 21DO I :10.3969/j issn 1001-3881 2010 21 004收稿日期:2009-11-02基金项目:科技部国家科技支撑计划课题(2007B AK35B02)作者简介:葛如海(1957 ),男,教授,博士生导师,主要从事汽车被动安全性研究及汽车轻量化研究。
E -m ai :l grh @u j s edu cn 。
基于动网格和UDF 技术的气缸动态特性研究葛如海,王桃英,许栋,臧绫(江苏大学汽车与交通工程学院,江苏镇江212013)摘要:基于FLUENT 软件提供的计算方法和物理模型,利用动网格及UDF (用户自定义函数)技术,对活塞运动过程进行动态数值模拟。
通过动网格的生成与消亡,较好地解决因活塞运动所导致计算区域瞬时变化问题。
得到气缸在不同蓄能腔体积、量孔直径及活塞作用面积下,活塞所受轴向力、位移变化等特性的可视化仿真结果,获得气缸内部流场分布。
分析蓄能腔体积、量孔直径及活塞作用面积对气缸动特性的影响。
结果表明:活塞作用面积对活塞动特性影响最大,其次是蓄能腔体积,而量孔直径大小的影响最小,为气缸优化设计提供理论依据。
关键词:气缸;动网格;UDF;动态特性;活塞中图分类号:TH138 51 文献标识码:A 文章编号:1001-3881(2010)21-012-4Dyna m ic Characteristics of Pneu matic Cylinder Based on Dyna m icM esh and UDFGE Ruha,i WANG Taoy i n g ,XU Dong ,Z ANG L i n g(Schoo l o fAuto m ob ile and Traffic Eng i n eering ,Ji a ngsu University ,Zhen jiang Ji a ngsu 212013,China) Abstract :Based on the ca l culati on and physical m ode ls of FLU ENT soft w are ,the m ove m en t o f the piston was si m u l a ted byusi ng dyna m ic m es h and UDF (user defi ned function).T he prob l em o f reg i onal i nstantaneous change i n ca l culati on area w hich was re s u lted by piston m ov i ng was w e ll so l v ed by genera ti on and d i sappearance o f dyna m i c m esh .T he v i sualization s i m u l a tion res u lts of the force on t he pist ons and t he disp l ace m ent character i stics w hich w ere produced at d ifferen t vo l um e o f st o rage con tai ner ,t he dia m eter of jet bore and t he area of the p i ston o f cy li nde r w ere go tten .T he i n fluences of the vo l u m e o f storag e conta i ner ,the dia m eter o f j e t bo re and t he area of the p i ston on the dynam ic character istics o f the cy li nder w ere ana l yzed .T he results show tha t :The a rea o f t he p i ston has t he l a rgest i nfl uence on t he dyna m ic charac teristi cs o f the p iston ,t he fo llowed i s the vo l u m e o f sto rage con tai ner ,and t he s m allest is the d i ame ter of jet bo re ,wh ich prov i de a theo re ti ca l basis f o r the cy li nder design .K eyword s :Pneu m atic cy li nder ;D yna m ic m esh ;UDF;Dyna m i c charac teristics ;P ist on在汽车碰撞乘员约束系统研究中常采用汽车座椅、汽车坐垫动态调节机构来减少汽车碰撞时乘员的伤害。
FLUENT动网格-圆柱体在管道内运动模拟
FLUENT动网格应用——圆柱体在管道内
运动流场模拟
通过非结构网格的拉伸和重划,能够模拟固态边界的变形和运动,对于弹丸外流场以及汽车迎风流场这种条件,可以通过迎面来流速度相对模拟物体运动,但是对于计算域中含有静态固体边界的运动状态,还是需要通过动网格方法来模拟物体运动。
这里给出一个圆柱体在高速运动的流场模拟案例,以进行非结构动网格的应用和学习,上图中圆管静止,圆柱体以10m/s的速度在管内运动。
(本人比较恋旧,这里采用FLUENT15.0进行模拟计算)。
Fluent 动网格实例具体操作步骤
目录实例: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。
动网格实例
NACA0012翼型俯仰振荡(动网格的应用过程);本例是想对作简谐振荡运动的NACA0012翼型的气动特性(升力系数,阻力系数和力矩系数)进行数值计算,来流速度为V,攻角的变化规律为:Alpha(t)=A/2*sin(omega*t)其中,A=10度,omega=10*pi 弧度/秒。
1、该例需要使用动网格来实现,首先需要编写刚体运动UDF实现翼型的俯仰运动,由于在FLUENT的UDF中只能指定速度,角速度;所以,需要将攻角对时间求导,得到转动角速度的规律:D(alpha)/dt=A*omega/2*cos(omega*t)编写的UDF在附件中。
2、由于本例只是为了讲述动网格的实现,至于其他方面的设置及分析就不再讨论;这里详细讲述下动网格的建立以及动网格的预览的结果。
步骤如下:1)将mesh文件读入到FLUENT中,Grid:check,scale…,Smooth/Swap…;Display Grid;2)定义求解器为,Define:pressure-based,2D,unsteady,Implicit,Green-Gauss Node Based(因本例使用的是三角形单元).3)编译UDF,Define->User-Defined->Functions->Complied…此时打开了Complied UDFs的窗口,Add…在选择UDF的对话框中找到NACA0012DM文件夹中的airfoil.c文件,选中,ok;此时返回到Complied UDFs的窗口点击Build,FLUENT 开始进行编译,可以在FLUENT窗口看到编译的一些过程提示;等编译完成,点击Load;就将已经编译好的UDF加载到FLUENT中了。
4)定义动网格参数,Define->Dynamic Mesh(选勾,激活动网格模型)->Parameters…此时打开了Dynamic Mesh Parameters 窗口,在Models中只选取Dynamic Mesh,本例的网格类型为三角形单元,要实现的运动为小幅度的转动,因此选用的动网格更新方法为Smoothing+Remeshing;开始依次对这两种更新方法进行参数设定:Smoothing中的参数设定:Spring Constant Factor(弹簧倔强系数),该值设定为一个较小的值,在0.01到0.1之间,本例选取0.08;Boundary Node Relaxation(边界节点松弛),设定为0.5;Convergence Tolerance(收敛判据),保持默认的0.001;Number of Iterations(迭代次数),保持默认的20;Remeshing中的参数设定:为了得到较好的网格更新,本例在使用局部网格重新划分方法时,使用尺寸函数,也就是Remeshing+Must Improve Skewness+Size Function的策略。
FLUENT中被动型动网格问题求解方案6DOF
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宏没有返回值。
Fluent 动网格实例具体操作步骤(完整资料).doc
【最新整理,下载后即可编辑】Fluent 动网格实例具体操作步骤目录实例:Profile定义运动 (3)I、................................................................................................... 参数说明3II、 ................................................................................................. 操作步骤4一、将计算域离散为网格 (4)二、Fluent操作步骤 (5)1. 启动Fluent 14.5求解器 (5)2. 初始设置 (6)3. 选择湍流模型 (7)4. 设置流体物性 (8)5. 设置边界条件 (9)6. 动网格设置 (11)7. 设置其它选项 (16)Fluent 动网格实例具体操作步骤在Fluent中,动网格模型可以用来模拟由于流域边界运动引起流域形状随时间变化的流动情况,动网格在求解过程中计算网格要重构,例如汽车发动机中的气缸运动、阀门的开启与关闭、机翼的运动、飞机投弹等等。
CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。
配合瞬态时间,即可很方便的得出位移。
当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。
(2)网格节点速度是通过求解得到的。
如6DOF模型基本上都属于此类。
用户将力换算成加速度,然后将其积分成速度。
在Fluent中,动网格涉及的内容包括:(1)运动的定义。
主要是PROFILE文件与UDF中的动网格宏。
(2)网格更新。
FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。
需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。
动网格的最在挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。
动网格系列(一)
b = NV_DOT(rvec, axis);
NV_V_VS(Pp, =, origin, +, axis, *, b);
/*节点沿径向运动*/
NV_VV(dvec, =, NODE_COORD(v), -, Pp);
在动网格设置面板中,点击按钮【Create/Edit…】按钮,弹出动网格区域定义对话框。如图1-5、图1-6所示。
在图1-6所示面板中,设置Zone Names为fluid-cylinder,设置Type为User-Defined,在下方的Motion Attributes标签页中设置Mesh Motion UDF为scale_cyl::libudf,点击按钮【Create】创建动网格区域。
点击按钮【Load】加载UDF文件。如图1-2所示。
UDF加载成功后,input.txt文件内容将会被显示在命令窗口中。如图1-3所示。
图1-2编译UDF
图1-3input.txt文件内容
Step 4:设置网格运动及缩放圆柱区域
点击模型树节点【Dynamic Mesh】,在右侧面板中勾选【Dynamic Mesh】,本例不需要设置Mesh Methods,如图1-4所示。
{
v = C_NODE(c,tc,n);//取得节点
if (NODE_POS_NEED_UPDATE(v))
{
NODE_POS_UPDATED(v);
/* direction vector of node wrt origin of cylinder axis */
NV_VV(rvec, =, NODE_COORD(v), -, origin);
Fluent动网格实例具体操作步骤
目录实例: 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)在Flue nt中,动网格模型可以用来模拟由于流域边界运动引起流域形状随时间变化的流动情况,动网格在求解过程中计算网格要重构,例如汽车发动机中的气缸运动、阀门的开启与关闭、机翼的运动、飞机投弹等等。
CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。
配合瞬态时间,即可很方便的得出位移。
当然一些求解器(如FLUENT )也支持稳态动网格,这时候可以直接指定节点位移。
(2)网格节点速度是通过求解得到的。
如6DOF模型基本上都属于此类。
用户将力换算成加速度,然后将其积分成速度。
在Flue nt中,动网格涉及的内容包括:(1)运动的定义。
主要是PROFILE文件与UDF中的动网格宏。
(2)网格更新。
FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。
需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。
动网格的最在挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。
在避免负网格的同时,努力提高运动更新后的网格质量。
拉格朗日网格(固体有限元计算)网格欧拉网格(流体计算)实例:Profile定义运动I、参数说明本次实例采用的场景来自于流体中高速飞行的物体。
如子弹、火箭、导弹等。
这里只是为了说明profile在动网格运动定义中的应用,因此为了计算方便不考虑高速问题。
问题描述如下图所示:图1 (1为运动刚体,2为计算域)图2计算说明:由于不考虑也没办法考虑刚体的变形,因此在构建面域的时候,将1中的部分通过布尔运算去除。
基于动网格与UDF技术的内杆做行星运动的环空中流场数值模拟
基于动网格与UDF技术的内杆做行星运动的环空中流场数值模拟庞博学;杨树人;刘丽丽;刘超;张莹;马立辉【摘要】应用动网格技术以及UDF程序成功实现了内杆在油井偏心环空中自转同时公转的行星运动状态.完成了内杆在井筒偏心环空中不同偏心率位置转动的情况下,流体在井筒环空中流动的数值模拟.计算结果表明,内杆偏心率增加,流体周向运动增强,湍流高黏度区域扩大,层流区域相应增加.存在一临界偏心率εr,在其两侧,流体作用力分别将内杆离心外推和向心内拉.且内杆偏心率越大,流体内推力就越大,流体对内杆公转运动方向上的阻力也越大.【期刊名称】《新技术新工艺》【年(卷),期】2015(000)006【总页数】4页(P64-67)【关键词】动网格;UDF;行星运动;Fluent;偏心率【作者】庞博学;杨树人;刘丽丽;刘超;张莹;马立辉【作者单位】东北石油大学,黑龙江大庆163000;东北石油大学,黑龙江大庆163000;东北石油大学,黑龙江大庆163000;东北石油大学,黑龙江大庆163000;东北石油大学,黑龙江大庆163000;东北石油大学,黑龙江大庆163000【正文语种】中文【中图分类】TH311对于内杆静止的偏心环空中的流动,前人做了大量的研究工作。
与内杆静止的偏心环空流动相比较,当内杆自转与公转同时进行时,流体在此种环空中的流动要更加复杂,人们对这种流动的研究少之又少[1]。
在石油钻井工程中,尤其是对于水平井和定向井,钻杆因受自身重力的影响,在井筒中是弯曲的,再加上电动机驱动钻杆的自转,在井筒与钻杆所形成的偏心环空中的钻井液的流动就属于内杆做行星运动的环空中的流动问题[2]。
与此相似,在采油工程尤其是螺杆泵采油中,由于内杆偏心,抽油杆在自转的同时还沿外管轴线公转,在该环空中采出液的流动也属于内杆做行星运动的环空中的流动问题[3]。
由此可见,此种流动在工程实际中常常遇到。
本文旨在应用计算流体动力学的方法,通过编译UDF程序实现内管行星运动状态,应用Fluent动网格技术对内杆行星运动的环空中的流动问题进行数值求解。
Fluent 动网格实例具体操作步骤
目录实例: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。
CFD-FLUENT-动网格-UDF仿真实例3
改变单位
检查网格
模型显示
设置材料
设置入口边界条件
出口边界条件
UDF
UDF的数据类型 (1)cell_t c:定义一个体网格 (2)face_t f:定义一个面网格 (3)Node*n:定义一个网格节点 (4)Thread*t:定义一个边界条件 UDF的循环工具 (1)begin_c_loop(c,t){} end_c_loop(c,t)循环某个边界上的 所有体网格 (2)begin_f_loop(f,t){} end_f_loop(f,t)循环某个边界上的 所有面网格
• • • • (1)在一个文件编写UDF源代码 (2)启动FLUENT读入case/data (3)解释或编译UDF (4)在边界条件界面上指定UDF适于的变量 和区域 • (5)在迭代面板(Iterate)设置UDF更新的 频率 • (6)计算
பைடு நூலகம்
三维建模
网格模型
网格切面
颜色对应
导出FLUENT文件
(3)f_node_loop(f,t,n){} 循环某个面上的所有节点
动网格特殊数据类型工具
(1)Dynamic_thread*dt;定义一个运动区域 (2)DT_THREAD(Dynamic_thread*)dt;转化为运动区 域对应的边界条件的thread指针,返回thread类型的指针
在FLUENT使用UDF的步骤
一:铺层
铺层的特点 区域扩大,生成网格,区域缩小,销毁网 格。 适合类型:四边形,六面体,三棱柱 铺层方法一般用于边界做线性运动,但也 可以做纯粹的 转动1活塞运动2门转动3需要特别的UDF 支持
二:弹性光顺
弹性光顺的特点 节点数量和节点之间的连接关系都不变 单独使用时仅限于变形非常小的情形 适用于三角形和四面体网格
CFD分析专题-UDF、动网格和多相流
比较解释和编译的 UDF
既可以运行时通过读入和解释来调用函数,也可以通过使用 FLUENT中的编译器把函数编译到一个公共的函数库。
比较解释和编译代码
解释
解释的程序只是保存在电脑内存中。 按“一个接一个”的基本顺序运行代码。 优势 -- 不需要第三方编译器。 劣势 -- 运行慢,占内存。
C_NFACES(c,t);
返回面/单元
F_NNODES(f,t);
返回节点/面
C_CENTROID(x,c,t); 返回单元质心坐标于数组x[]中
F_CENTROID(x,f,t); 返回表面中心坐标于数组x[]中
F_AREA(A,f,t);
返回面向量于数组 A[]中
C_VOLUME(c,t);
返回单元体积
DEFINE_PROFILE(inlet_x_velocity, thread, nv)
开头。
{
inlet_x_velocity 将会在用
float x[3]; /* Position vector*/ float y;
户操作界面中选择定义。
face_t f; begin_f_loop(f, thread)
任何UDF都必须以DEFINE_ 宏开始:
18 个通用解算器宏和 13 个离散相模型宏和多项宏 (未列出):
DEFINE_ADJUST(name,domain); 通用目标 UDF ,每个计算步都被调用 DEFINE_INIT(name,domain); 初始化计算域变量 DEFINE_ON_DEMAND(name); 定义“根据需要运行”的函数 DEFINE_RW_FILE(name,fp); 用户读写case/data文件 DEFINE_PROFILE(name,thread,index); defines boundary profiles定义边界条件 DEFINE_SOURCE(name,cell,thread,dS,index); defines source terms定义源项 DEFINE_HEAT_FLUX(name,face,thread,c0,t0,cid,cir); defines heat flux定义热流通量 DEFINE_PROPERTY(name,cell,thread); defines material properties定义材料属性 DEFINE_DIFFUSIVITY(name,cell,thread,index); 定义UDS和特殊的差分格式 DEFINE_UDS_FLUX(name,face,thread,index); 定义UDS通量项 DEFINE_UDS_UNSTEADY(name,cell,thread,index,apu,su); 定义UDS衰减项 DEFINE_SR_RATE(name,face,thread,r,mw,yi,rr); 定义面反应系数 DEFINE_VR_RATE(name,cell,thread,r,mw,yi,rr,rr_t); 定义vol反应系数 DEFINE_SCAT_PHASE_FUNC(name,cell,face); defines scattering phase function for DOM定义DOM中相散射函数 DEFINE_DELTAT(name,domain); 定义非定常问题中的时间步长变量 DEFINE_TURBULENT_VISCOSITY(name,cell,thread); 定义湍流粘性计算方式 DEFINE_TURB_PREMIX_SOURCE(name,cell,thread,turbflamespeed,source); 定义湍动火焰速度 DEFINE_NOX_RATE(name,cell,thread,nox); 定义NOx中的产生和消失系数
FLUENT中被动型动网格问题求解方案:6DOF
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宏没有返回值。
基于动网格与UDF技术的阀门流场数值模拟
基于动网格与UDF技术的阀门流场数值模拟
刘华坪;陈浮;马波
【期刊名称】《汽轮机技术》
【年(卷),期】2008(050)002
【摘要】基于FLUENT软件提供的计算方法和物理模型,利用动网格及UDF(用户自定义函数)技术,对管路系统常见的4种阀门流动进行了动态数值模拟.该数值模拟方法打破了以往静态研究的局限,更真实地模拟了阀门的开关动态过程中的流动状态和阀体受力情况.动态仿真结果表明:随着阀门开度减小,流场变得复杂,出现复杂涡系,损失增加,同时阀门受力变化较大,会导致冲击与振动,对阀体工作精度与结构强度都非常不利,而且阀门开启过程与关闭过程并非简单反过程,尤其对于球阀,启闭过程中其流场特性与受力特点差别很大.
【总页数】3页(P106-108)
【作者】刘华坪;陈浮;马波
【作者单位】哈尔滨工业大学能源科学与工程学院,哈尔滨150001;哈尔滨工业大学能源科学与工程学院,哈尔滨150001;哈尔滨工业大学能源科学与工程学院,哈尔滨150001
【正文语种】中文
【中图分类】TK262
【相关文献】
1.基于动网格与UDF技术的内杆做行星运动的环空中流场数值模拟 [J], 庞博学;杨树人;刘丽丽;刘超;张莹;马立辉
2.基于动网格CFD技术的膛口弹前激波流场数值模拟 [J], 王仕松;郑坚;贾长治;殷军辉
3.基于动网格和UDF技术的气缸动态特性研究 [J], 葛如海;王桃英;许栋;臧绫
4.基于动网格与UDF技术的流量开关仿真设计 [J], 张发年;于延凯;郭建华;朱兴华
5.基于动网格与UDF方法的稳流器流场数值模拟研究 [J], 祁永斐;赵涛;杜利霞;何照青
因版权原因,仅展示原文概要,查看原文内容请购买。
Fluent动网格【3】:DEFINE_CG_MOTION宏
Fluent动⽹格【3】:DEFINE_CG_MOTION宏除了利⽤Profile进⾏运动指定之外,Fluent中还可以使⽤UDF宏来指定部件的运动。
其中⽤于运动指定的宏主要有三个:DEFINE_CG_MOTIONDEFINE_GEOMDEFINE_GRID_MOTION今天主要看第⼀个UDF宏DEFINE_CG_MOTION。
⽤途DEFINE_CG_MOTION宏主要⽤于描述刚体的运动。
所谓“刚体”,指的是在运动过程中部件⼏何形状不会发⽣任何改变,只是其质⼼位置发⽣改变。
在定义刚体的运动时,通常以速度⽅式进⾏显式定义。
形式DEFINE_CG_MOTION宏的结构很简单。
DEFINE_CG_MOTION(name,dt,vel,omega,time,dtime)其中:name:为宏的名称,可以随意定义dt:⼀个指针Dynamic_Thread *dt,存储动⽹格属性,通常不需要⽤户⼲预。
vel:平动速度,为⼀个数组,其中vel[0]为x⽅向速度,vel[1]为y⽅向速度,vel[2]为z⽅向速度。
omega:转动速度,omega[0]为x⽅向⾓速度,omega[1]为y⽅向⾓速度,omega[2]为z⽅向⾓速度。
time:当前时间。
dtime:时间步长。
实例实例1:利⽤DEFINE_CG_MOTION宏定义速度:u x=2sin(3t)可以写成:#include "udf.h"DEFINE_CG_MOTION(velocity,dt,vel,omega,time,dtime){vel[0] = 2* sin(3*time);}很简单,对不对?再来个复杂点的例⼦。
实例2:已知作⽤在部件上的⼒F,计算部件在⼒F作⽤下的运动。
可以采⽤⽜顿第⼆定律:∫t t0dv=∫t t(F/m)dt则速度可写为:v t=v t−Δt+(F/m)Δt 可写UDF宏为:/************************************************************* 1-degree of freedom equation of motion (x-direction)* compiled UDF************************************************************/#include "udf.h"static real v_prev = 0.0;static real time_prev = 0.0;DEFINE_CG_MOTION(piston,dt,vel,omega,time,dtime){Thread *t;face_t f;real NV_VEC(A);real force_x, dv;/* reset velocities */NV_S(vel, =, 0.0);NV_S(omega, =, 0.0);if (!Data_Valid_P())return;/* get the thread pointer for which this motion is defined */t = DT_THREAD(dt);/* compute pressure force on body by looping through all faces */force_x = 0.0;begin_f_loop(f,t){F_AREA(A,f,t);force_x += F_P(f,t) * A[0];}end_f_loop(f,t)/* compute change in velocity, dv = F*dt/mass */dv = dtime * force_x / 50.0;/* motion UDFs can be called multiple times and should not causefalse velocity updates */if (time > (time_prev + EPSILON)){v_prev += dv;time_prev = time;}Message("time = %f, x_vel = %f, x_force = %f\n", time, v_prev, force_x); /* set x-component of velocity */vel[0] = v_prev;}Processing math: 100%。
UDF案例
程序实现
• Epsilon方程源项及其线性化 DEFINE_SOURCE(tdr_source, c, t, dS, eqn)
{
real Pk, source;
S
k
f1C1Pk
f2C 2
dS
eqn
1 k
f1C 1Pk
2
f2C 2
Pk = C_MU_T(c,t)/C_R(c,t)* SQR(C_STRAIN_RATE_MAG(c,t));
1/2
S 2Sij Sij
*C_STRAIN_RATE_MAG(c,t); rho_epsilon = SQR(C_R(c,t))*C_MU*f_mu(c,t)
Sk
( Pk
)
S2
C
f
k2 t
* C_UDSI(c,t,TKE)*C_UDSI(c,t,TKE) /C_MU_T(c,t);
dS[eqn]=-2.*SQR(C_R(c,t))
cg_vel, cg_omega, time, dtime) {
cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0; cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = omega; }
© 2008 ANSYS, Inc. All rights reserved.
exp( -SQR(Re_t(c,t)/200.) )); }
real f_2(cell_t c, Thread *t) { return SQR( 1.0 - exp(-y_star(c,t)/3.1 )) *(1.-0.3*exp(-
SQR(Re_t(c,t)/6.5))); }
某弹簧式灌水器流道的三维UDF动网格数值模拟
水头损失误差(%) 5.01~22.72 17.07~33.12 -17.78~-32.56 12.24~22.45
法进 行 模 拟,并 做 如 下 假
上下游压差误差(%) 6.02~20.97 27.65~34.12 -25.71~-40.62 10.13~23.16
设[9-10]:常温,不可压缩粘 速度进口误差(%) -0.27~-18.71 0.17~12.48 -3.44~21.39 1.55~17.12
微灌技术具有省水、省工、节约生产成本以及对地形和土壤适应性强等优点,节水效果极其显著,是一 种很有发展前途的节水灌溉方法[1]。灌水器在微灌系统有着广泛的应用,为了使微灌系统达到高效节水,
灌水均匀的目的,对灌水器内部流道的优化及获得相关水力学参数有着重要的意义[2]。
近年来有越来越多的学者利用数值模拟的方法对灌水器进行设计和优化,这种方法可以弥补理论分析
126.com
168
水 道 港 口
第 39卷第 2期
1 CFD建模与计算
1.1 基本假设
根据建模和计算的需 要,对 该 灌 水 器 流 道 内 水
表 1 四种模型模拟情况对比 Tab.1Fourkindsofmodelsimulationcomparison
体流动应用 CFD有限体积
类别
标准 kε模型 RNGkε模型 Realizablekε模型 RSM模型
1.44,Cε2 =1.92,σk =1.0,σk =1.3。
1.3 网格划分
目前在 CFD的计算中,非结构化网格的应用非常广泛[13]。灌水器的内部流道几何空间是随压力变化
算,得到了该灌水器的水头损失、上下游压差力与流量之间的关系,将数模结果与物理试验值进行对比
某弹簧式灌水器流道的三维UDF动网格数值模拟
某弹簧式灌水器流道的三维UDF动网格数值模拟祁永斐;赵涛【摘要】灌水器是决定微灌系统节水效果的关键部件,而优化灌水器内部结构并获得相关水力学参数成为解决灌水器优劣的主要问题,目前对灌水器的数值计算大多属于静态模拟,存在一定的局限性,为了完善新型灌水器流道内部结构,以某弹簧式灌水器为研究对象,前期进行物理模型试验测得相关参数,后期主要采用动态网格及UDF(用户自定义函数)技术,对其内部流道进行了三维动态数值模拟计算,得到了该灌水器的水头损失、上下游压差力与流量之间的关系,将数模结果与物理试验值进行对比分析后的结果表明,动态网格结合UDF的方法能够较好地模拟具有动态边界的微灌流道.%Emitter is the key part influencing the water saving effect of micro-irrigation system.The main problem of emitter is to optimize the internal structure and obtain relevant hydraulic parameters.Nowadays the numerical calculation of the emitter is mostly static simulation with some kind of boundedness.In order to improve the internal structure of the new emitter flow channel, taking one spring-loaded emitter as an object,the previous study was carried on the physical model test and relevant parameters were obtained.And then based on dynamic mesh andUDF(User-Defined Function)technology,numerical simulation for its internal flow channel was carried out,from which the flow,head loss and the relationship between the upstream and downstream pressure differential force were derived.By the contrast of numerical simulation result and physical experiment value, it is found that the combination ofdynamic mesh and UDF can simulate micro-irrigation channel with dynamical boundary well.【期刊名称】《水道港口》【年(卷),期】2018(039)002【总页数】6页(P167-172)【关键词】弹簧式灌水器;动网格;数值模拟;UDF【作者】祁永斐;赵涛【作者单位】新疆工程学院,乌鲁木齐830052;新疆农业大学水利与土木工程学院,乌鲁木齐830052【正文语种】中文【中图分类】S277.9微灌技术具有省水、省工、节约生产成本以及对地形和土壤适应性强等优点,节水效果极其显著,是一种很有发展前途的节水灌溉方法[1]。