一种用于有限体积法的单元界面生成方法转让专利

申请号 : CN201911010762.9

文献号 : CN110781623B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 栗建桥宁建国马天宝任会兰李健

申请人 : 北京理工大学

摘要 :

本发明涉及一种用于有限体积发的单元界面生成方法,属于计算爆炸力学领域。包括步骤:1、针对待进行仿真分析的仿真模型,根据单元形状生成每个单元独立的界面;2、以仿真模型计算域中所有网格节点的包围盒为外边界,划分树形区域,生成树的各层节点,分配节点信息;3、遍历所生成树的所有叶子节点,获取叶子节点中单元界面个数;4、收集所有单元界面信息,并删除合并后多余单元独立界面信息;进行有限体积方法中的通量计算,得到单元求解自由度的结果,实现爆炸流场的计算。该方法计算效率高,是实现高效有限体积计算的关键技术之一,能够提高武器和防护工程设计的效率,缩短设计周期,节约设计成本,在工程设计中具有重要应用价值。

权利要求 :

1.一种用于有限体积法的单元界面生成方法,其特征在于包括以下步骤:步骤1、对于待进行仿真分析的仿真模型,根据单元形状生成每个单元独立的界面;

对于两个四面体单元i和j来说,假定某一个面m既是i的一个面也是j的一个面,此时m面的所有的3个顶点既位于单元i中,也位于单元j中;面m即需要给出的单元i和j的单元界面;生成单元独立的界面即为单元i生成4个面,为单元j生成4个面,单元i中生成的单元面中有一个面mi与面m具有相同的3个顶点,单元j中生成的单元面中有一个面mj与面m具有相同的3个顶点;虽然面mi和mj实际上是同一个面,但保存面信息时将作为两个分别属于单元i和单元j的独立面保存,此过程即为根据单元形状生成每个单元独立的界面;

步骤2、以仿真模型计算域中所有网格节点的包围盒为外边界,划分树形区域,得到每个叶子节点中包含的单元独立界面,若仿真模型为二维模型,则采用四叉树划分树形区域,若仿真模型为三维模型,则采用八叉树划分树形区域;

步骤3、遍历所有叶子节点,若叶子节点中仅有一个单元独立界面,则该单元独立界面即为一个单元界面,且为单元的一个边界界面,若叶子节点中有两个单元独立界面,则将第二个单元独立界面所属单元信息填入第一个单元独立界面,并以第一个单元独立界面作为一个单元界面;

步骤4、收集所有单元界面信息,并删除多余单元独立界面信息,所收集的单元界面信息即为有限体积法求解过程中需要的所有单元界面;利用生成的单元界面,进行有限体积方法中的通量计算,通过单元界面上流通量计算结果,得到单元求解自由度的结果,从而实现爆炸流场的计算,获得爆炸产生的物理效果的仿真结果,为武器和防护工程设计提供设计依据。

2.根据权利要求1所述的一种用于有限体积法的单元界面生成方法,其特征在于,所述步骤1包括以下步骤:

步骤101、对于四面体单元i将要生成的第n个单元独立界面mi,根据单元形状信息,获得第n个单元独立界面mi所包含的所有3个节点在单元中的局部索引号n1、n2和n3;

步骤102、通过单元局部节点索引号n1、n2和n3从单元存储的节点列表中获得3个节点v1、v2和v3的信息;

步骤103、通过节点v1、v2和v3生成四面体单元i的第n个三角形单元独立界面mi,以节点v1、v2和v3作为所生成三角形单元独立界面mi的3个顶点;

步骤104、将单元i记为单元独立界面mi的左单元,并记录在单元独立界面mi包含的信息中。

3.根据权利要求1所述的一种用于有限体积法的单元界面生成方法,其特征在于,所述的步骤3包括:

步骤301、针对二维情况,以所有节点的包围盒作为划分树形区域的边界,即为第0层树节点的边界;

步骤302、以四叉树方法划分树形区域,将第0层树节点边界均分为4个象限;

步骤303、遍历第0层树节点所包含的所有单元独立界面,得到每个象限所包含的单元独立界面;

步骤304、将第0层树节点的四个象限中包含单元独立界面的象限作为第0层树节点的一个子节点,记为第1层树节点,第0层树节点包含了3个第1层树节点,分别是:右上方为11树节点,左下方为12树节点,右下方为13树节点,每个子节点的边界即为对应象限的边界;

步骤305、遍历所有第1层树节点,当节点中仅包含1个单元独立界面或者2个单元独立界面时,停止对该节点的继续划分,第11和第13树节点停止划分,作为第0层树节点的叶子节点;

步骤306、以第12树节点的边界作为划分树形区域的边界,均匀划分为4个象限,遍历第

12树节点中包含的所有单元独立界面,分别得到4个象限所包含的单元独立界面信息,采用与步骤304相同的记录方式,得到第12树节点仅有1个子节点位于第12树节点边界的右下方区域,记为第1223树节点,其边界为第12树节点区域对应象限的边界;

步骤307、遍历第1223树节点中的单元独立界面数量为4个,以第1223树节点的边界作为划分树形区域的边界,均匀划分4个象限,遍历第1223树节点中包含的所有单元独立界面,分别得到4个象限所包含的单元独立界面信息,采用与步骤304相同的记录方式,得到第

1223树节点有3个子节点,分别为第122330位于第1223树节点区域的左上方,第122331位于第1223树节点区域的右上方,第122333位于第1223树节点区域的右下方;

步骤308、分别遍历第122330树节点、第122331树节点和第122333树节点中的单元独立界面,树节点中的单元独立界面数均小于3,满足停止划分树形区域条件,第122330、

122331、122333树节点作为第1223树节点的叶子节点。

说明书 :

一种用于有限体积法的单元界面生成方法

技术领域

[0001] 本发明属于计算爆炸力学领域,涉及一种用于有限体积法的单元界面生成方法。

背景技术

[0002] 爆炸流场数值模拟广泛应用于武器和防护工程设计领域,是计算爆炸力学领域中的重要分析方法,是国防制造业数字化的核心技术。在爆炸流场数值模拟中,有限体积法是
最重要的一种数值模拟方法。有限体积法是一种基于单元之间流出流入关系计算单元求解
自由度的数值计算方法。单元界面流出流入的量称之为通量,有限体积方法的通量计算有
很多格式,然而无论何种格式,都需要通过单元之间的界面来计算通量。因此快速有效的单
元界面生成方法是有限体积方法的重要组成部分,在国防工业数字化领域中有着重要的应
用价值。
[0003] 对于有限体积法数值模拟的求解器来说,通常是直接读入前处理软件生成的网格信息来启动计算的。前处理软件根据用户设定的几何参数和网格参数进行网格剖分,将网
格和设置结果保存为文件,求解器读入前处理软件所保存的网格文件,开始计算。而前处理
软件主要是针对有限元方法设计和开发的,有限元方法并不需要通过单元之间的界面进行
计算,因此前处理软件生成的网格文件都不具有单元之间的界面信息,即不会生成某一个
单元包含的交界面以及一个交界面两侧的单元信息。
[0004] 因此,如果通过前处理软件生成的网格文件启动有限体积方法的求解器,必须要通过文件保存的单元和节点信息来生成对应的单元界面信息,即获得单元所包含的交界面
以及单元界面两侧的单元信息。这一过程需要通过一种高效的单元界面生成方法完成,从
而保证爆炸流场数值模拟能够顺利进行,为武器和防护工程设计提供依据,提高设计效率,
节约设计成本,缩短设计周期。

发明内容

[0005] 本发明的目的是为了解决有限元前处理软件生成的网格文件用于有限体积法计算时缺少单元界面信息的难题、为爆炸流场数值模拟提供必要的求解条件,提供一种用于
有限体积法的单元界面生成方法。
[0006] 本发明的目的是通过下述技术方案实现的。
[0007] 一种用于有限体积法的单元界面生成方法,包括以下步骤:
[0008] 步骤1、对于待进行仿真分析的仿真模型,根据单元形状生成每个单元独立的界面。
[0009] 例如,对于两个四面体单元i和j来说,假定某一个面m既是i的一个面也是j的一个面,此时m面的所有的3个顶点既位于单元i中,也位于单元j中。面m即需要给出的单元i和j
的单元界面。生成单元独立的界面即为单元i生成4个面,为单元j生成4个面,单元i中生成
的单元面中有一个面mi与面m具有相同的3个顶点,单元j中生成的单元面中有一个面mj与面
m具有相同的3个顶点。虽然面mi和mj实际上是同一个面,但保存面信息时将作为两个分别属
于单元i和单元j的独立面保存,此过程即为根据单元形状生成每个单元独立的界面。
[0010] 步骤2、以仿真模型计算域中所有网格节点的包围盒为外边界,划分树形区域,得到每个叶子节点中包含的单元独立界面,若仿真模型为二维模型,则采用四叉树划分树形
区域,若仿真模型为三维模型,则采用八叉树划分树形区域。
[0011] 步骤3、遍历所有叶子节点,若叶子节点中仅有一个单元独立界面,则该单元独立界面即为一个单元界面,且为单元的一个边界界面,若叶子节点中有两个单元独立界面,则
将第二个单元独立界面所属单元信息填入第一个单元独立界面,并以第一个单元独立界面
作为一个单元界面。
[0012] 步骤4、收集所有单元界面信息,并删除多余单元独立界面信息,所收集的单元界面信息即为有限体积法求解过程中需要的所有单元界面。利用生成的单元界面,进行有限
体积方法中的通量计算,通过单元界面上流通量计算结果,得到单元求解自由度的结果,从
而实现爆炸流场的计算,获得爆炸产生的物理效果的仿真结果,为武器和防护工程设计提
供设计依据。
[0013] 有益效果
[0014] 本发明能够极大提高武器和防护工程设计的效率。在生成用于有限体积法的单元界面时,本发明首先生成每个单元的单元独立界面,属于单元界面的单元独立界面之间具
有鲜明的搜索特征,即当单元界面为边界界面时,在一个叶子节点上仅有一个单元独立界
面,而当单元界面为内部两个单元的共同界面时,其对应的两个单元独立界面完全重合,其
面心位置也重合,其所属的叶子结点仅有两个重合的单元独立界面。这一特点非常适用于
树形搜索,而以搜索方法来获得单元界面信息具有较高的计算效率,并且其时间复杂度很
低,保证了该方法用于大规模数值模拟时仍具有较高的计算效率。此外,这种单元界面生成
的特征不受限于搜索方法,除了采用本发明所述的四叉树和八叉树方法外,还可以采用更
好效率的树形搜索方法,具有很好的适用性。

附图说明

[0015] 图1为本发明所述的用于有限体积法的单元界面生成方法对应的流程步骤图;
[0016] 图2为本发明所述的单元独立界面以及单元界面的例图;
[0017] 图3为本发明所述的树形区域划分例图;
[0018] 图4为本发明所述的树形区域划分后的树形数据结构例图;
[0019] 图5为本发明分析计算效率所用的网格模型例图。

具体实施方式

[0020] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实
施例,而不是全部的实施例。
[0021] 如图1所示,本发明所述一种用于有限体积法的单元界面生成方法,包括如下步骤:
[0022] (1)、通过网格文件生成单元和节点。网格文件包括了所有节点的编号和位置,以及所有单元的形状、编号、包含节点的编号。根据单元形状,通过所包含的节点编号生成单
元信息,包括单元每个面所包含的节点号。
[0023] (2)、根据单元形状生成单元独立界面。如图2所示,虽然根据上述网格文件读入的信息所生成的两个单元之间具有共同界面,即单元界面m,然而由网格文件已有信息无法直
接得到此单元界面信息,即单元界面m两侧的单元分别为单元i和j以及单元i和j同时含有
单元界面m。但是可以由网格文件已有信息得到单元i具有单元独立界面mi,单元j具有单元
独立界面mj。所述单元界面mi和mj并非是单元i和j所具有的唯一单元独立界面,而是单元i
和j所有单元独立界面中与单元界面m对应的一个单元独立界面。具体的,作为本发明的优
选实例,所述的步骤2包括:
[0024] 步骤201、对于四面体单元i将要生成的第n个单元独立界面mi,根据单元形状信息,获得第n个单元独立界面mi所包含的所有3个节点在单元中的局部索引号n1、n2和n3;
[0025] 步骤202、通过单元局部节点索引号n1、n2和n3从单元存储的节点列表中获得3个节点v1、v2和v3的信息;
[0026] 步骤203、通过节点v1、v2和v3生成四面体单元i的第n个三角形单元独立界面mi,以节点v1、v2和v3作为所生成三角形单元独立界面mi的3个顶点;
[0027] 步骤204、将单元i记为单元独立界面mi的左单元,并记录在单元独立界面mi包含的信息中。
[0028] (3)、针对单元独立界面划分树形区域。当完成步骤2生成所有单元独立界面之后,需要以搜索的方法来找出重合的单元独立界面对,即两个包含完全相同节点的单元独立界
面,此单元独立界面对具有的显著特征为单元独立界面几何中心相重合,符合树形搜索的
要求。具体的,作为本发明的优选实例,所述的步骤3包括:
[0029] 步骤301、如图3所示,针对二维情况,以所有节点的包围盒作为划分树形区域的边界,即为第0层树节点的边界,如图3中最外侧虚线框所示。
[0030] 步骤302、以四叉树方法划分树形区域,将第0层树节点边界均分为4个象限。
[0031] 步骤303、遍历第0层树节点所包含的所有单元独立界面,得到每个象限所包含的单元独立界面。
[0032] 步骤304、将第0层树节点的四个现象中包含单元独立界面的象限作为第0层树节点的一个子节点,记为第1层树节点,图3所示的实例中第0层树节点包含了3个第1层树节
点,分别是:右上方为11树节点,左下方为12树节点,右下方为13树节点,每个子节点的边界
即为对应象限的边界。
[0033] 步骤305、遍历所有第1层树节点,当节点中仅包含1个单元独立界面或者2个单元独立界面时,停止对该节点的继续划分,如图3所示,第11和第13树节点停止划分,作为第0
层树节点的叶子节点。
[0034] 步骤306、以第12树节点的边界作为划分树形区域的边界,均匀划分为4个象限,遍历第12树节点中包含的所有单元独立界面,分别得到4个象限所包含的单元独立界面信息,
采用与步骤304相同的记录方式,得到第12树节点仅有1个子节点位于第12树节点边界的右
下方区域,记为第1223树节点,其边界为第12树节点区域对应象限的边界。
[0035] 步骤307、遍历第1223树节点中的单元独立界面数量为4个,以第1223树节点的边界作为划分树形区域的边界,均匀划分4个象限,遍历第1223树节点中包含的所有单元独立
界面,分别得到4个象限所包含的单元独立界面信息,采用与步骤304相同的记录方式,得到
第1223树节点有3个子节点,分别为第122330位于第1223树节点区域的左上方,第122331位
于第1223树节点区域的右上方,第122333位于第1223树节点区域的右下方。
[0036] 步骤308、分别遍历第122330树节点、第122331树节点和第122333树节点中的单元独立界面,树节点中的单元独立界面数均小于3,满足停止划分树形区域条件,第122330、
122331、122333树节点作为第1223树节点的叶子节点。最终形成的树形结构如图4所示。
[0037] (4)、由步骤3获得所有叶子树节点之后,遍历所有叶子树节点,每个叶子树节点中即为一个单元界面,当叶子树节点中仅有1个单元独立界面时,此单元独立界面即为单元界
面,此单元界面位于仿真模型的边界上,仅有1个左单元,如图4所示的第13树节点中的单元
独立界面。当叶子树节点中含有2个单元独立界面时,如图4所示的第11树节点,则合并单元
独立界面信息,记第11树节点中的2个单元独立界面为a1和a2,其中a1的左单元为k,a2的左
单元为l,则令a1为单元界面,且a1的右单元为l,令a2为多余单元独立界面。
[0038] (5)、遍历步骤3所获得的所有叶子树节点,从中收集所有的单元界面,如步骤4中第11树节点中的a1单元界面,组成所有单元界面数据集,同时删除所有叶子树节点中的多
余单元独立界面,如步骤4中第11树节点中的a2单元独立界面,同时删除所有树节点。完成
单元界面生成。
[0039] (6)、将所生成的单元界面用于有限体积数值计算方法的单元通量计算,利用单元界面通量计算结果,计算单元界面两侧两个单元的求解自由度更新量,从而获得单元求解
自由度结果,实现爆炸流场数值仿真,进而为武器和防护工程设计提供设计依据,极大提高
设计效率,节约设计成本,缩短设计周期。
[0040] 传统的方法是根据读入的单元和节点信息,建立节点与单元的拓扑关系,对于每个单元分别检测所有节点连接的其它单元,如果存在共面情况,则视为一个单元界面。本发
明方法与传统方法相比速度得到了很大的提高,例如图5所示为一个仅有单元和节点信息
的模型,全部由六面体单元组成,总共213000个单元,具有的单元界面数为651090,表1中给
出了本发明所提供方法的耗时和传统方法耗时的对比,传统方法生成单元界面耗时4.866
秒,而本发明所提供的方法仅需要1.456秒,速度是传统方法的3倍以上。
[0041] 表1 生成单元界面耗时对比
[0042]   本发明方法 传统方法生成单元界面耗时 1.456秒 4.866秒
[0043] 以上所述,仅为本发明较佳的具体实施方式。