流固耦合仿真过程中流体域与固体域间数据传递的方法

专利查询1月前  13



1.本发明涉及叶轮机械流固耦合仿真技术领域,特别是指一种流固耦合仿真过程中流体域与固体域间数据传递的方法。


背景技术:

2.流固耦合仿真过程中,数据在流体界面和固体界面间的准确传递是一个关键环节。但是在流固耦合仿真过程中流体域和固体域的网格通常各自单独生成,这就导致在流体域和固体域交界面处两侧网格节点不匹配,需要进行数据的传递,这就要用到数据映射/插值技术。数据映射方法的优劣直接影响到数据传递的保真度,进而影响到仿真结果的准确性。
3.现有技术中,以流体域数据向固体域数据传递为例,通常的做法是:在流固交界面搜寻与目标固体节点最近的流体节点,然后将流体节点的值赋给目标固体节点。进一步的改进方法是:搜寻与目标固体节点最近的若干个流体节点,然后计算得到对应的形函数,最后加权得到目标固体节点的数据。
4.上述方法中需要提供的数据包括:流体域在交界面处的网格节点坐标和对应数据,固体域在交界面处的网格节点坐标。通常情况下,上述方法都能得到较好的插值精度。但是在叶轮机械领域,当叶片的厚度较小,同时交界面处流体域与固体域网格尺度相差较大时(如图1所示),这时找到的最近节点可能位于叶片的另一侧壁面上(如图2所示),因此难以得到较好的插值精度,甚至得到错误的结果。
5.需要说明的是,叶轮机械领域,尤其是在叶片或其它薄壁结构的表面,流体域与固体域的数据传递有其特殊性:由于一些结构很薄,当网格尺度不够时,很可能距离目标网格节点最近的网格节点位于结构的另一侧表面上,这会导致错误的数据被传递到目标节点上。而减小网格尺度增加网格数量又会显著增加计算成本。因此,如何有效、准确的进行薄叶片/薄壁结构表面流固网格间数据传递,目前还没有较好的解决方案。


技术实现要素:

6.本发明要解决的技术问题是提供一种流固耦合仿真过程中流体域与固体域间数据传递的方法,能够有效、准确的进行薄叶片/薄壁结构表面流固网格间数据传递。
7.为解决上述技术问题,本发明提供技术方案如下:
8.一种流固耦合仿真过程中流体域与固体域间数据传递的方法,包括:
9.步骤1:获取流固耦合交界面已知数据侧的数据信息,形成已知数据集;
10.步骤2:获取流固耦合交界面未知数据侧的数据信息,形成未知数据集;
11.步骤3:在未知数据集中选取一个目标节点;
12.步骤4:通过运算找到已知数据集中距离目标节点最近的节点作为节点1,并记录其节点编号、坐标和数据;
13.步骤5:根据节点1的节点编号并结合其单元编号信息找到包含节点1的所有单元
作为单元集1;
14.步骤6:在单元集1包含的所有节点中查找除节点1以外的距离目标节点最近的节点作为节点2,并记录其节点编号、坐标和数据;
15.步骤7:根据节点1和节点2的节点编号并结合其单元编号信息找到包含节点1和节点2的所有单元作为单元集2;
16.步骤8:在单元集2包含的所有节点中查找除节点1和节点2以外的距离目标节点最近的节点作为节点3,并记录其节点编号、坐标和数据;
17.步骤9:判断目标节点到节点1、2、3所在平面的距离d,若d大于预设阈值,则将节点1移除已知数据集,重新执行步骤4-9;否则,执行步骤10;
18.步骤10:利用已知数据集中节点1、2、3的数据或节点1、2、3所在单元计算目标节点数据;
19.步骤11:恢复已知数据集中所有数据;
20.步骤12:在未知数据集中选取下一个目标节点,重复步骤4-11,直至未知数据集中所有节点均获得对应数据信息。
21.进一步的,所述步骤9包括:若移除节点数达到预设个数,则提高所述预设阈值,恢复已知数据集中所有数据,重新执行步骤4-9。
22.进一步的,所述步骤10包括:
23.步骤101:根据目标节点和节点1、2、3的数据,或者根据目标节点和节点1、2、3所在单元中的节点数据,确定形函数;
24.步骤102:基于形函数和节点1、2、3,或者基于形函数和节点1、2、3所在单元中的节点数据,计算目标节点的数据。
25.进一步的,所述步骤102中,目标节点的数据:
[0026][0027]
其中,pi是待求参数,nj和pj分别是所选节点中第j个节点的形函数和参数,m为所选节点个数。
[0028]
进一步的,所述方法还包括:
[0029]
步骤13:校验数据传递结果是否准确,若准确,执行步骤14;
[0030]
步骤14:输出得到的未知数据集中数据。
[0031]
进一步的,所述步骤13包括:若不准确,则减小所述预设阈值,返回步骤3。
[0032]
进一步的,所述步骤13中,数据传递结果是否准确的校验方法为:
[0033]
利用节点编号、坐标和单元编号将得到的未知数据集中数据画成云图,与已知数据集中数据云图进行比较,校验得到的数据是否准确;
[0034]
或者,以未知数据侧节点集,包括步骤12得到的未知数据集中数据作为已知数据集,另一侧作为未知数据集,通过上述步骤1-12得到该另一侧重新计算出的数据,然后与该另一侧已知数据进行比较,若两者之间的差值满足精度要求,则数据传递结果准确。
[0035]
本发明具有以下有益效果:
[0036]
现有数据映射技术若想实现薄叶片/薄壁结构表面流体域与固体域之间数据的准
确传递,需要保证两侧有足够的网格密度,即相对叶片的厚度尺度,网格尺度要充分的小,这无疑会显著增加仿真的计算成本。与现有技术相比,本发明的流固耦合仿真过程中流体域与固体域间数据传递的方法,能够有效、准确的进行薄叶片/薄壁结构表面流固网格间数据传递,可以实现在任意网格尺度下数据的准确传递,并且不显著增加数据映射的时间(与增加网格数导致的计算时间增加相比,数据映射时间是很短的)。
附图说明
[0037]
图1为现有技术中示例叶片的流固交界面表面流体域和固体域的网格示意图;
[0038]
图2为现有技术中插值技术应用于薄叶片/薄壁结构中可能存在的问题示意图;
[0039]
图3为本发明的流固耦合仿真过程中流体域与固体域间数据传递的方法的流程图;
[0040]
图4为本发明的流固耦合仿真过程中流体域与固体域间数据传递的方法的一个实施例的流程图;
[0041]
图5为本发明与现有技术针对薄叶片表面数据的插值结果对比图。
具体实施方式
[0042]
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0043]
本发明提供一种流固耦合仿真过程中流体域与固体域间数据传递的方法,如图3所示,包括:
[0044]
步骤1:获取流固耦合交界面(数据映射界面)已知数据侧的数据信息,形成已知数据集;
[0045]
步骤2:获取流固耦合交界面未知数据侧的数据信息,形成未知数据集;
[0046]
步骤3:在未知数据集中选取一个目标节点;
[0047]
步骤4:通过运算找到已知数据集中距离目标节点最近的节点作为节点1,并记录其节点编号、坐标和数据;
[0048]
步骤5:根据节点1的节点编号并结合其单元编号信息找到包含节点1的所有单元作为单元集1;
[0049]
步骤6:在单元集1包含的所有节点中查找除节点1以外的距离目标节点最近的节点作为节点2,并记录其节点编号、坐标和数据;
[0050]
步骤7:根据节点1和节点2的节点编号并结合其单元编号信息找到包含节点1和节点2的所有单元作为单元集2;
[0051]
步骤8:在单元集2包含的所有节点中查找除节点1和节点2以外的距离目标节点最近的节点作为节点3,并记录其节点编号、坐标和数据;
[0052]
步骤9:判断目标节点到节点1、2、3所在平面的距离d,若d大于预设阈值,则将节点1移除已知数据集,重新执行步骤4-9;否则,执行步骤10;
[0053]
本步骤中,通过合理选择预设阈值,可以有效地保证目标节点和所选节点位于叶片同一侧,进而保证数据传递的准确性;预设阈值可以设为薄叶片/薄壁结构的最大厚度10%,这一数值根据情况而定,亦可通过多次尝试找到合适阈值。
[0054]
作为一种可选的实施例,该步骤9可以包括:
[0055]
若移除节点数达到预设个数,则提高所述预设阈值,恢复已知数据集中所有数据,重新执行步骤4-9。
[0056]
本实施例中,预设个数可以根据需要灵活设置,例如可以设置为已知数据集中所有节点的数量,然而为提高运算效率,优选小于已知数据集中所有节点的数量,例如可以设置为8个、9个、10个等。
[0057]
步骤10:利用已知数据集中节点1、2、3的数据或节点1、2、3所在单元计算目标节点数据;
[0058]
作为一种可选的实施例,本步骤10优选包括:
[0059]
步骤101:根据目标节点和节点1、2、3的数据,或者根据目标节点和节点1、2、3所在单元中的节点数据,确定形函数;
[0060]
若采用节点1、2、3的数据,则形函数可表示如下:
[0061][0062]
其中,n1、n2和n3分别是节点1、2和3的形函数,s1是目标节点i在节点1、2、3构成平面中的投影点i’与节点2和3围成三角形的面积,s2是目标节点i在节点1、2、3构成平面中的投影点i’与节点1和3围成三角形的面积,s3是目标节点i在节点1、2、3构成平面中的投影点i’与节点1和2围成三角形的面积,s=s1+s2+s3。
[0063]
若采用节点1、2、3所在单元中的节点数据(既可以是单元中的所有节点即下式中的8个节点,也可以是单元中的部分节点),形函数可表示为:
[0064][0065]
其中,s、t、r是目标节点i在单元内的局部坐标,对于结构单元内或单元表面的任一点均有-1≤r,s,t≤1。
[0066]
步骤102:基于形函数和节点1、2、3,或者基于形函数和节点1、2、3所在单元中的节点数据,计算目标节点的数据。
[0067]
本步骤中,目标节点i的数据的计算公式可以如下:
[0068][0069]
其中,pi是待求参数,nj和pj分别是所选节点中第j个节点的形函数和参数(已知),
m为所选节点个数。
[0070]
步骤11:恢复已知数据集中所有数据;
[0071]
本步骤中,即是将已移除的节点数据恢复至已知数据集中。
[0072]
步骤12:在未知数据集中选取下一个目标节点,重复步骤4-11,直至未知数据集中所有节点均获得对应数据信息。
[0073]
为提高数据传递的准确性,作为一种可选的实施例,上述方法还可以包括:
[0074]
步骤13:校验数据传递结果是否准确,若准确,执行步骤14;
[0075]
步骤14:输出得到的未知数据集中数据。
[0076]
优选的,上述步骤13包括:
[0077]
若不准确,则减小所述预设阈值,返回步骤3。
[0078]
并且,上述步骤13中,数据传递结果是否准确的校验方法可以有如下两种校验方法:
[0079]
一种校验方法是:利用节点编号、坐标和单元编号将得到的未知数据集中数据画成云图,与已知数据集中数据云图进行比较,校验得到的数据是否准确;
[0080]
另一种校验方法是:以未知数据侧节点集,包括步骤12得到的未知数据集中数据作为已知数据集,另一侧作为未知数据集,通过上述步骤1-12所述方式得到该另一侧重新计算出的数据,然后与该另一侧已知数据进行比较,若两者之间的差值满足精度要求,则数据传递结果准确。
[0081]
本发明的流固耦合仿真过程中流体域与固体域间数据传递的方法,与现有技术相比,能够有效、准确的进行薄叶片/薄壁结构表面流固网格间数据传递,可以实现在任意网格尺度下数据的准确传递,并且不显著增加数据映射的时间(与增加网格数导致的计算时间增加相比,数据映射时间是很短的)。
[0082]
下面以一个具体的例子对本发明的流固耦合仿真过程中流体域与固体域间数据传递的方法进行详细说明。
[0083]
如图4所示,以流体域压力数据向固体域传递为例,本发明提供一种薄叶片在流固耦合仿真过程中流体域与固体域交界面的数据传递方法,包括如下步骤:
[0084]
步骤1:提取流体域一侧的数据(已知数据侧),包括节点编号、坐标、压力和单元编号,形成已知数据集;
[0085]
步骤2:提取固体域一侧的节点坐标(未知数据侧),形成未知数据集;
[0086]
步骤3:在流固耦合交界面固体域侧节点中选取一个目标节点i;
[0087]
步骤4:计算该目标节点i到流体域侧数据集中每一个节点的距离,找到距离目标节点i最近的流体节点(称其为节点1),并记录其节点编号、坐标和压力;
[0088]
步骤5:根据节点1的编号信息并结合单元编号信息找到包含节点1的所有流体单元(称其为单元集1);
[0089]
步骤6:在单元集1包含的所有流体节点中查找除节点1以外的距离目标节点i最近的节点(称其为节点2),并记录其节点编号、坐标和压力;
[0090]
步骤7:根据节点1和节点2的编号信息并结合单元编号信息找到包含节点1和节点2的所有流体单元(称其为单元集2);
[0091]
步骤8:在单元集2包含的所有流体节点中查找除节点1和节点2以外的距离目标节
点i最近的节点(称其为节点3),并记录其节点编号、坐标和压力;
[0092]
步骤9:判断目标节点到流体节点1、2、3所在平面的距离d,若d大于预设阈值,则将节点1移除流体域侧数据集,重新执行步骤4-9;否则,执行步骤10;若遍历流体域数据集中所有节点(这里其实不需要遍历,更高效的,可以设置一个界限,比如当移除节点数达到10个时)得到的距离仍大于预设阈值,则重新选择一个更大的阈值,恢复已知数据集中所有数据,重新执行步骤4-9;
[0093]
本步骤中,预设阈值用于判断目标固体节点是否位于所选流体节点构成的平面上。在本实施例中,初始阈值可以选为叶尖最大厚度的10%(这一数值根据情况而定,亦可通过多次尝试找到合适阈值,并不限制在10%叶尖最大厚度)。
[0094]
步骤10:利用流体节点1、2、3的压力加权计算得到目标节点i的压力,本步骤10具体包括以下步骤:
[0095]
步骤101:根据目标节点i和节点1、2、3的坐标得到形函数如下:
[0096][0097]
其中,li表示是节点i和j间线段长度。
[0098]
步骤102:基于形函数和节点1、2、3的压力结果计算目标节点i的压力:
[0099][0100]
其中,pi是目标节点i的压力,nj和pj分别是节点1、2、3对应的形函数和压力(已知)。
[0101]
步骤11:恢复流体域数据集中所有数据;
[0102]
步骤12:在固体域侧选取下一个目标节点,重复步骤4-11,直至得到固体域侧所有节点的压力;
[0103]
步骤13:校验得到的固体域节点压力是否准确,若存在失真情况,则重新选择一个更小的预设阈值,返回步骤3;
[0104]
本步骤中,一种校验方法是:利用节点编号、坐标和单元编号将得到的固体域压力画成如图5所示云图,与流体域压力云图比较,校验得到的压力是否准确;另一种更精确的校验的方法是:以流固耦合交界面流体域侧节点集作为未知数据集,以固体域侧节点集,包括得到的压力数据作为已知数据集,通过上述步骤1-12所述方式得到流体域侧节点压力,然后与已知流体域侧节点压力比较,若得到的流体域节点压力与已知流体域节点压力差值满足精度要求,则证明上述得到的固体域侧节点压力是准确的。实际校验方法包括但不限
于上述两种校验方式。
[0105]
步骤14:输出得到固体域侧节点压力。
[0106]
图5为本实施例与现有技术针对薄叶片表面数据的插值结果对比图,由图5可以明显看出本实施例结果比现有结果更接近已知数据结果。
[0107]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:
1.一种流固耦合仿真过程中流体域与固体域间数据传递的方法,其特征在于,包括:步骤1:获取流固耦合交界面已知数据侧的数据信息,形成已知数据集;步骤2:获取流固耦合交界面未知数据侧的数据信息,形成未知数据集;步骤3:在未知数据集中选取一个目标节点;步骤4:通过运算找到已知数据集中距离目标节点最近的节点作为节点1,并记录其节点编号、坐标和数据;步骤5:根据节点1的节点编号并结合其单元编号信息找到包含节点1的所有单元作为单元集1;步骤6:在单元集1包含的所有节点中查找除节点1以外的距离目标节点最近的节点作为节点2,并记录其节点编号、坐标和数据;步骤7:根据节点1和节点2的节点编号并结合其单元编号信息找到包含节点1和节点2的所有单元作为单元集2;步骤8:在单元集2包含的所有节点中查找除节点1和节点2以外的距离目标节点最近的节点作为节点3,并记录其节点编号、坐标和数据;步骤9:判断目标节点到节点1、2、3所在平面的距离d,若d大于预设阈值,则将节点1移除已知数据集,重新执行步骤4-9;否则,执行步骤10;步骤10:利用已知数据集中节点1、2、3的数据或节点1、2、3所在单元计算目标节点数据;步骤11:恢复已知数据集中所有数据;步骤12:在未知数据集中选取下一个目标节点,重复步骤4-11,直至未知数据集中所有节点均获得对应数据信息。2.根据权利要求1所述的方法,其特征在于,所述步骤9包括:若移除节点数达到预设个数,则提高所述预设阈值,恢复已知数据集中所有数据,重新执行步骤4-9。3.根据权利要求1所述的方法,其特征在于,所述步骤10包括:步骤101:根据目标节点和节点1、2、3的数据,或者根据目标节点和节点1、2、3所在单元中的节点数据,确定形函数;步骤102:基于形函数和节点1、2、3,或者基于形函数和节点1、2、3所在单元中的节点数据,计算目标节点的数据。4.根据权利要求3所述的方法,其特征在于,所述步骤102中,目标节点的数据:其中,p
i
是待求参数,n
j
和p
j
分别是所选节点中第j个节点的形函数和参数,m为所选节点个数。5.根据权利要求1-4中任一所述的方法,其特征在于,还包括:步骤13:校验数据传递结果是否准确,若准确,执行步骤14;步骤14:输出得到的未知数据集中数据。6.根据权利要求5所述的方法,其特征在于,所述步骤13包括:若不准确,则减小所述预设阈值,返回步骤3。
7.根据权利要求6所述的方法,其特征在于,所述步骤13中,数据传递结果是否准确的校验方法为:利用节点编号、坐标和单元编号将得到的未知数据集中数据画成云图,与已知数据集中数据云图进行比较,校验得到的数据是否准确;或者,以未知数据侧节点集,包括步骤12得到的未知数据集中数据作为已知数据集,另一侧作为未知数据集,通过上述步骤1-12得到该另一侧重新计算出的数据,然后与该另一侧已知数据进行比较,若两者之间的差值满足精度要求,则数据传递结果准确。

技术总结
本发明公开了一种流固耦合仿真过程中流体域与固体域间数据传递的方法,属于叶轮机械流固耦合仿真技术领域,所述方法包括:获取流固耦合交界面已知数据侧的数据信息,形成已知数据集;获取流固耦合交界面未知数据侧的数据信息,形成未知数据集;在未知数据集中选取一个目标节点;找到已知数据集中距离目标节点最近的三个节点1、2、3;判断目标节点到节点1、2、3所在平面的距离d,若d小于等于预设阈值,计算目标节点数据;在未知数据集中选取下一个目标节点,重复上述步骤,直至未知数据集中所有节点均获得对应数据信息。本发明可以实现在任意网格尺度下数据的准确传递,并且不显著增加数据映射的时间。据映射的时间。据映射的时间。


技术研发人员:蒋向华 韩乐 王延荣 魏大盛 余永博 房明昌
受保护的技术使用者:北京航空航天大学
技术研发日:2021.11.09
技术公布日:2022/3/8

最新回复(0)