CN105869213B - 一种多阶fdtd网格建模方法 - Google Patents
一种多阶fdtd网格建模方法 Download PDFInfo
- Publication number
- CN105869213B CN105869213B CN201610179450.0A CN201610179450A CN105869213B CN 105869213 B CN105869213 B CN 105869213B CN 201610179450 A CN201610179450 A CN 201610179450A CN 105869213 B CN105869213 B CN 105869213B
- Authority
- CN
- China
- Prior art keywords
- fdtd
- point
- component
- grid
- dimensional
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种多阶FDTD网格建模方法,基于商用软件Hypermesh生成三角面元的模型,再对之处理生成多阶精度FDTD网格。实现空间步长的自由选取,生成多阶精度的FDTD网格,同时解决了多种介质材料复杂模型的问题。最后通过CAD检测生成的FDTD网格,检验建模结果的正确性。本发明能够解决复杂目标模型的FDTD建模问题,多种材料FDTD建模问题,以及细化特殊部件特征等问题。
Description
技术领域
本发明属于电磁场数值计算领域,具体涉及一种三维建模技术。
背景技术
近年来随着商用建模软件的迅速发展,使得复杂模型的建模变得十分便利。但是用FDTD方法研究物体的电磁散射特性时,必须按照FDTD要求进行网格化离散,即将FDTD计算区域以六面体元胞(长方体)为单元进行剖分,并确定每个单元的介质参数。
随着FDTD方法的广泛采用,算法的不断进步,对能够进行复杂模型FDTD计算的需求越加强烈。普通的建模根据模型的解析式,只能生成简单的模型,无法解决复杂模型的问题。因此非常有必要设计一种能够解决多部件复杂模型的FDTD网格生成技术。
本发明在专利“一种生成FDTD网格的方法”上改进,有着能够生成多阶FDTD网格,特殊部件采用更细小的FDTD网格突出其物理特征,优化多部件交接处细节特征,等诸多创新点。
发明内容
本发明的目的在于提供一种多阶FDTD网格建模方法,以解决复杂模型及多种材料FDTD建模问题。
为了解决以上技术问题,本发明设计建立一种复杂三角面元模型生成FDTD网格技术。基于商用软件Hypermesh生成三角面元的模型,再对之进行处理生成三维FDTD网格。实现空间步长的自由选取,生成不同规格的FDTD网格,同时解决了多种介质材料复杂模型的问题:
一种多阶FDTD网格建模方法,其特征在于包括以下步骤:
步骤一,使用Hypermesh建模工具建模得Hypermesh模型,对Hypermesh模型进行剖分,剖分成三角面元模型,保存三角面元模型得stl格式三角面元模型数据;
步骤二,处理stl格式三角面元模型数据,保存stl格式三角面元模型数据中三维点坐标数据以及部件起始行数据;
步骤三,根据三维点坐标数据以及部件起始行数据,建立该部件FDTD网格;
步骤四,组合多部件,生成最终FDTD模型。
所述步骤一具体为:使用UG,CAD和Hypermesh商用建模软件建模,再导入到Hypermesh中进行剖分;选择edge deviation进行剖分,根据实际模型尺寸选择最大最小三角面元尺寸,运行程序后根据模型的复杂程度自动选择合适的尺寸进行剖分,最后导出stl格式三角面元模型数据。
所述步骤二具体包括以下过程:
过程3.1,读取stl格式三角面元模型数据的总行数;
过程3.2,判断stl格式三角面元模型数据中三维点坐标所在的行数及三维点坐标数据所在位置;
过程3.3,用Fortran语言读取三维点坐标所在行成字符串;
过程3.4,将过程3.3中所述的字符按照三维点坐标数据所在的字符位置转化成数据格式;
过程3.5,存储三维点坐标数据到文件中;
过程3.6,判断多种部件所在的起始行数;
过程3.7,根据三维点坐标数据所有点三维方向上最大最小值判断Hypermesh模型尺寸,基于用户对三维FDTD网格大小的需求选取合适的空间步长。
所述步骤三建模过程将分为普通网格部件建模和细网格部件建模,具体包括以下过程:
过程4.1,根据部件起始行数据处理三维点坐标数据,读取三维点坐标数据,创建3*3的矩阵代表一个三角面元片,创建一个循环按照每三行读取一个三角面元数据,存储在临时3*3的矩阵中;
过程4.2,根据三维点坐标数据生成三维FDTD网格,若部件判断为普通部件,则对其进行普通网格部件建模;对每个3*3的三角面元所对应的矩阵,把三个点放在FDTD网格中,所需要计算的是根据步长的取整计算,即把三角面元的三个点放在三维FDTD网格的格点上;如果网格很粗或所取的步长很大的情况下,三角形的三个点都在一个网格内,就对这个网格赋值该部件的号码;如果三角面元跨越了多个FDTD网格,则针对每个3*3的三角面元所对应的矩阵得到根据步长取整的三个量化点,扩大成一个长方体,即可包含覆盖不到的所有网格点,再对这些FDTD网格点赋值部件号;若部件判断为特殊部件,则对其进行细网格部件建模;将普通网格分割成8个细网格,对每个3*3的三角面元所对应的矩阵,把三个点放在FDTD网格中,所需要计算的是根据步长的取半整计算,即在二分之一网格点处判定网格实点;记录细网格部件信息方法是:部件号+网格类型+八个细网格信息,普通网格只记录部件号;
过程4.3,对部件内部补充实点,进行补点的处理时,每个部件只是一个空壳,内部没有点,采用的方法是针对每个空点,看它X正向反向,Y正向反向,Z正向反向有没有点存在,一共六个方向的延伸,如果每个方向都存在点,那么这个点是在体内部的,是存在的;具体的做法为:根据三维FDTD网格数据,依据它的格点存储方式,读出YZ坐标与该点相同的所有点,得到一组数据,并放在临时的数组中,得到了X正向反向上的点;同理Y和Z方向也按照相同的方法得到另外两组数组;在这三个数组里以该点为中心分别做循环往外延伸,如果碰到实点,做标记;如果六个方向都标记到,则可以判定该点也是实点,并对该点赋值所在部件号;
过程4.4,若stl格式三角面元模型存在多个部件则重复对每个部件进行上述过程4.1、4.2、4.3;部件1的部件号为1,部件二的部件号为2,依次类推。
所述步骤四具体包括以下过程:
将各部件整合成最终的三维FDTD网格,具体方法是:补点后计算该部件有多少个FDTD网格点,得到部件的大小;针对多部件,每个部件处理后都对应一个FDTD网格文件,整合多个部件首先要生成空的模型大小FDTD网格,让部件文件依次写入,写入每个实点过程需对其进行条件约束,具体约束条件如下:若最终FDTD网格文件中的点为空点,则可写入;若最终FDTD网格文件中的点为普通FDTD网格点,现要写入新部件普通FDTD网格点,需要比较部件大小,取小部件写入;若最终FDTD网格文件中的点为普通FDTD网格点,现要写入细FDTD网格点,则该点处于部件交界处,写入细FDTD网格点,并读取该点细FDTD网格点信息,若细FDTD网格点有空点,则赋值为原先点的部件号,并写入;若最终FDTD网格文件中的点为细FDTD网格点,现要写入细FDTD网格点,则该点处于部件交界处,比较部件大小,取小部件写入,并读取该点细FDTD网格点信息,若细FDTD网格点有空点,则赋值为原先点的部件号,并写入;所有部件处理后,即得到最终的FDTD网格模型文件。
过程3.7根据所有点三维方向上最大最小值选取用户自定的空间步长生成任意大小的FDTD网格。
步骤三能够识别复杂模型开槽的情况,能够根据部件类型选择普通FDTD网格或细FDTD网格生成模型,优化部件交界处的处理。
本发明能够识别复杂模型开槽的情况,并对之进行处理。所述采用文件方式存储读取所有的数据和文件。一旦数据超过数组的极限,计算机内存限制,就会溢出,就不能对复杂的模型进行三角面元处理。采用文件之间的读写,速度慢,但能满足对大数据处理的需求。
本发明具有有益效果。本发明是通过Hypermesh商用建模软件,把模型剖分成三角面元,再转化成FDTD网格,能灵活建模,识别多种材料部件,优化部件交接处的处理,突出特殊部件物理特征,识别开槽空腔等优点。
附图说明
图1为三角面元在一个三维FDTD网格内情形;
图2为三角面元在多个三维FDTD网格内情形;
图3为stl数据格式;
图4为Hypermesh中球剖分成的三角面元图;
图5为Hypermesh中正方体剖分成的三角面元图;
图6为球三维FDTD网格通过CAD可视化检测;
图7为正方体三维FDTD网格通过CAD可视化检测;
图8为球壳多阶FDTD网格通过CAD可视化检测;
图9为复杂模型三维FDTD网格通过CAD可视化检测。
具体实施方式
下面结合附图对本发明的技术方案做进一步详细说明。
如图1所示,表示三角面元在一个FDTD网格中,在建模中,三角面元尺寸通常都很小,而FDTD网格尺寸所取比较大,因此图中的情形代表了大多三角面元和FDTD网格的关系。在图中,该FDTD网格赋值为三角面元所在部件的号码。
如图2所示,在图中一个三角面元在两个FDTD网格中,这两个FDTD网格赋值为三角面元所在部件的号码。
如图3所示,stl格式三角面元模型数据是每7行代表了一个三角面元,三个点坐标均以vertex开始,读取所在行成字符串,再根据数据所在的位置转换为数据格式存在三维点坐标数据中。同时每个部件以‘solid name’,‘endsolid’开始和结束,并记录部件起始行数据。
如图4所示,在Hypermesh中剖分球模型的三角面元图,球半径为1m。
如图5所示,在Hypermesh中剖分正方体模型的三角面元图,正方体边长为2.5cm。
如图6所示,采用本文所述方法,对图4所示的球建模,生成三维FDTD网格,通过CAD检测正确性。
如图7所示,采用本文所述方法,对图5所示的正方体建模,生成三维FDTD网格,通过CAD检测正确性。
如图8所示,球壳部件使用细FDTD网格建模,内部空腔使用普通FDTD网格建模,细化特殊部件球壳特征,图为其横截面图。
如图9所示,复杂开槽模型的三维FDTD网格图,通过CAD可视化检测。
Claims (5)
1.一种多阶FDTD网格建模方法,其特征在于包括以下步骤:
步骤一,使用Hypermesh建模工具建模得Hypermesh模型,对Hypermesh模型进行剖分,剖分成三角面元模型,保存三角面元模型得stl格式三角面元模型数据;
步骤二,处理stl格式三角面元模型数据,保存stl格式三角面元模型数据中三维点坐标数据以及部件起始行数据;
步骤三,根据三维点坐标数据以及部件起始行数据,建立该部件FDTD网格;
步骤四,组合多部件,生成最终FDTD模型;
所述步骤三建模过程将分为普通网格部件建模和细网格部件建模,具体包括以下过程:
过程4.1,根据部件起始行数据处理三维点坐标数据,读取三维点坐标数据,创建3*3的矩阵代表一个三角面元片,按照每三行读取一个三角面元数据创建一个循环,存储在临时3*3的矩阵中;
过程4.2,根据三维点坐标数据生成三维FDTD网格,若部件判断为普通部件,则对其进行普通网格部件建模;对每个3*3的三角面元所对应的矩阵,把三个点放在FDTD网格中,所需要计算的是根据步长的取整计算,即把三角面元的三个点放在三维FDTD网格的格点上;如果网格很粗或所取的步长很大的情况下,三角形的三个点都在一个网格内,就对这个网格赋值该部件的号码;如果三角面元跨越了多个FDTD网格,则针对每个3*3的三角面元所对应的矩阵得到根据步长取整的三个量化点,扩大成一个长方体,即可包含覆盖不到的所有网格点,再对这些FDTD网格点赋值部件号;若部件判断为特殊部件,则对其进行细网格部件建模;将普通网格分割成8个细网格,对每个3*3的三角面元所对应的矩阵,把三个点放在FDTD网格中,所需要计算的是根据步长的取半整计算,即在二分之一网格点处判定网格实点;记录细网格部件信息方法是:部件号+网格类型+八个细网格信息,普通网格只记录部件号;
过程4.3,对部件内部补充实点,进行补点的处理时,每个部件只是一个空壳,内部没有点,采用的方法是针对每个空点,看它X正向反向,Y正向反向,Z正向反向有没有点存在,一共六个方向的延伸,如果每个方向都存在点,那么这个点是在体内部的,是存在的;具体的做法为:根据三维FDTD网格数据,依据它的格点存储方式,读出YZ坐标与所述空点相同的所有点,得到一组数据,并放在临时的数组中,得到了X正向反向上的点;同理Y和Z方向也按照相同的方法得到另外两组数组;在这三个数组里以所述空点为中心分别做循环往外延伸,如果碰到实点,做标记;如果六个方向都标记到,则可以判定所述空点也是实点,并对所述空点赋值所在部件号;
过程4.4,若stl格式三角面元模型存在多个部件则重复对每个部件进行上述过程4.1、4.2、4.3;部件一的部件号为1,部件二的部件号为2,依次类推。
2.根据权利要求1所述的一种多阶FDTD网格建模方法,其特征在于所述步骤一具体为:使用UG,CAD和Hypermesh商用建模软件建模,再导入到Hypermesh中进行剖分;选择edgedeviation进行剖分,根据实际模型尺寸选择最大最小三角面元尺寸,运行程序后根据模型的复杂程度自动选择合适的尺寸进行剖分,最后导出stl格式三角面元模型数据。
3.根据权利要求1所述的一种多阶FDTD网格建模方法,其特征在于所述步骤二具体包括以下过程:
过程3.1,读取stl格式三角面元模型数据的总行数;
过程3.2,判断stl格式三角面元模型数据中三维点坐标所在的行数及三维点坐标数据所在位置;
过程3.3,用Fortran语言读取三维点坐标所在行成字符串;
过程3.4,将过程3.3中所述的字符串按照三维点坐标数据所在的字符位置转化成数据格式;
过程3.5,存储三维点坐标数据到文件中;
过程3.6,判断多种部件所在的起始行数;
过程3.7,根据三维点坐标数据所有点三维方向上最大最小值判断Hypermesh模型尺寸,基于用户对三维FDTD网格大小的需求选取合适的空间步长。
4.根据权利要求1所述的一种多阶FDTD网格建模方法,其特征在于所述步骤四具体包括以下过程:
将各部件整合成最终的三维FDTD网格,具体方法是:补点后计算该部件有多少个FDTD网格点,得到部件的大小;针对多部件,每个部件处理后都对应一个FDTD网格文件,整合多个部件首先要生成空的模型大小FDTD网格,让部件文件依次写入,写入每个实点过程需对其进行条件约束,具体约束条件如下:若最终FDTD网格文件中的点为空点,则可写入;若最终FDTD网格文件中的点为普通FDTD网格点,则要先写入新部件普通FDTD网格点,然后需要比较部件大小,取小部件写入;若最终FDTD网格文件中的点为细FDTD网格点,则要先写入细FDTD网格点,若所述细FDTD网格点处于部件交界处,则比较部件大小,取小部件写入,并读取所述细FDTD网格点的信息,若所述细FDTD网格点有空点,则赋值为原先点的部件号,并写入;所有部件处理后,即得到最终的FDTD网格模型文件。
5.根据权利要求3所述的一种多阶FDTD网格建模方法,其特征在于过程3.7根据所有点三维方向上最大最小值选取用户自定的空间步长生成任意大小的FDTD网格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610179450.0A CN105869213B (zh) | 2016-03-25 | 2016-03-25 | 一种多阶fdtd网格建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610179450.0A CN105869213B (zh) | 2016-03-25 | 2016-03-25 | 一种多阶fdtd网格建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105869213A CN105869213A (zh) | 2016-08-17 |
CN105869213B true CN105869213B (zh) | 2018-11-20 |
Family
ID=56624973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610179450.0A Active CN105869213B (zh) | 2016-03-25 | 2016-03-25 | 一种多阶fdtd网格建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105869213B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109448121B (zh) * | 2018-09-26 | 2023-09-15 | 深圳市重投华讯太赫兹科技有限公司 | 一种三角网格模型的处理方法、处理终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310069A (zh) * | 2013-06-25 | 2013-09-18 | 西安电子科技大学 | 面向时域有限差分电磁计算的载体网格划分方法 |
CN105279320A (zh) * | 2015-10-09 | 2016-01-27 | 江苏大学 | 一种生成fdtd网格的方法 |
-
2016
- 2016-03-25 CN CN201610179450.0A patent/CN105869213B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310069A (zh) * | 2013-06-25 | 2013-09-18 | 西安电子科技大学 | 面向时域有限差分电磁计算的载体网格划分方法 |
CN105279320A (zh) * | 2015-10-09 | 2016-01-27 | 江苏大学 | 一种生成fdtd网格的方法 |
Non-Patent Citations (1)
Title |
---|
基于目标三角面元模型生成FDTD共形网格的方法;胡晓娟 等;《强激光与粒子束》;20070831;第19卷(第8期);1333-1337 * |
Also Published As
Publication number | Publication date |
---|---|
CN105869213A (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10719549B2 (en) | Querying a database based on a parametric view function | |
CN103890766B (zh) | 坐标测量系统数据缩减 | |
US20020135577A1 (en) | Storage method of substantial data integrating shape and physical properties | |
US20080246766A1 (en) | Numerical analysis mesh generating method and apparatus | |
CN110033519B (zh) | 基于隐式函数的三维建模方法、装置、系统及存储介质 | |
JP5969837B2 (ja) | 性能予測装置、性能予測方法、及びプログラム | |
CN109492796A (zh) | 一种城市空间形态自动分区方法与系统 | |
CN110246205A (zh) | 一种平面工件自动排版方法 | |
CN104598553A (zh) | 一种复合式的地质图制图自动综合的方法 | |
CN105869213B (zh) | 一种多阶fdtd网格建模方法 | |
Shin et al. | Data enhancement for sharing of ship design models | |
CN112966390B (zh) | 基于双重三维距离场的衣服处理方法以及装置 | |
CN107886573B (zh) | 一种复杂地质条件下边坡三维有限元网格生成方法 | |
CN105279320B (zh) | 一种生成fdtd网格的方法 | |
CN107209794A (zh) | 解剖结构的有限元建模 | |
CN110532670B (zh) | 一种适分析样条实体模型构建方法及系统 | |
CN105719349B (zh) | 基于最大化泊松圆盘采样的四面体网格化方法和系统 | |
CN111383341A (zh) | 从原始网格生成结构化的3d模型 | |
JP4208191B2 (ja) | 形状と物理量を統合したボリュームデータの生成方法及び生成装置と生成プログラム | |
CN110322415A (zh) | 基于点云的高精度表面三维重构方法 | |
CN114880849A (zh) | 一种分区块建模的三维地质模型自动合并方法 | |
Wang | A NURBS-Based Computational Tool for Hydrodynamic Optimization of Ship Hull Forms | |
JP5969836B2 (ja) | モデル適用装置、モデル適用方法、及びプログラム | |
CN111210870A (zh) | 蛋白质分类方法 | |
Mascarenhas et al. | Isocontour based visualization of time-varying scalar fields |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |