一种动网格边界更新计算方法与流程

文档序号:12599226阅读:1163来源:国知局

本发明涉及流体工程领域中的边界运动或变形领域,更具体地,涉及一种动网格边界更新计算方法。



背景技术:

Fluent是一款广泛使用的CFD(Computational Fluid Dynamics)商业软件,Fluent中的动网格模型理论上来说可用于模拟流体工程中的边界运动或者变形,比如航空业中的机翼运动、火箭级间分离、内燃机中活塞与气门运动、流体机械中的阀门启闭、泵的转动、生物医学中血管的膨胀与收缩、仿生学中鸟扇动翅膀飞行、鱼摆动尾巴游动等。

动网格内部网格节点再生方法有三种:铺层(Layering)、弹性光顺(Spring Smoothing)和局部重构(Local Remeshing)。其中局部网格重构的条件是三角形和四面体网格的扭曲率或尺寸超过用户设定的标准,局部网格节点和体网格消除或增加,进而实现网格的重构。

Fluent中边界运动可分为两种:一是刚体相对于其重心的速度或者角速度随时间的变化规律已知的运动;二是刚体相对于其重心的速度或者角速度随时间变化规律未知,线速度或角速度由作用于刚体上的力的平衡计算求得。对于第二种情况,即刚体运动速度或角速度随时间变化规律未知的情形,目前该方面的介绍非常少,即使是在Fluent的帮助文档中,也未对此类动网格究竟如何实现给予详细说明。故导致普通用户不能很方便的使用此方法进行相应计算,或者计算出来的结果与实验结果差别较大却找不到原因。



技术实现要素:

本发明为克服上述现有技术所述的至少一种缺陷,提供一种刚体运动速度随时间变化规律未知且采用网格重构这一网格再生方法的边界更新计算方法,该方法可有效计算刚体运动速度随时间变化规律未知的刚体边界,并使得计算结果与输出结果和实验结果相吻合,还可有效缩短调试时间,减少工程周期,节约调试成本。

为解决上述技术问题,本发明的技术方案如下:

一种动网格边界更新计算方法,用于刚体运动速度随时间变化规律未知且采用网格重构这一网格再生方法的边界更新计算,包括以下步骤:

S1:依据所要计算的问题如电液阀、自由活塞发动机等的设计图纸建立三维仿真模型,并确定三维仿真模型的计算参数;

S2:对建立好的三维仿真模型进行网格划分;

S3:依据实际情况设置好边界条件和初始值,并使用Fluent UDF编写刚体运动规律;

UDF(User Defined Function,用户自定义函数)是用户自己编写的一个函数,可以和Fluent动态链接。可以用于被ANSYS FLUENT求解器动态加载以增强其标准功能的C语言程序。UDF归根结底是一段C语言代码,但是需要在FLUENT规定的框架范围内去定义,这样才能够被FLUENT认可并在其加载后以提供标准程序所不具备的功能。

在编写Fluent UDF时,液体作用在阀芯上的力,利用begin_f_loop(f,t)和end_f_loop(f,t)对阀芯截面的网格进行遍历;并读取上一计算步长后阀芯速度、位移、迭代次数等,通过fopen和fclose打开和关闭该文档,以便把所需重要信息生成TXT文件并保存。在这里尤其需要注意的是:阀芯位移是通过对速度进行积分获取,而速度是通过对加速度积分获得,而内部网格重构需要调用UDF一次,所以需要判断调用UDF是用来进行外部的宏观位移计算还是只是用来进行内部的网格重构,若只是用来进行内部的网格重构,则此次调用UDF计算得到的位移不得累加在阀芯的位移上。

S4:运行Fluent软件,载入划分好的网格和编写好的Fluent UDF,设定Fluent中的求解参数,用有限体积法对刚体运动进行求解,得到刚体运动仿真模型的运行结果。

在一种优选的方案中,所述步骤S1中,要计算的问题为电液阀动网格边界更新问题,在建立三维仿真模型时,对电液阀实体进行简化,忽略阀芯与阀壁之间的间隙及阀芯顶部倒角,确定三维仿真模型的计算参数包括初始化电流曲线、阀芯初速度、初位移。对于像电液阀这样复杂的结构完全按照其实体形状进行建模非常困难,也无必要,在保证不影响计算结果的前提下,对电液阀实体进行适当简化,以简化建模过程。

在一种优选的方案中,所述步骤S2中,将建立好的三维仿真模型导入到Gambit网格划分软件中进行网格划分,网格划分采用非结构四面体网格,为提高计算精度对边缘进行适当网格加密。

在一种优选的方案中,步骤S3中,所述刚体为阀芯,在编写刚体运动规律时,由于阀芯等刚体的往复运动不受任何机械结构约束,而由其所受的合外力决定,其运动可由牛顿第二定律描述,刚体运动规律表示为:

<mrow> <msub> <mi>m</mi> <mi>p</mi> </msub> <mfrac> <mrow> <msup> <mi>d</mi> <mn>2</mn> </msup> <mi>x</mi> </mrow> <mrow> <msup> <mi>dt</mi> <mn>2</mn> </msup> </mrow> </mfrac> <mo>=</mo> <msub> <mi>F</mi> <mi>p</mi> </msub> <mo>-</mo> <msub> <mi>F</mi> <mi>e</mi> </msub> <mo>-</mo> <msub> <mi>F</mi> <mi>s</mi> </msub> <mo>-</mo> <msub> <mi>F</mi> <mi>f</mi> </msub> </mrow>

其中,mp为运动组件质量总和,其单位为kg;Fp为阀内液体作用在阀芯上的作用力,Fe为电磁推力,Fs为弹簧弹力,Ff为刚体运动过程中的摩擦力。

在一种优选的方案中,步骤S4中,阀内液体作用在阀芯上的作用力Fp计算公式如下:

Fp=pAp

式中,p为阀内压力(Pa);Ap为阀芯顶部面积向量(m2)。

在一种优选的方案中,步骤S4中,电磁推力Fe计算公式如下:

Fe=kii

式中:ki为直线电机推力常数,i为电枢内瞬时电流(A)。

在一种优选的方案中,步骤S4中,弹簧弹力Fs计算公式如下:

Fs=ks(x-xs)

式中:ks为弹簧刚度;x为弹簧位移(m);xs为弹簧自由状态时阀芯位移(m)。

在一种优选的方案中,步骤S4中,刚体运动过程中的摩擦力Ff计算公式如下:

<mrow> <msub> <mi>F</mi> <mi>f</mi> </msub> <mo>=</mo> <msub> <mi>k</mi> <mi>f</mi> </msub> <mfrac> <mrow> <mi>d</mi> <mi>x</mi> </mrow> <mrow> <mi>d</mi> <mi>t</mi> </mrow> </mfrac> <mo>+</mo> <msub> <mi>F</mi> <mi>a</mi> </msub> </mrow>

式中:kf为粘性摩擦系数,Fa为与运动速度无关的滑动摩擦力(N)。

在一种优选的方案中,步骤S4中,对刚体运动进行求解包括以下步骤:

计算阀内液体作用在阀芯上的作用力Fp、电磁推力Fe、弹簧弹力Fs、刚体运动过程中的摩擦力Ff

依据计算加速度;

对加速度积分求速度;

对速度积分求阀芯位移;

动网格更新。

在一种优选的方案中,步骤S4中,在网格更新时选择了网格重构这一网格再生方法时,运行一个时间步长,UDF调用两次。

与现有技术相比,本发明技术方案的有益效果是:本发明公开一种动网格边界更新计算方法,用于刚体运动速度随时间变化规律未知且采用网格重构这一网格再生方法的边界更新计算,包括以下步骤:S1:依据所要计算的问题的设计图纸建立三维仿真模型,并确定三维仿真模型的计算参数;S2:对建立好的三维仿真模型进行网格划分;S3:依据实际情况设置好边界条件和初始值,并使用Fluent UDF编写刚体运动规律;S4:运行Fluent软件,载入划分好的网格和编写好的Fluent UDF,设定Fluent中的求解参数,用有限体积法对刚体运动进行求解,得到刚体运动仿真模型的运行结果。本发明提供一种刚体运动速度随时间变化规律未知且采用网格重构这一网格再生方法的边界更新计算方法,该方法可有效计算刚体运动速度随时间变化规律未知的刚体边界,并使得计算结果与输出结果和实验结果相吻合,还可有效缩短调试时间,减少工程周期,节约调试成本。

附图说明

图1为本发明动网格边界更新计算方法的流程图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1所示,一种动网格边界更新计算方法,用于刚体运动速度随时间变化规律未知且采用网格重构这一网格再生方法的边界更新计算,包括以下步骤:

S1:依据所要计算的问题如电液阀、自由活塞发动机等的设计图纸建立三维仿真模型,并确定三维仿真模型的计算参数;

本实施例中,要计算的问题为电液阀动网格边界更新问题,在建立三维仿真模型时,对电液阀实体进行简化,忽略阀芯与阀壁之间的间隙及阀芯顶部倒角,确定三维仿真模型的计算参数包括初始化电流曲线、阀芯初速度、初位移。对于像电液阀这样复杂的结构完全按照其实体形状进行建模非常困难,也无必要,在保证不影响计算结果的前提下,对电液阀实体进行适当简化,以简化建模过程。

S2:对建立好的三维仿真模型进行网格划分,具体为:

将建立好的三维仿真模型导入到Gambit网格划分软件中进行网格划分,网格划分采用非结构四面体网格,为提高计算精度对边缘进行适当网格加密。

S3:依据实际情况设置好边界条件和初始值,并使用Fluent UDF编写刚体运动规律;

所述刚体为阀芯,在编写刚体运动规律时,由于阀芯等刚体的往复运动不受任何机械结构约束,而由其所受的合外力决定,其运动可由牛顿第二定律描述,刚体运动规律表示为:

<mrow> <msub> <mi>m</mi> <mi>p</mi> </msub> <mfrac> <mrow> <msup> <mi>d</mi> <mn>2</mn> </msup> <mi>x</mi> </mrow> <mrow> <msup> <mi>dt</mi> <mn>2</mn> </msup> </mrow> </mfrac> <mo>=</mo> <msub> <mi>F</mi> <mi>p</mi> </msub> <mo>-</mo> <msub> <mi>F</mi> <mi>e</mi> </msub> <mo>-</mo> <msub> <mi>F</mi> <mi>s</mi> </msub> <mo>-</mo> <msub> <mi>F</mi> <mi>f</mi> </msub> </mrow>

其中,mp为运动组件质量总和,其单位为kg;Fp为阀内液体作用在阀芯上的作用力,Fe为电磁推力,Fs为弹簧弹力,Ff为刚体运动过程中的摩擦力。

阀内液体作用在阀芯上的作用力Fp计算公式如下:

Fp=pAp

p为阀内压力(Pa);Ap为阀芯顶部面积向量(m2)。

电磁推力Fe计算公式如下:

Fe=kii

式中:ki为直线电机推力常数,i为电枢内瞬时电流(A)。

弹簧弹力Fs计算公式如下:

Fs=ks(x-xs)

式中:ks为弹簧刚度;x为弹簧位移(m);xs为弹簧自由状态时阀芯位移(m)。

刚体运动过程中的摩擦力Ff计算公式如下:

<mrow> <msub> <mi>F</mi> <mi>f</mi> </msub> <mo>=</mo> <msub> <mi>k</mi> <mi>f</mi> </msub> <mfrac> <mrow> <mi>d</mi> <mi>x</mi> </mrow> <mrow> <mi>d</mi> <mi>t</mi> </mrow> </mfrac> <mo>+</mo> <msub> <mi>F</mi> <mi>a</mi> </msub> </mrow>

式中:kf为粘性摩擦系数,Fa为与运动速度无关的滑动摩擦力(N)。

在编写Fluent UDF时,液体作用在阀芯上的力,利用begin_f_loop(f,t)和end_f_loop(f,t)对阀芯截面的网格进行遍历;并读取上一计算步长后阀芯速度、位移、迭代次数等,通过fopen和fclose打开和关闭该文档,以便把所需重要信息生成TXT文件并保存。在这里尤其需要注意的是:阀芯位移是通过对速度进行积分获取,而速度是通过对加速度积分获得,而内部网格重构需要调用UDF一次,所以需要判断调用UDF是用来进行外部的宏观位移计算还是只是用来进行内部的网格重构,若只是用来进行内部的网格重构,则此次调用UDF计算得到的位移不得累加在阀芯的位移上。

S4:运行Fluent软件,载入划分好的网格和编写好的Fluent UDF,设定Fluent中的求解参数,用有限体积法对刚体运动进行求解,得到刚体(阀芯)运动仿真模型的运行结果。运行Fluent软件,载入划分好的网格和编写好的Fluent UDF,设定Fluent中的求解参数:湍流模型选用收敛性好的Realizable k-ε模型,控制方程为能量方程Navier-Stokes,用有限体积法对刚体运动进行求解,得到阀体或活塞运动三维仿真模型的运行结果;得到所选定截面位移、瞬时平均速度、瞬时平均压力等参数。

对刚体运动进行求解包括以下步骤:

计算阀内液体作用在阀芯上的作用力Fp、电磁推力Fe、弹簧弹力Fs、刚体运动过程中的摩擦力Ff

依据计算加速度;

对加速度积分求速度;

对速度积分求阀芯位移;

动网格更新。

在具体实施过程中,在网格更新时选择了网格重构这一网格再生方法时,运行一个时间步长,UDF调用两次。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1