一种生成fdtd网格的方法

文档序号:9524355阅读:2259来源:国知局
一种生成fdtd网格的方法
【技术领域】
[0001]本发明属于电磁场数值计算领域,具体涉及一种FDTD三维建模技术。
【背景技术】
[0002]近年来随着商用建模软件的迅速发展,使得复杂模型的建模变得十分便利。但是用FDTD方法研究物体的电磁散射特性时,必须按照FDTD要求进行网格化离散,即将FDTD计算区域以六面体元胞(长方体)为单元进行剖分,并确定每个单元的介质参数。
[0003]随着FDTD方法的广泛采用,算法的不断进步,对能够进行复杂模型FDTD计算的需求越加强烈。普通的建模根据模型的解析式,只能生成简单的模型,无法解决复杂模型的问题。因此非常有必要设计一种能够解决多部件复杂模型的FDTD网格生成技术。

【发明内容】

[0004]本发明的目的在于提供一种生成FDTD网格的方法,解决复杂模型及多种材料FDTD建模问题。
[0005]为了解决以上技术问题,本发明设计建立一种复杂三角面元模型生成FDTD网格技术。基于商用软件Hypermesh生成三角面元的模型,再对之进行处理生成三维FDTD网格。实现空间步长的自由选取,生成不同规格的FDTD网格,同时解决了多种介质材料复杂模型的问题:
[0006]—种生成FDTD网格的方法,其特征在于包括以下步骤:
[0007]步骤一,使用Hypermesh建模工具建模得Hypermesh模型,对Hypermesh模型进行剖分,剖分成三角面元模型,保存三角面元模型得stl格式三角面元模型数据;
[0008]步骤二,按stl格式三角面元模型数据的格式处理stl格式三角面元模型数据,保存stl格式三角面元模型数据中三维点坐标数据以及部件起始行数据;
[0009]步骤三,根据三维点坐标数据以及部件起始行数据,建立FDTD网格。
[0010]所述步骤一具体为使用UG,CAD,Hypermesh等商用建模软件建模,再导入到Hypermesh中进行剖分。选择edge deviat1n进行剖分,根据模型尺寸选择最大最小三角面元尺寸,运行程序后会根据模型的复杂程度自动选择合适的尺寸来剖分,最后导出stl格式三角面元模型数据。
[0011]所述步骤二具体包括以下过程:
[0012]过程3.1,读取stl格式三角面元模型数据的总行数;
[0013]过程3.2,判断stl格式三角面元模型数据中三维点坐标所在的行数及三维点坐标数据所在位置;
[0014]过程3.3,用Fortran语言读取该行成字符串;
[0015]过程3.4,将上步骤所述的字符按照三维点坐标数据所在的字符位置转化成数据格式;
[0016]过程3.5,存储三维点坐标数据到文件中;
[0017]过程3.6,判断多种部件所在的起始行数;
[0018]过程3.7,根据三维点坐标数据所有点三维方向上最大最小值判断Hypermesh模型尺寸,基于用户对三维FDTD网格大小的需求选取合适的空间步长。
[0019]所述步骤三具体包括以下过程:
[0020]过程4.1,根据部件起始行数据处理三维点坐标数据,读取三维点坐标数据,创建3*3的矩阵代表一个三角面元片,创建一个循环按照每三行读取一个三角面元数据,存储在临时3*3的矩阵中;
[0021 ] 过程4.2,根据三维点坐标数据生成三维FDTD网格,对每个3*3的三角面元所对应的矩阵,把三个点放在FDTD网格中,所需要计算的是根据步长的取整计算,即把三角面元的三个点放在三维FDTD网格的格点上。如果网格很粗,或者说所取的步长很大的情况下,三角形的三个点都在一个网格内,就对这个网格赋值该部件的号码。如果三角面元跨越了多个FDTD网格,那么针对每个3*3的三角面元所对应的矩阵,得到根据步长取整的三个量化点,扩大成一个长方体,就可以包含覆盖不到的所有网格点,再对这些FDTD网格点赋值部件号;
[0022]过程4.3,对部件内部补充实点,进行补点的处理时,每个部件只是一个空壳,内部没有点。采用的方法是针对每个空点,看它X正向反向,Y正向反向,z正向反向有没有点存在,一共六个方向的延伸,如果每个方向都存在点,那么这个点是在体内部的,是存在的。具体的做法是,根据三维FDTD网格数据,依据它的格点存储方式,读出YZ坐标与该点相同的所有点,得到一组数据,并放在临时的数组中,得到了 X正向反向上的点。同理Y和Z方向也按照相同的方法得到另外两组数组。在这三个数组里以该点为中心分别做循环(往外延伸),如果碰到实点,做标记。如果六个方向都标记到,则可以判定该点也是实点,并对该点赋值所在部件号;
[0023]过程4.4,如模型存在多个部件则重复对每个部件进行上述过程4.1,4.2,4.3。部件1的部件号为1,部件二的部件号为2,依次类推;
[0024]过程4.5,对比部件大小,将各部件合成最终的三维FDTD网格,具体方法是:补点后计算该部件有多少个FDTD网格点,得到部件的大小。针对多部件重合的点,比较部件大小,取较小部件保证模型的精确度,再把各个部件整合到FDTD网格中。
[0025]本发明能够识别复杂模型开槽的情况,并对之进行处理。所述采用文件方式存储读取所有的数据和文件。一旦数据超过数组的极限,计算机内存限制,就会溢出,就不能对复杂的模型进行三角面元处理。采用文件之间的读写,速度慢,但能满足对大数据处理的需求。
[0026]本发明具有有益效果。本发明是通过Hypermesh商用建模软件,把模型剖分成三角面元,再转化成FDTD网格。本发明具有灵活建模,识别多重材料部件,识别开槽空腔的优点。
【附图说明】
[0027]图1为三角面元在一个三维FDTD网格内情形;
[0028]图2为三角面元在多个三维FDTD网格内情形;
[0029]图3为stl数据格式;
[0030]图4为Hypermesh中球剖分成的三角面元图;
[0031]图5为Hypermesh中正方体剖分成的三角面元图;
[0032]图6为球三维FDTD网格通过CAD可视化检测;
[0033]图7为正方体三维FDTD网格通过CAD可视化检测;
[0034]图8 (a)为金属球RCS及其MIE级数解对比;
图8 (b)为金属立方体RCS及其MIE级数解对比;
[0035]图9为复杂模型的Hypermesh剖分成的三角面元图;
[0036]图10为复杂模型三维FDTD网格通过CAD可视化检
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1