首页> 中国专利> 一种基于有限元模型的全六面体单元加密方法

一种基于有限元模型的全六面体单元加密方法

摘要

本发明涉及一种基于有限元模型的全六面体单元加密方法,该方法基于有限元模型对六面体单元进行拓扑化数据重构;将转化后的单元构建拓扑单元结构数据;将拓扑单元结构数据划分成目标单元和周边单元,所述目标单元为需要细分的单元,将各单元采用单元拓扑结构数据表示,并获取六面体单元的过渡单元;最后更新单元模型拓扑数据,重复进行多级细分。与现有技术相比,本发明具有能够实现六面体单元有限元模型任意位置的任意尺度的单元细分、可自动化进行、实现灵活等优点。

著录项

  • 公开/公告号CN112613209A

    专利类型发明专利

  • 公开/公告日2021-04-06

    原文格式PDF

  • 申请/专利权人 上海交通大学;

    申请/专利号CN202011497634.4

  • 发明设计人 庄三少;陈秀华;

    申请日2020-12-17

  • 分类号G06F30/23(20200101);G06F21/60(20130101);

  • 代理机构31225 上海科盛知识产权代理有限公司;

  • 代理人林君如

  • 地址 200240 上海市闵行区东川路800号

  • 入库时间 2023-06-19 10:29:05

说明书

技术领域

本发明涉及有限元建模技术领域,尤其是涉及一种基于有限元模型的全六面体单元加密方法。

背景技术

在疲劳裂纹扩展分析领域,裂纹尖端的单元密度和单元类型对应力强度因子计算精度影响巨大。一般情况下四面体单元网格可以近似表示任意形状的几何体,在结构有限元分析领域应用广泛。但四面体单元无法计算剪切应力,相比于六面体单元,获得同等计算精度情况下,四面体单元数量比六面体单元数量多几倍。而且六面体单元可以引入附加形函数,可以进一步提高计算精度。相比于四面体单元,六面体单元因其计算精度高,在疲劳裂纹扩展有限元分析领域内得到广泛使用。

然而相比于四面体单元,六面体单元的划分难度大,且对于复杂模型无法自动划分。有限元分析计算精度和单元密度有关,通常情况下在一些关键区域内要求单元密度大,在一些远端处则用比较稀疏的单元,这样做可以在保证单元数量不大的情况下取得比较满意的计算精度,因此进行单元局部加密就显得非常重要。一般情况下能实施局部加密的都是四面体单元,对于四面体单元目前的单元划分算法和单元局部加密算法都比较成熟,可以进行自动化单元加密,但是四面体单元计算精度比六面体单元要差,为了取得较好的计算精度,一般建议使用六面体单元进行有限元计算。

六面体单元有限元模型可采用一般有限元前处理软件生成,但是目前普遍存在的一个问题是如何对六面体单元进行局部加密。通常的方法是在有限元建模单元生成的时候就指定一个很细的单元尺寸,这样做可以达到单元细分的目的,但是模型单元成倍增加,在一些不需要加密的区域也进行加密,显然不合适,增加了处理成本且不够灵活。通常情况下重新生成有限元模型成本太大,大多数情况下是对现有模型进行加密,那么如何对现有模型进行局部加密,显然现有有限元前处理软件都无法进行六面体单元局部加密。

目前对于六面体单元的单元局部加密方法,现有技术提出了一些过渡模板方法被,这些方法对六面体单元加密自动化方法的实现提供了一定的技术基础。中国发明专利CN103729506A提出了一种复杂模型全六面体单元重塑方法,但是该方法只能对扫掠单元进行加密,本质上是二维面单元加密方法,无法适用于任意结构的三维六面体局部单元加密,且该方法仅限于在生成有限元单元时使用,无法对现有有限元模型进行操作,且在过渡区域需要采用四面体和五面体进行临时过渡,需要大量的人工手工操作,无法进行全自动化进行。中国发明专利CN103116682A提出一种有限元孔的裂纹单元构造方法,该方法可以对孔区域进行单元生成和加密,但是仅限于生成四面体单元。综上,目前还没有全六面体单元自动化单元局部多级加密方法提出。显然对任意六面体单元的局部区域进行加密的方法成为了目前业界的技术瓶颈,急需相应的技术方法来满足业界需求。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于有限元模型的全六面体单元加密方法,该方法将拓扑几何数据结构方法应用在有限元单元细分上,可对全六面体有限元模型进行任意的局部多次自动化全六面体单元加密。

本发明的目的可以通过以下技术方案来实现:

一种基于有限元模型的全六面体单元加密方法,该方法基于拓扑几何数据结构,包括如下步骤:

S1:对有限元六面体单元进行拓扑化数据转化,即对六面体单元拓扑化数据重构,具体步骤包括:

1.1)将每一个六面体单元定义为quad8,其拓扑结构由6个拓扑面组成;

1.2)将单元中每一个拓扑面定义为face,其由4条拓扑边组成;

1.3)将每一个拓扑边定义为edge,其由两个拓扑点组成;

1.4)将每一个拓扑点定义为vertex,拓扑点是最小拓扑元素,其代表一个空间节点位置,拥有一个唯一的id;

1.5)将各拓扑元素相互之间共享,即两个相邻的单元共享一个拓扑面。

按照上述重构步骤实施后,拓扑单元模型数据包括:一组共享的节点、边、面,将这些共享的拓扑元素组成单元数据。

S2:将单元集合划分成目标单元和剩余单元,并用拓扑单元数据结构表示。

该操作基于拓扑单元数据结构进行。单元描述数据文件包括节点坐标信息和单元节点信息,通过读取文件可构建单元拓扑结构信息。单元描述数据文件的具体内容包括节点id、节点坐标、单元id以及单元节点组成的id列表,通过单元数据解析,可将单元数据生成单元拓扑结构数据。

生成单元拓扑结构数据的具体内容如下:

(a1)首先进行单元节点拓扑数据vertex创建,根据读取的id和坐标值创建单元拓扑数据结构vertex,并存储在全局数据库;

(a2)进行单元拓扑数据创建,通过文件解析得到单元id和单元引用的8个节点id;

(a3)根据8个节点id进行拓扑面的创建,一个单元由6个面组成,将节点进行有序分组得到6组拓扑面节点组,每一节点组由4个节点id组成;

(a4)对4个节点组进行拓扑面构建,调用拓扑面构建算法进行拓扑面构建,完成4个拓扑面构建后即完成拓扑单元构建。

其中,从输入四个拓扑节点id开始,拓扑面构建算法的具体步骤包括:

(b1)根据输入的四个拓扑节点id查找拓扑节点vertex,得到4个拓扑节点;

(b2)一个拓扑面由4条首尾相连的拓扑边组成,每一个拓扑边由2个拓扑节点组成,将4个拓扑节点进行分组,得到4个拓扑边输入数据,每个拓扑边输入数据由2个拓扑节点组成;

(b3)对每一个拓扑边输入数据进行拓扑边创建,完成拓扑边创建后即完成拓扑面创建。

其中,从输入2个拓扑节点id开始,拓扑边创建算法的具体步骤包括:

(c1)根据输入的拓扑节点数据进行拓扑边查找;

(c2)遍历拓扑边数据结构,查找是否存在拓扑边满足拓扑节点和输入的节点等效(即id相同);

(c3)若存在(c2)描述的拓扑边,则直接返回这条边的引用(即共享拓扑边);

(c4)若不存在(c2)描述的拓扑边,则根据输入的两个节点创建一条新的拓扑边;

(c5)完成拓扑边创建。

S3:基于单元拓扑数据实施六面体单元过渡策略。

首先将拓扑单元分为两种类型:目标单元和周边单元,其中目标单元为需要进行细分的单元,而周边单元则为不需要进行细分的单元。预先对目标单元和周边单元分别进行相应的标记。

从拓扑面角度来看,拓扑面由三种状态:完全处于目标单元、完全处于周边单元和处于两者中间,三种状态描述如下:目标单元面、周边单元面和过渡单元面;

从拓扑单元包含的目标面状态来看,有以下几种可能:全包含目标单元面S0、混合状态S1、混合状态S2和全包含周边单元面S3。全包含目标单元面S0的所有面均为周边单元面,混合状态S1中一个面为目标单元面,其余面均为周边单元面,混合状态S2中有两个相邻面为目标单元面,其余面均为周边单元面,全包含周边单元面S3的所有面均为目标单元面。

一条拓扑边属于一个或者多个拓扑面,根据拓扑边所在的拓扑面的类型不同,拓扑边可分为三种情况:不包含目标单元面E1和包含单元面E2。不同的状态的拓扑边的细分过程不同。

拓扑面可分为G1、G2、G3、G4和G5五种状态,G1状态包括4个E1状态的拓扑边;G2状态包括3个E1状态的拓扑边和1个E2状态的拓扑比边;G3状态包括2个E1状态的拓扑边和2个E2状态的拓扑比边;G4状态包括1个E1状态的拓扑边和3个E2状态的拓扑比边;G5状态包括4个E2状态的拓扑比边,其中G3和G4状态不存在。不同状态的拓扑面按照不同的细分策略进行细分。

单元过渡基于拓扑数据结构进行单元细分,即对拓扑元素进行细分操作。细分从最小元素开始,先进行拓扑边细分,再进行拓扑面细分,再进行拓扑单元细分。即细分顺序为拓扑边细分、拓扑面细分和拓扑单元细分。

S4:更新单元模型拓扑数据,重复进行多级细分,进而增加单元密度,完成加密处理。

单元拓扑数据更新用于多层次细分,其步骤包括:

4.1)单元后生成的新拓扑结构,对新的拓扑结构存储在新的层级数据库,新的拓扑结构包括新生成的拓扑边、拓扑面和拓扑单元;

4.2)新生成的节点统一存储在节点数据库,节点拓扑结构数据库全局共享;

4.3)自动识别周边单元和目标单元;

在本发明中,初始单元(细分操作前的拓扑单元)预先进行标记,即对目标单元和周边单元分别进行相应的标记;细分操作是对目标单元进行细分,细分后的新单元继承目标单元标记,即细分后的单元都为目标单元。

自动识别周边单元和目标单元则基于标记,具体按照以下方式识别:

对于细分后的每一个目标单元,遍历其所有面,查找位于目标单元和周边单元的共享面,找到面之后将该面所在单元的标记由目标单元转换为周边单元标记,进而完成识别。

4.4)在新生成的层级数据库上进行再次细分;

指定一个单元尺寸,对新生成的层级数据库中的各细分后的单元的侧向尺寸与单元尺寸进行比较,若细分后侧尺寸大于指定单元的尺寸,则需按照上述细分操作对单元进行再次细分。

4.5)转到步骤4.1),进行多级细分,再次增加单元密度,实现更加有效的加密处理。

本发明提供的基于有限元模型的全六面体单元加密方法,相较于现有技术至少包括如下有益效果:

一、采用拓扑几何数据结构方法描述六面体单元的数据结构,基于该数据结构可以进行自动化单元细分和多级细分,能够实现六面体单元有限元模型任意位置的任意尺度的单元细分,在不增加单元数量的情况下可以实现单元局部细化,提高求解精度;

二、能够满足全六面体单元过渡,不需要引入四面体或者五面体单元,无需手动操作,整个过程自动化进行;

三、本发明方法可以在现有有限元前处理软件进行二次开发实现,也可以单独开发实现功能,实现方法非常灵活。

附图说明

图1为实施例中有限元六面体单元拓扑化数据转过程示意图;

图2为实施例中拓扑单元共享拓扑面的示意图;

图3为实施例中数据文件解析和拓扑元素创建过程示意图;

图4为实施例中拓扑面和拓扑边创建示意图;

图5为实施例中拓扑面分类示意图;

图6为实施例中拓扑单元分类示意图;

图7为实施例中面和边细分示意图;

图8为实施例中六面体单元过渡模板示意图;

图9为实施例中多级细分示意图;

图10为实施例中多级细分示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

实施例

本发明涉及一种基于有限元模型的全六面体单元加密方法,该方法包括下列步骤:

步骤一、有限元六面体单元拓扑化数据转化。

步骤二、单元集合划分成目标单元和剩余单元,用拓扑单元数据结构表示。

步骤三、基于单元拓扑数据实施六面体单元过渡策略。

步骤四、更新单元模型拓扑数据,重复进行多级细分。

图1为本发明实施例提供的有限元六面体单元拓扑化数据转过程示意图。图1用一个单元来介绍拓扑数据结构以及如果将拓扑数据结构应用到六面体单元。单元用quad8表示,单元数据包括quad8={f1,f2,f3,f4,f5,f6},即quad8单元有六个面f1,f2,f3,f3,f4,f5和f6组成:f1={e1,e9,e2,e6},f2={e2,e10,e3,e7},f3={e3,e11,e4,e8},f4={e5,e6,e7,e8},f5={e9,e10,e11,e12},f6={e1,e12,e4,e5}。

每个面分别由四条edge组成,其中不同面共享相同的edge;edge的组成情况如下:e1={v1,v2},e2={v3,v4},e3={v7,v8},e4={v5,v6},e5={v1,v5},e6={v1,v4},e7={v4,v8},e8={v5,v8},e9={v2,v3},e10={v3,v7},e11={v7,v12},e12={v2,v6}。每一条边由两个vertex组成,不同的边共享相同的vertex。vertex是最小拓扑元素,一个quad8由8个vertex组成,通过edge和face形成一个完整的拓扑关系。

图2为本发明实施例提供的拓扑单元共享拓扑面的示意图。图2用两个拓扑单元A和B描述拓扑面的共享关系,即单元A和单元B共享一个拓扑面F1。同理如果有多个单元相互连接,那么将会出现多个单元共享面;同理多个面也可能共享相同的边;多条边也可能共享相同的节点。

图3为本发明的读取单元数据文件解析和拓扑元素创建过程示意图。从输入单元数据解析开始,具体步骤描述如下:

1、首先进行单元节点拓扑数据vertex创建,根据读取的id和坐标值创建单元拓扑数据结构vertex并且存储在全局数据库;

2、然后进行单元拓扑数据创建,通过文件解析得到单元id和单元引用的8个节点id;

3、根据8个节点id可以进行拓扑面的创建,一个单元由6个面组成,将节点进行有序分组得到6组拓扑面节点组,每一节点组由4个节点id组成;

4、对4个节点组进行拓扑面构建,调用拓扑面构建算法(图4)进行拓扑面构建,完成4个拓扑面构建后即完成拓扑单元构建。

图4为本发明实施例提供的拓扑面和拓扑边创建示意图。从输入四个拓扑节点id开始,具体步骤描述如下:

1、根据输入的四个拓扑节点id查找拓扑节点vertex,得到4个拓扑节点;

2、一个拓扑面有4条首尾相连的拓扑边组成,每一个拓扑边由2个拓扑节点组成,将4个拓扑节点进行分组,得到4个拓扑边输入数据,每个拓扑边输入数据由2个拓扑节点组成;

3、对每一个拓扑边输入数据进行拓扑边创建,创建算法如图4所示,完成拓扑边创建后即完成拓扑面创建。

图5为本发明实施例提供的拓扑面分类示意图。拓扑单元分为两种类型:目标单元和周边单元,其中目标单元需要进行细分,而周边单元是不需要进行细分的单元。通常出于计算能力的考虑,无法将有限元单元分的很细,否则计算量太大。但对于结构局部,若需提高其计算精度,那么需要将局部单元进行细分,这些局部单元在本专利中称之为目标单元,其余单元则作为周边单元,即目标单元代表需要进行多次细分的单元。细分之后单元局部单元密度增加,应用在裂纹前沿单元划分,可以提高疲劳裂纹扩展应力强度因子的计算精度。

一个拓扑面一般情况下属于一个单元或者两个单元,根据拓扑面所属的单元类型来看,拓扑面由三种状态:完全处于目标单元、完全处于周边单元和处于两者中间,三种状态下的拓扑面可以分为三类:目标单元面F2、周边单元面F0和过渡单元面F1。

图6为本发明实施例提供的拓扑单元分类示意图。一个拓扑单元包含6个拓扑面,根据拓扑面的类型可以对拓扑单元进行分类,分类情况如下:全包含目标单元面S0、混合状态S1、混合状态S2(图6,S2)、全包含周边单元面S3。不同类型的拓扑单元可以用不同的模板进行分类。其中,S0的所有面均为F0状态;S1中有一个面为F2状态,其余面均为F0状态;S2中有2个相邻面为F2状态,其余面均为F0状态;S3中所有面均为F2状态。

图7为本发明实施例提供的面和边细分示意图。拓扑边细分过程可以分为E1和E2两种状态,状态E2进行1-3细分(1-3细分为本领域常规使用的一种细分模板,在本发明中即将呈直线的拓扑边细分为3段)、状态E1无需进行细分;拓扑面可以分为G1、G2、G3、G4和G5五种状态,G1状态包括4个E1状态的拓扑边;G2状态包括3个E1状态的拓扑边和1个E2状态的拓扑比边;G3状态包括2个E1状态的拓扑边和2个E2状态的拓扑比边;G4状态包括1个E1状态的拓扑边和3个E2状态的拓扑比边;G5状态包括4个E2状态的拓扑比边,其中G3和G4状态不存在。不同状态的拓扑面按照不同的细分策略进行细分。

图8为本发明实施例提供的六面体单元过渡模板示意图。根据拓扑单元包含的6个拓扑面状态进行分类,不同类型的拓扑单元的拓扑单元采用不同的细分方法。拓扑单元分为S0、S1、S2和S3。不同的状态拓扑单元用不同的细分策略进行细分,通过拓扑面驱动拓扑单元细分。

图9和图10为本发明实施例提供的多级细分示意图。单元拓扑数据更新用于多层次细分,多级细分的实施步骤为:

(1)单元后生成的新拓扑结构,对新的拓扑结构存储在新的层级数据库。

初始情况下单元的边和单元数据存储在初始的层级数据库;对层级数据库里面的边、面和单元按照上述策略进行细分后会产生新的拓扑单元、拓扑边和拓扑面,这些新生成的单元数据需要有地方存放,因此每次细分都新生成一个层级数据库用于存放新的单元数据。层级数据库为现有技术的层次数据库,每次细分依次都有新单元生成,类似层次。

(2)新生成的节点统一存储在节点数据库,节点拓扑结构数据库全局共享。节点数据库在本发明中的细分过程为共享功能。

(3)周边单元和目标单元自动识别。

在本发明中,初始单元(细分操作前的拓扑单元)进行相应的标记,即标记为目标单元或者周边单元,细分的单元是模板单元;细分是对目标单元进行细分,细分后的新单元继承目标单元标记,即细分后的单元都为目标单元。

这里执行识别算法,描述为:

对于细分后的每一个目标单元,遍历其所有面,查找位于目标单元和周边单元的共享面,找到面之后将该面所在单元的标记由目标单元转换为周边单元标记,进而完成识别。

(4)在新生成的层级数据库上进行再次细分。再次细分的具体内容为:

指定一个单元尺寸,对新生成的层级数据库中的各细分后的单元侧向尺寸与单元尺寸作比较,若细分后侧尺寸比指定单元的尺寸大,那么需要按照上述细分操作进行再次细分。

(5)转到(1),可以进行多级细分。多级细分与步骤(4)中的再次细分的含义相同,即可根据实际加密需求再次进行细分。进而增加单元密度,实现更加有效的加密处理。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号