CN105760572A - 面向三维表面网格模型的有限元网格编码与索引方法 - Google Patents

面向三维表面网格模型的有限元网格编码与索引方法 Download PDF

Info

Publication number
CN105760572A
CN105760572A CN201610029499.8A CN201610029499A CN105760572A CN 105760572 A CN105760572 A CN 105760572A CN 201610029499 A CN201610029499 A CN 201610029499A CN 105760572 A CN105760572 A CN 105760572A
Authority
CN
China
Prior art keywords
node
voxel
finite element
direction side
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610029499.8A
Other languages
English (en)
Inventor
沈隽晟
李婉婉
姚远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201610029499.8A priority Critical patent/CN105760572A/zh
Publication of CN105760572A publication Critical patent/CN105760572A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种面向三维网格模型的有限元网格编码与索引方法,本方法能够对内存或外存中存储的体数据表达的模型进行准确的输出,提供对于给定编码规则的一种简单快速的索引方式。其操作步骤为:先根据内存或外存中的体素信息获取体数据中每个体素上的点的位置信息,再根据其位置信息计算其对应的编码。经过实例验证,此方法是一个有效的方法。

Description

面向三维表面网格模型的有限元网格编码与索引方法
技术领域
本发明涉及一种面向三维表面网格模型的有限元网格编码与其索引方法,是一种基于三维八叉树体素模型的有限元网格编码与其索引方法,并能够进行应内存外运算。
背景技术
在对模型进行有限元分析时需要对求解域进行离散化,求解域的离散化是有限元的核心技术之一,对离散化的网格进行编码需要有方便快速的索引算法。根据单元的维数特征可以分为一维、二维、三维单元,本发明涉及的是对三维体素单元进行的编码与索引。
对应于不同的分析需求,需要针对不同的情况将CAD模型转化为不同的网格模型,对于三维模型可以是四面体、五面体或六面体。每一个网格的每一个顶点需要有一个编码,并且每一个顶点会对应若干个网格,需要进行唯一的定义。
八叉树是一种用于描述三维空间的树状结构,数中每一个节点对应八个子节点,通过定义每个节点是否为空能够表达出对应的六面体体素模型,体素模型结构清晰,对模型进行处理比较方便,是常用的一种模型表达方式。体素模型所在空间为一个立方体包围盒,包围盒中按照八叉树的结构被划分成了众多的小立方体,根据标记存在与否表达图形。对六面体体素进行有限元分析需要进行网格编码,根据分析需求有时需要输出其他诸如四面体的网格。
使用八叉树进行高精度的模型表达时,模型的信息量大,通常都需要信息存储在外存中,在使用时从外存中读取信息进行模型重建。外存中需要存储位置、领域关系等信息,本发明中的有限元网格生成方法在使用外存存储模型时,需要从外存中读取位置信息。
张志明(CN103678792A)设计了预应力罐体结构有限元模型网格划分方法,能够根据不同的罐体壁厚生成不同的网格划分。洪军(CN102332047A)设计了一种可实现六面体网格划分的螺栓有限元参数化建模方法。本发明给出的是一种根据已有体素模型进行编码与索引的方式。
发明内容
本发明的目的在于针对已有技术的不足,提供一种面向三维表面网网格模型的有限元网格编码与索引方法。索引方法简单,能够根据此方法生成六面体网格,也可以根据需求输出四面体、五面体的网格。能够避免对顶点定义的重复,有效避免几何错误。
为了达到上述目的,本发明的构思是:从内存或外存中读入每个体素的位置信息,以此计算出其上每个顶点的位置信息,再根据每个点的位置信息计算出相应的编码,最终建立空间坐标到一维编码的映射关系,将有限元网格转化为序列输出。其中包括两步映射,首先是根据体素的位置与点在体素上的位置到点在全局的位置的映射,再是点的位置到一维编码的映射。
一.空间上点的编码定义
为了将空间坐标映射到一维编码,需要对空间上的点进行编码。将立方体包围盒的一个顶点定为直角坐标系原点,三条坐标轴分别与此顶点相邻的三条边重合。坐标原点的节点编码为0,首先沿着Y轴正方向依次递增编号,排列完了一列后从第二列第一个节点开始继续递增编号,一层完了后从第二层继续编号,直到所有节点都被编号。如附图1所示。
二.节点在体素上的编号的定义
每个体素上有八个点,需要对这八个点定义一个在体素上的局部编号。如附图2所示,将体素平移至坐标原点,原点上的编号为4,位于原点Y轴正向的编号为5,位于原点X轴正向的编号为6,XOY平面上剩余的一个为7;偏向于Z轴正方向的四个点分别为XOY上四个点的编号减4。
三.节点全局位置信息的获取
读取体素的位置信息,每个体素具有在三个坐标轴方向上的编号,节点的全局位置信息通过体素的位置信息与节点在体素上的上的相对位置获得。若点位于Z轴的正方向一侧,则点在Z轴方向上的编号为体素在Z轴方向上的编号加1,若位于负方向一侧则点在Z轴方向上的编号为体素在Z轴方向上的编号;节点在X,Y轴上的编号也用同样方法获得。
四.节点编码的计算
获得了节点的全局位置信息后(也就是分别在三个坐标轴的方向上是第几个节点),可以根据简单的方法计算出全局的编码:
Cp=x·q+y+z*q*q(1)
Cp——点的全局编码;
x,y,z——在X,Y,Z轴的方向上分别是第几个节点;
q——每一列上的节点数;
其中q=2n-1。
n——划分次数。
根据上述发明构思,本发明采用如下述技术方案:
一种针对表面网格模型的有限元划分编码与索引方法,其特征特在于操作步骤如下:1)节点全局位置信息的获取;2)节点编码的计算。
所述步骤1)节点全局信息的获取:读取体素的信息,全局信息从体素的位置信息与节点相对于体素的位置获取,根据空间上点的编码的定义与节点在体素上的编号的定义,节点的全局信息获取可以表达为(其中x,y,z为节点分别为X,Y,Z方向上的第几个节点,zv,yv,xv为所在体素分别为X,Y,Z方向上的第几个体素):
若点在体素上位于Z轴的正方向一侧,则z=zv+1
若位于负方向一侧z=zv
若点在体素上位于Y轴的正方向一侧,则y=yv+1
若位于负方向一侧y=yv
若点在体素上位于X轴的正方向一侧,则x=xv+1
若位于负方向一侧x=xv
所述步骤2)节点编码的计算:根据定义的全局编码规则与获取的节点信息,根据式1能够方便计算出节点的编码。映射关系一共有两步(如附图3所示),两步映射可以用一个分段函数表达出来:
C p = ( x - 1 ) * q + y + z * q * q ( b = 0 ) ( x - 1 ) * q + y + 1 + z * q * q ( b = 1 ) x * q + y + 1 + z * q * q ( b = 2 ) x * q + y + z * q * q ( b = 3 ) ( x - 1 ) * q + y + ( z - 1 ) * q * q ( b = 4 ) ( x - 1 ) * q + y + 1 + ( z - 1 ) * q * q ( b = 5 ) x * q + y + 1 + ( z - 1 ) * q * q ( b = 6 ) x * q + y + ( z - 1 ) * q * q ( b = 7 ) - - - ( 2 )
Cp——节点的编码
x——节点在X轴方向上为第几个节点
y——节点在Y轴方向上为第几个节点
z——节点在Z轴方向上为第几个节点
q——每一列上的节点数
本发明与现有技术相比较,具有以下显而易见的突出实质性特点和显著技术进步:本发明是基于八叉树的有限元网格编码与索引方法,索引方法简单,能够对内存或外存中存储的体数据表达的模型进行准确的输出,提供对于给定编码规则的一种简单快捷的索引方式。
附图说明
图1是全局编码的定义规则在划分一次的情况下第一层与第三层定义。
图2是体素上的节点的编号定义规则定义。
图3是映射关系的示意图。
图4是实施方式实例的模型的网格图。
具体实施方式
本发明的优选实施例,结合附图详细说明六面体的网格输出如下:
实施例一:参见图3,
面向三维网格模型的有限元编码与索引方法,其特征在于操作步骤如下:1)节点全局位置信息的获取;2)节点编码的计算。
实施例二:
本实施例与实施例一基本相同,特别之处如下:
读取体素的位置信息,全局信息从体素的位置信息与节点相对于体素的位置获取,根据空间上点的编码的定义与节点在体素上的编号的定义,节点的全局信息获取可以表达为(其中x,y,z为节点分别为X,Y,Z方向上的第几个体素,zv,yv,xv为所在体素分别为X,Y,Z方向上的第几个体素):
若点在体素上位于Z轴的正方向一侧,则z=zv+1
若位于负方向一侧z=zv
若点在体素上位于Y轴的正方向一侧,则y=yv+1
若位于负方向一侧y=yv
若点在体素上位于X轴的正方向一侧,则x=xv+1
若位于负方向一侧x=xv
节点编码的计算:根据定义的全局编码规则与获取的节点信息,根据式1能够方便计算出节点的编码。映射关系一共有两步(如附图3所示),两步映射可以用一个分段函数表达出来:
C p = ( x - 1 ) * q + y + z * q * q ( b = 0 ) ( x - 1 ) * q + y + 1 + z * q * q ( b = 1 ) x * q + y + 1 + z * q * q ( b = 2 ) x * q + y + z * q * q ( b = 3 ) ( x - 1 ) * q + y + ( z - 1 ) * q * q ( b = 4 ) ( x - 1 ) * q + y + 1 + ( z - 1 ) * q * q ( b = 5 ) x * q + y + 1 + ( z - 1 ) * q * q ( b = 6 ) x * q + y + ( z - 1 ) * q * q ( b = 7 ) - - - ( 1 )
Cp——节点的编码
x——节点在X轴方向上为第几个节点
y——节点在Y轴方向上为第几个节点
z——节点在Z轴方向上为第几个节点
q——每一列上的节点数
实施例三:
参见图3,本面向三维表面网格模型的三维有限元网格模型编码与索引方法,其操作步骤如下:1)节点全局位置信息的获取;2)节点编码的计算。
所述步骤1)节点全局信息的获取:读取体素的信息,全局信息从体素的位置信息与节点相对于体素的位置获取,根据空间上点的编码的定义与节点在体素上的编号的定义,节点的全局信息获取可以表达为(其中x,y,z为节点分别为X,Y,Z方向上的第几个节点,zv,yv,xv为所在体素分别为X,Y,Z方向上的第几个体素):
若点在体素上位于Z轴的正方向一侧,则z=zv+1
若位于负方向一侧z=zv
若点在体素上位于Y轴的正方向一侧,则y=yv+1
若位于负方向一侧y=yv
若点在体素上位于X轴的正方向一侧,则x=xv+1
若位于负方向一侧x=xv
所述步骤2)节点编码的计算:根据定义的全局编码规则与获取的节点信息,根据式1能够方便计算出节点的编码。映射关系一共有两步(如附图3所示),两步映射可以用一个分段函数表达出来,如公式(2)所示。
根据步骤1)与步骤2)可以写出如下伪代码:
其中point_code(i,j)为:
模型如图4所示。在VisualStudio2013开发环境中使用C++语言实现伪代码,能够输出如下有限元划分序列:
模型4的前20个体素所生成的节点编码
由实验数据证明,本方法是一个有效的方法,采用本方法所进行的有限元网格编码是有效,无歧义的。

Claims (4)

1.一种面向三维网格模型的有限元编码与索引方法,其特征在于操作步骤如下:1)节点全局位置信息的获取;2)节点编码的计算。
2.根据权利要求1所述的面向三维网格模型的有限元网格编码与索引方法,其特征在于:所述步骤1)节点全局信息的获取:读取体素的位置信息,全局信息从体素的位置信息与节点相对于体素的位置获取,根据空间上点的编码的定义与节点在体素上的编号的定义,节点的全局信息获取可以表达为(其中x,y,z为节点分别为X,Y,Z方向上的第几个体素,,,为所在体素分别为X,Y,Z方向上的第几个体素):
若点在体素上位于Z轴的正方向一侧,则z=+1
若位于负方向一侧z=
若点在体素上位于Y轴的正方向一侧,则y=+1
若位于负方向一侧y=
若点在体素上位于X轴的正方向一侧,则x=+1
若位于负方向一侧x=
3.根据权利要求1所述的针对面向三维模型的有限元网格编码与索引方法,其特征在于:所述步骤2)节点编码的计算:根据定义的全局编码规则与获取的节点信息,根据式1能够方便计算出节点的编码。
4.映射关系一共有两步(如附图3所示),两步映射可以用一个分段函数表达出来:
(1)
——节点的编码
——节点在X轴方向上为第几个节点
——节点在Y轴方向上为第几个节点
——节点在Z轴方向上为第几个节点
q——每一列上的节点数。
CN201610029499.8A 2016-01-16 2016-01-16 面向三维表面网格模型的有限元网格编码与索引方法 Pending CN105760572A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610029499.8A CN105760572A (zh) 2016-01-16 2016-01-16 面向三维表面网格模型的有限元网格编码与索引方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610029499.8A CN105760572A (zh) 2016-01-16 2016-01-16 面向三维表面网格模型的有限元网格编码与索引方法

Publications (1)

Publication Number Publication Date
CN105760572A true CN105760572A (zh) 2016-07-13

Family

ID=56342411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610029499.8A Pending CN105760572A (zh) 2016-01-16 2016-01-16 面向三维表面网格模型的有限元网格编码与索引方法

Country Status (1)

Country Link
CN (1) CN105760572A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491616A (zh) * 2017-08-24 2017-12-19 北京航空航天大学 一种适用于格栅构型舵面的结构有限元参数化建模方法
CN109814125A (zh) * 2017-11-21 2019-05-28 通用汽车环球科技运作有限责任公司 用于确定激光雷达点的速度的系统和方法
CN112231961A (zh) * 2020-12-10 2021-01-15 上海索辰信息科技股份有限公司 大规模有限元网格数据存储索引方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111243A1 (en) * 2002-11-06 2004-06-10 Canon Kabushiki Kaisha Analytical model conversion method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111243A1 (en) * 2002-11-06 2004-06-10 Canon Kabushiki Kaisha Analytical model conversion method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
江雄心,万平荣: "《三维有限元网格节点编号优化》", 《工程图学学报》 *
郝东升,王德伦: "《斜齿轮精确接触分析有限元建模方法》", 《大连理工大学学报》 *
黄志超等: "《有限元节点编号优化》", 《南昌大学学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491616A (zh) * 2017-08-24 2017-12-19 北京航空航天大学 一种适用于格栅构型舵面的结构有限元参数化建模方法
CN107491616B (zh) * 2017-08-24 2020-09-18 北京航空航天大学 一种适用于格栅构型舵面的结构有限元参数化建模方法
CN109814125A (zh) * 2017-11-21 2019-05-28 通用汽车环球科技运作有限责任公司 用于确定激光雷达点的速度的系统和方法
CN112231961A (zh) * 2020-12-10 2021-01-15 上海索辰信息科技股份有限公司 大规模有限元网格数据存储索引方法

Similar Documents

Publication Publication Date Title
CN102306180B (zh) 一种基于海量激光雷达栅格点云数据的建模方法
CN104317772B (zh) 一种基于空间网格分割的蒙特卡罗粒子输运快速几何处理方法
CN106981093A (zh) 一种分区约束耦合的三维地层并行建模方法
CN109102564B (zh) 一种复杂地质体数值模型的耦合建模方法
CN116229015B (zh) 一种基于2N-Tree带附面层的贴体笛卡尔网格生成方法
US10121279B1 (en) Systems and methods for generating a mesh
CN105022865A (zh) 一种基于stl模型布尔运算的飞机油箱内表面模型提取方法
Boguslawski Modelling and analysing 3d building interiors with the dual half-edge data structure
CN105205864B (zh) 基于多源数据的地质结构面三维模型自动建模方法和系统
Chen et al. Global shallow water models based on multi-moment constrained finite volume method and three quasi-uniform spherical grids
CN105760572A (zh) 面向三维表面网格模型的有限元网格编码与索引方法
CN109551768A (zh) 一种基于stl的3d打印文件的数据处理方法
CN114970216A (zh) 一种基于剖分网格的电磁环境可视化表达方法
CN114943178A (zh) 一种三维地质模型建模方法、装置及计算机设备
Wang et al. Isogeometric analysis based on geometric reconstruction models
CN107886573B (zh) 一种复杂地质条件下边坡三维有限元网格生成方法
WO2003048980A1 (fr) Procede de conversion de donnees d'image tridimensionnelle en donnees de cellules interieures et programme de conversion
CN105931297A (zh) 三维地质表面模型中的数据处理方法
CN107644139B (zh) 一种从cad模型到cae模型的属性映射方法
Fries Higher-order accurate integration for cut elements with Chen-Babuška nodes
CN113342999A (zh) 一种基于多层跳序树结构的变分辨率点云简化方法
Marchant et al. Adaptivity techniques for compressible inviscid flows
Özkan Development of Cartesian based mesh generator with body fitted boundary layers
Lizier et al. Comparing techniques for tetrahedral mesh generation
Duan et al. High order FR/CPR method for overset meshes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160713

RJ01 Rejection of invention patent application after publication