CN117094268A - 网格间数据传递方法、装置、存储介质及电子设备 - Google Patents
网格间数据传递方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117094268A CN117094268A CN202311340163.XA CN202311340163A CN117094268A CN 117094268 A CN117094268 A CN 117094268A CN 202311340163 A CN202311340163 A CN 202311340163A CN 117094268 A CN117094268 A CN 117094268A
- Authority
- CN
- China
- Prior art keywords
- grid
- node
- data transmission
- unit
- cell
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 121
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012546 transfer Methods 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 abstract description 8
- 238000013461 design Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种网格间数据传递方法、装置、存储介质及电子设备,属于电子设计自动化技术领域。所述网格间数据传递方法包括:分别获取原始网格和新网格;在原始网格中分别查找新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;分别基于各个节点对应的数据传递网格单元,确定得到各个节点的参数。实现了基于网格单元的线性插值算法,相较于最临近插值法,由于基于的是网格单元,参与运算的不再是单个的节点,从而使精度大幅提升;同时相较于双线性插值法,通过网格单元,可以快速查找到对应的数据传递网格单元,从而保证了精度且提高了效率。
Description
技术领域
本发明涉及电子设计自动化技术领域,具体地涉及一种网格间数据传递方法、一种网格间数据传递装置、一种机器可读存储介质及一种电子设备。
背景技术
对器件电学参数仿真软件来说,一般采用有限元方法。对于同一个器件模型,每个不同的求解器,往往有其最适配的不同网格划分:某一种网格划分,某求解器可以正常运行计算出结果,而对于其他网格划分,该求解器可能无法计算出理想的结果,但对另一求解器来说反之。因此,在实际仿真过程中,对于同一个器件,当利用求解器A适配的网格文件去配置对求解器B适配的网格上各节点的参数时,一般采用插值法进行网格之间的数据传递。
目前一般采用的插值法主要包括最临近插值法和双线性插值法,其中,最临近插值法是对其中一个网格的节点搜索另一网格上与之距离最近的节点作为其对应节点,并将这个对应节点上的数据作为自己节点上的插值数据。请参看图5,图5示意性示出了根据本申请实施例的双线性插值法的示意图。双线性插值法是在节点Q11,Q12,Q21,Q22数据已知的前提下,用线性插值法通过Q11和Q21求出R1的数据,并通过Q12和Q22求出R2的数据,然后通过R1和R2求出P的数据。
最临近插值法的计算效率较高,但是很明显有精度不足的问题。而双线性插值法虽然精度上有优势,但是难以有高的计算效率。
因此,现有的网格之间的数据传递存在不能同时满足计算效率和精度的问题。
发明内容
本发明实施例的目的是提供一种网格间数据传递方法、一种网格间数据传递装置、一种机器可读存储介质及一种电子设备,该网格间数据传递方法基于网格单元的线性插值算法,使网格间的数据传递能够同时满足计算效率和精度。
为了实现上述目的,本申请第一方面提供一种网格间数据传递方法,包括:
分别获取原始网格和新网格;
在原始网格中分别查找新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;
分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数,以实现网格间数据传递。
在本申请实施例中,在原始网格中查找新网格中节点所在的网格单元,包括:
读取新网格中节点的坐标;
遍历原始网格中的每个网格单元,并根据新网格中每一节点的坐标判断该节点是否在各个网格单元内;
确定节点在网格单元内,则将该网格单元作为该节点的数据传递网格单元。
在本申请实施例中,所述根据新网格中每一节点的坐标判断该节点是否在各个网格单元内,包括:
分别确定各个网格单元在各个坐标轴上的取值范围;
分别判断节点在各个坐标轴上的坐标值是否在网格单元的对应坐标轴上的取值范围内;
在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内。
在本申请实施例中,所述在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内,包括:
在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定得到该节点对应的初始数据传递网格单元;
基于该节点和该节点对应的初始数据传递网格单元,确定得到对应的多个子网格单元;
分别计算初始数据传递网格单元的面积和对应的各个子网格单元的面积;
判断初始数据传递网格单元的面积是否等于对应的各个子网格单元的面积之和;
在初始数据传递网格单元的面积等于对应的各个子网格单元的面积之和的情况下,确定该节点在该网格单元内。
在本申请实施例中,分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数,包括:
对于其中一节点:
基于该节点对应的数据传递网格单元,得到该节点的数据传递节点参数;
基于该节点的数据传递节点参数、该节点对应的初始数据传递网格单元的面积和对应的各个子网格单元的面积,对该节点进行线性插值,得到新网格中该节点的参数。
在本申请实施例中,所述基于该节点的数据传递节点参数、该节点对应的初始数据传递网格单元的面积和对应的各个子网格单元的面积,对该节点进行线性插值,得到新网格中该节点的参数,包括:
分别将所述各个子网格单元的面积与所述初始数据传递网格单元中不在子网格单元中的该节点的参数相乘,得到各个子节点参数;
将所述各个子节点参数相加后再除以所述初始数据传递网格单元的面积,得到新网格中该节点的参数。
在本申请实施例中,所述方法还包括:
在原始网格中未查找到新网格的节点所在的网格单元的情况下,将新网格的节点的参数设置为预设值。
本申请第二方面提供一种网格间数据传递装置,包括:
获取模块,用于分别获取原始网格和新网格;
查找模块,用于在原始网格中分别查找新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;
确定模块,用于分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数,以实现网格间数据传递。
在本申请实施例中,所述查找模块包括:
读取子模块,用于读取新网格中节点的坐标;
判断子模块,用于遍历原始网格中的每个网格单元,并根据新网格中每一节点的坐标判断该节点是否在各个网格单元内;
节点确定子模块,用于在确定节点在网格单元内的情况下,将该网格单元作为该节点的数据传递网格单元。
在本申请实施例中,所述判断子模块包括:
取值确定单元,用于分别确定各个网格单元在各个坐标轴上的取值范围;
范围判断单元,用于分别判断节点在各个坐标轴上的坐标值是否在网格单元的对应坐标轴上的取值范围内;
网格确定单元,用于在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内。
在本申请实施例中,所述网格确定单元包括:
初始网格确定子单元,用于在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定得到该节点对应的初始数据传递网格单元;
子网格确定子单元,用于基于该节点和该节点对应的初始数据传递网格单元,确定得到对应的多个子网格单元;
第一计算子单元,用于分别计算初始数据传递网格单元的面积和对应的各个子网格单元的面积;
面积判断子单元,用于判断初始数据传递网格单元的面积是否等于对应的各个子网格单元的面积之和;
确定子单元,用于在初始数据传递网格单元的面积等于对应的各个子网格单元的面积之和的情况下,确定该节点在该网格单元内。
本申请第三方面提供一种电子设备,该电子设备包括:
至少一个处理器;
存储器,与所述至少一个处理器连接;
其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现上述的网格间数据传递方法。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的网格间数据传递方法。
通过上述技术方案,通过分别获取原始网格和新网格;然后在原始网格中分别查找所述新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;最后基于各个节点对应的数据传递网格单元,分别确定得到各个节点的参数。实现了基于网格单元的线性插值算法,相较于最临近插值法,由于基于的是网格单元,参与运算的不再是单个的节点,从而使精度大幅提升;同时相较于双线性插值法,通过网格单元,可以快速查找到对应的数据传递网格单元,从而保证了精度且提高了效率。对于给定的原始网格和对应的各节点参数,在保证尽量减少数据传递带来的误差影响的前提下,可以在短时间内进行网格间的数据传递。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的一种网格间数据传递方法的流程示意图;
图2示意性示出了根据本申请实施例的网格示意图;
图3示意性示出了根据本申请实施例的线性插值示意图;
图4示意性示出了根据本申请实施例的三角形网格数据传递整体流程图;
图5示意性示出了根据本申请实施例的双线性插值法的示意图;
图6示意性示出了根据本申请实施例的一种网格间数据传递装置的结构框图;
图7示意性示出了根据本申请实施例的计算机设备的内部结构图。
附图标记说明
410-获取模块;420-查找模块;430-确定模块;A01-处理器;A02-网络接口;A03-内存储器;A04-显示屏;A05-输入装置;A06-非易失性存储介质;B01-操作系统;B02-计算机程序。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
需要说明的是,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参看图1,图1示意性示出了根据本申请实施例的一种网格间数据传递方法的流程示意图。本实施例提供一种网格间数据传递方法,用于对于同一个器件,利用求解器A适配的网格文件,去配置对求解器B适配的网格上各节点的参数。基于在原始网格中查找出对应的节点的网格单元,对于给定的原始网格和对应的各节点数据,在保证尽量减少数据传递带来的误差影响的前提下,可以在短时间内进行网格间的数据传递。需要说明的是,本实施例提供的网格间数据传递方法可以适用于各种形状的网格,为了便于对方案进行说明,本实施例主要以三角形网格进行说明。
本实施例提供一种网格间数据传递方法,包括以下步骤:
步骤210:分别获取原始网格和新网格;
在本实施例中,请参看图2,图2示意性示出了根据本申请实施例的网格示意图。上述原始网格中包括有多个节点,各个节点对应有坐标以及各个节点的参数,原始网格根据实际需要划分为多个网格单元,如图2所示,划分为多个三角形网格;上述新网格包括各个节点的坐标。所述原始网格和新网格处于同一坐标系中。需要说明的是,坐标系可以是二维或是多维坐标系,具体可以根据实际情况设定。为了便于对节点进行识别,上述原始网格中每个网格单元顶点的对应节点设置有编号。
步骤220:在原始网格中分别查找所述新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;
在本实施例中,对于新网格中的每一个节点,都需要遍历原始网格中所有的网格单元,判断是否在网格单元内。可以将新网格中的第i个节点记为ni,且设置初始值i=1,对于第i个节点ni,遍历原始网格中所有的网格单元,查找出对应的数据传递网格单元,在第ni节点查找完后,判断是否是最后一个节点,若不是,则i=i+1,继续循环查找,直到最后一个节点查找完,得到各个节点对应的数据传递网格单元。
在一些实施例中,对于新网格中的每一个节点,在原始网格中查找所述新网格中节点所在的网格单元,包括:
首先,读取新网格中节点的坐标;
然后,遍历原始网格中的每个网格单元,并新网格中每一节点的坐标判断该节点是否在各个网格单元内;
最后,确定节点在网格单元内,则将该网格单元作为该节点的数据传递网格单元。
在本实施例中,遍历所述原始网格中的每个网格单元,将新网格中节点的坐标与网格单元对应的各个顶点坐标进行对比,以判断节点是否在网格单元内。若在该网格单元内,则说明该网格单元为该节点的数据传递网格单元;反之则不是,继续判断下一个网格单元。
在一些实施中,为了能够快速确定出节点是否在网格单元内,还可以先找出网格单元在各个坐标轴方面上的取值范围,然后再判断新网格中的节点坐标是否在取值范围内,从而能够快速判断出节点是否在网格单元内。具体为:所述根据新网格中每一节点的坐标判断该节点是否在各个网格单元内包括:
第一步,分别确定各个网格单元在各个坐标轴上的取值范围;
比如,在二维坐标系中,在网格单元所对应的三个节点中,分别确定出X方向的最大值与最小值,以及Y方向的最大值和最小值,这样就可以得到网格单元在X轴的取值范围以及在Y轴的取值范围。需要说明的是,上述是以二维坐标系进行举例说明,其他多维坐标系可以按照类似的方式分别确定各个坐标轴上的取值范围。
第二步,分别判断节点在各个坐标轴上的坐标值是否在网格单元的对应坐标轴上的取值范围内;
在本实施例中,在确定了各个网格单元在各个坐标轴上的取值范围后,分别判断节点的坐标是否在各个坐标轴上的取值范围内,比如:判断其X坐标是否在该网格单元的X方向的最大值与最小值范围内,以及判断其Y坐标是否在Y方向的最大值与最小值区间内。
第三步,在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内。
在本实施例中,若节点在各个坐标轴上的坐标值均在对应坐标轴上的取值范围内,说明该节点是在网格单元内;反之,则说明该节点不在网格单元内。
通过先确定出网格单元在各个坐标轴上的取值范围,然后再判断节点的坐标值是否在坐标轴上的取值范围内,可以快速确定出节点是否在网格单元内,从而提高了计算速度。
上述判断节点是否在网格单元内是基于节点坐标来判断,在一些实施例中,为了提高判断的准确度,在确定节点的坐标值在坐标轴上的取值范围内内之后,还可以进一步基于面积来判断节点是否在网格单元内。具体包括以下步骤:
首先,在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定得到该节点对应的初始数据传递网格单元;
然后,基于该节点和该节点对应的初始数据传递网格单元,确定得到对应的多个子网格单元;
然后,分别计算初始数据传递网格单元的面积和对应的各个子网格单元的面积;
然后,判断初始数据传递网格单元的面积是否等于对应的各个子网格单元的面积之和;
最后,在所述初始数据传递网格单元的面积等于对应的各个子网格单元的面积之和的情况下,确定该节点在该网格单元内。
在本实施例中,在节点在各个坐标轴上的坐标值在网格单元在对应坐标轴上的取值范围内的情况下,可以得到该网格单元为节点对应的初始数据传递网格单元。然后将该节点与初始数据传递网格单元中的节点进行连接,以得到多个子网格单元,当子网格单元的面积之和等于初始数据传递网格单元的面积,则说明节点在该网格单元内,反之则说节点不在该网格单元内。以此遍历所有的网格单元。
以三角形网格为例,请参看图3,图3示意性示出了根据本申请实施例的线性插值示意图。确定得到初始数据传递网格单元为三角形ABC,节点为ni,分别计算三角形BCni,ACni,ABni的面积,分别记为S1,S2,S3,并计算三角形ABC的面积为S0,分别计算S0与S1+S2+S3,若S0与S1+S2+S3相等,则判定为ni在三角形ABC之内,若不等,则判定节点ni不在三角形ABC之内。
通过在确定节点在各个坐标轴上的坐标值在网格单元在对应坐标轴上的取值范围内之后,进一步通过判断初始数据传递网格单元的面积与各个子网格单元的面积之和是否相等,来确定节点是否在该网格单元内,从而进一步提高了判断节点是否在网格单元内的准确度,进而有助于提高数据传递的准确度。
步骤230:分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数,以实现网格间数据传递。
在本实施例中,在确定了各个节点对应的数据传递网格单元后,数据传递网格单元包含有多个节点的参数,根据这些节点的参数进行线性插值,得到新网格的节点的参数。
在一些实施例中,每一个节点都是基于节点对应的数据传递网格单元,确定得到节点的参数,分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数具体包括:
对于其中一节点:
首先,基于该节点对应的数据传递网格单元,得到该节点的数据传递节点参数;
然后,基于该节点的数据传递节点参数、该节点对应的初始数据传递网格单元的面积和对应的各个子网格单元的面积,对该节点进行线性插值,得到新网格中该节点的参数。
其中,线性插值的过程包括:
第一步,分别将所述各个子网格单元的面积与所述初始数据传递网格单元中不在子网格单元中的该节点的参数相乘,得到各个子节点参数;
第二步,将所述各个子节点参数相加后再除以所述初始数据传递网格单元的面积,得到新网格中该节点的参数。
在本实施例中,可以基于原始网格的节点的参数和各个子网格单元的面积来计算得到新网格中节点的参数。以三角形网格为例,请参看图3,数据传递网格单元为三角形ABC,三角形ABC中顶点A对应的参数为a,顶点B对应的参数为b,顶点C对应的参数为c,节点ni在三角形ABC内,得到的子网格单元包括三角形BCni,ACni,ABni,其中,三角形BCni对应的面积为S1,三角形ACni对应的面积为S2,三角形ABni对应的面积为S3,三角形ABC对应的面积为S0。进行线性插值的过程为:计算(a*S1+b*S2+c*S3)/S0的值作为节点ni的参数,其中a*S1、b*S2、c*S3为子节点参数。
在一些实施例中,所述方法还包括:
在原始网格中未查找到所述新网格的节点所在的网格单元的情况下,将所述新网格的节点的参数设置为预设值。
在本实施例中,若在所述原始网格中未查找到所述新网格的节点所在的网格单元,则说明该节点在所述原始网格外,则可以将新网格的节点的参数设置为0。
下面以三角形网格为例,请参看图4,图4示意性示出了根据本申请实施例的三角形网格数据传递整体流程图。首先读取原始网格信息包括各节点坐标、三角形网格划分以及各节点对应参数;设i=1,对于新网格,读取其第i个节点坐标,然后在原始网格的各个三角形网格中查找其所在的三角形网格,判断是否能够找到其所在的三角形网格,若能够找到,则利用三角形中的线性插值法,对该点赋予参数数值;若不能够找到,则判断该点在网格外部,在内插法的前提下赋予参数数值为0。然后再判断当前节点是否是新网格中最后一个节点,若是,则输出各个节点的坐标和对应参数;若不是,则将i=i+1,重新读取其第i个节点坐标,再次执行上述操作,直至最后一个节点完成。从而实现基于三角形网格的高效线性插值算法。对于给定的三角形网格和对应的各节点数据,在保证尽量减少数据传递带来的误差影响的前提下,可以在短时间内进行三角形网格间的数据传递。
上述实现过程中,通过分别获取原始网格和新网格;然后在原始网格中分别查找所述新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;最后基于各个节点对应的数据传递网格单元,分别确定得到各个节点的参数。实现了基于网格单元的线性插值算法,相较于最临近插值法,由于基于的是网格单元,参与运算的不再是单个的节点,从而使精度大幅提升;同时相较于双线性插值法,通过网格单元,可以快速查找到对应的数据传递网格单元,从而保证了精度且提高了效率。对于给定的原始网格和对应的各节点参数,在保证尽量减少数据传递带来的误差影响的前提下,可以在短时间内进行网格间的数据传递。
图1为一个实施例中网格间数据传递方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本实施例提供一种网格间数据传递装置,请参看图6,图6示意性示出了根据本申请实施例的一种网格间数据传递装置的结构框图。该网格间数据传递装置包括获取模块410、查找模块420和确定模块430,其中:
获取模块410,用于分别获取原始网格和新网格;
查找模块420,用于在原始网格中分别查找所述新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;
确定模块430,用于基于各个节点对应的数据传递网格单元,分别确定得到各个节点的参数。
所述网格间数据传递装置包括处理器和存储器,上述获取模块410、查找模块420和确定模块430等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
其中,所述查找模块420包括:
读取子模块,用于读取新网格中节点的坐标;
判断子模块,用于遍历原始网格中的每个网格单元,并根据新网格中每一节点的坐标判断该节点是否在各个网格单元内;
节点确定子模块,用于在确定节点在网格单元内的情况下,将该网格单元作为该节点的数据传递网格单元。
其中,所述判断子模块包括:
取值确定单元,用于分别确定各个网格单元在各个坐标轴上的取值范围;
范围判断单元,用于分别判断节点在各个坐标轴上的坐标值是否在网格单元的对应坐标轴上的取值范围内;
网格确定单元,用于在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内。
其中,所述网格确定单元包括:
初始网格确定子单元,用于在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定得到该节点对应的初始数据传递网格单元;
子网确定子单元,用于基于该节点和该节点对应的所述初始数据传递网格单元,确定得到多个子网格单元;
第一计算子单元,用于分别计算初始数据传递网格单元的面积和对应的各个子网格单元的面积;
面积判断子单元,用于判断初始数据传递网格单元的面积是否等于对应的各个子网格单元的面积之和;
确定子单元,用于在初始数据传递网格单元的面积等于对应的各个子网格单元的面积之和的情况下,确定该节点在该网格单元内。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现在网格间的数据传递能够同时满足计算效率和精度。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种机器可读存储介质,其上存储有程序,该程序被处理器执行时实现所述网格间数据传递方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述网格间数据传递方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、显示屏A04、输入装置A05和存储器(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A06。该非易失性存储介质A06存储有操作系统B01和计算机程序B02。该内存储器A03为非易失性存储介质A06中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序被处理器A01执行时以实现一种网格间数据传递方法。该计算机设备的显示屏A04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置A05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的网格间数据传递装置可以实现为一种计算机程序的形式,计算机程序可在如图7所示的计算机设备上运行。计算机设备的存储器中可存储组成该网格间数据传递装置的各个程序模块,比如,图6所示的获取模块410、查找模块420和确定模块430。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的网格间数据传递方法中的步骤。
图7所示的计算机设备可以通过如图6所示的网格间数据传递装置中的跳转代码段获取模块410执行步骤210。计算机设备可通过查找模块420执行步骤220。计算机设备可通过确定模块430执行步骤230。
本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现上述的网格间数据传递方法。处理器执行指令时实现以下步骤:
分别获取原始网格和新网格;
在原始网格中分别查找所述新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;
分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数,以实现网格间数据传递。
在一个实施例中,在原始网格中查找新网格中节点所在的网格单元,包括:
读取新网格中节点的坐标;
遍历原始网格中的每个网格单元,并根据新网格中每一节点的坐标判断该节点是否在各个网格单元内;
确定节点在网格单元内,则将该网格单元作为该节点的数据传递网格单元。
在一个实施例中,所述根据新网格中每一节点的坐标判断该节点是否在各个网格单元内,包括:
分别确定各个网格单元在各个坐标轴上的取值范围;
分别判断节点在各个坐标轴上的坐标值是否在网格单元的对应坐标轴上的取值范围内;
在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内。
在一个实施例中,所述在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内,包括:
在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定得到该节点对应的初始数据传递网格单元;
基于该节点和该节点对应的初始数据传递网格单元,确定得到对应的多个子网格单元;
分别计算初始数据传递网格单元的面积和对应的各个子网格单元的面积;
判断初始数据传递网格单元的面积是否等于对应的各个子网格单元的面积之和;
在初始数据传递网格单元的面积等于对应的各个子网格单元的面积之和的情况下,确定该节点在该网格单元内。
在一个实施例中,分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数,包括:
对于其中一节点:
基于该节点对应的数据传递网格单元,得到该节点的数据传递节点参数;
基于该节点的数据传递节点参数、该节点对应的初始数据传递网格单元的面积和对应的各个子网格单元的面积,对该节点进行线性插值,得到新网格中该节点的参数。
在一个实施例中,所述基于该节点的数据传递节点参数、该节点对应的初始数据传递网格单元的面积和对应的各个子网格单元的面积,对该节点进行线性插值,得到新网格中该节点的参数,包括:
分别将所述各个子网格单元的面积与所述初始数据传递网格单元中不在子网格单元中的该节点的参数相乘,得到各个子节点参数;
将所述各个子节点参数相加后再除以所述初始数据传递网格单元的面积,得到新网格中该节点的参数。
在一个实施例中,所述方法还包括:
在原始网格中未查找到新网格的节点所在的网格单元的情况下,将新网格的节点的参数设置为预设值。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种网格间数据传递方法,其特征在于,包括:
分别获取原始网格和新网格;
在原始网格中分别查找新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;
分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数,以实现网格间数据传递。
2.根据权利要求1所述的网格间数据传递方法,其特征在于,在原始网格中查找新网格中节点所在的网格单元,包括:
读取新网格中节点的坐标;
遍历原始网格中的每个网格单元,并根据新网格中每一节点的坐标判断该节点是否在各个网格单元内;
确定节点在网格单元内,则将该网格单元作为该节点的数据传递网格单元。
3.根据权利要求2所述的网格间数据传递方法,其特征在于,所述根据新网格中每一节点的坐标判断该节点是否在各个网格单元内,包括:
分别确定各个网格单元在各个坐标轴上的取值范围;
分别判断节点在各个坐标轴上的坐标值是否在网格单元的对应坐标轴上的取值范围内;
在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内。
4.根据权利要求3所述的网格间数据传递方法,其特征在于,所述在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内,包括:
在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定得到该节点对应的初始数据传递网格单元;
基于该节点和该节点对应的初始数据传递网格单元,确定得到对应的多个子网格单元;
分别计算初始数据传递网格单元的面积和对应的各个子网格单元的面积;
判断初始数据传递网格单元的面积是否等于对应的各个子网格单元的面积之和;
在初始数据传递网格单元的面积等于对应的各个子网格单元的面积之和的情况下,确定该节点在该网格单元内。
5.根据权利要求4所述的网格间数据传递方法,其特征在于,分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数,包括:
对于其中一节点:
基于该节点对应的数据传递网格单元,得到该节点的数据传递节点参数;
基于该节点的数据传递节点参数、该节点对应的初始数据传递网格单元的面积和对应的各个子网格单元的面积,对该节点进行线性插值,得到新网格中该节点的参数。
6.根据权利要求5所述的网格间数据传递方法,其特征在于,所述基于该节点的数据传递节点参数、该节点对应的初始数据传递网格单元的面积和对应的各个子网格单元的面积,对该节点进行线性插值,得到新网格中该节点的参数,包括:
分别将所述各个子网格单元的面积与所述初始数据传递网格单元中不在子网格单元中的该节点的参数相乘,得到各个子节点参数;
将所述各个子节点参数相加后再除以所述初始数据传递网格单元的面积,得到新网格中该节点的参数。
7.根据权利要求1所述的网格间数据传递方法,其特征在于,所述方法还包括:
在原始网格中未查找到新网格的节点所在的网格单元的情况下,将新网格的节点的参数设置为预设值。
8.一种网格间数据传递装置,其特征在于,包括:
获取模块,用于分别获取原始网格和新网格;
查找模块,用于在原始网格中分别查找新网格中各个节点所在的网格单元,得到各个节点对应的数据传递网格单元;
确定模块,用于分别基于各个节点对应的数据传递网格单元,确定得到新网格中各个节点的参数,以实现网格间数据传递。
9.根据权利要求8所述的网格间数据传递装置,其特征在于,所述查找模块包括:
读取子模块,用于读取新网格中节点的坐标;
判断子模块,用于遍历原始网格中的每个网格单元,并根据新网格中每一节点的坐标判断该节点是否在各个网格单元内;
节点确定子模块,用于在确定节点在网格单元内的情况下,将该网格单元作为该节点的数据传递网格单元。
10.根据权利要求9所述的网格间数据传递装置,其特征在于,所述判断子模块包括:
取值确定单元,用于分别确定各个网格单元在各个坐标轴上的取值范围;
范围判断单元,用于分别判断节点在各个坐标轴上的坐标值是否在网格单元的对应坐标轴上的取值范围内;
网格确定单元,用于在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定该节点在该网格单元内。
11.根据权利要求10所述的网格间数据传递装置,其特征在于,所述网格确定单元包括:
初始网格确定子单元,用于在节点在各个坐标轴上的坐标值在网格单元的对应坐标轴上的取值范围内的情况下,确定得到该节点对应的初始数据传递网格单元;
子网确定子单元,用于基于该节点和该节点对应的初始数据传递网格单元,确定得到对应的多个子网格单元;
第一计算子单元,用于分别计算初始数据传递网格单元的面积和对应的各个子网格单元的面积;
面积判断子单元,用于判断初始数据传递网格单元的面积是否等于对应的各个子网格单元的面积之和;
确定子单元,用于在初始数据传递网格单元的面积等于对应的各个子网格单元的面积之和的情况下,确定该节点在该网格单元内。
12.一种电子设备,其特征在于,该电子设备包括:
至少一个处理器;
存储器,与所述至少一个处理器连接;
其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现权利要求1至7任一项所述的网格间数据传递方法。
13.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至7中任一项所述的网格间数据传递方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311340163.XA CN117094268B (zh) | 2023-10-17 | 2023-10-17 | 网格间数据传递方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311340163.XA CN117094268B (zh) | 2023-10-17 | 2023-10-17 | 网格间数据传递方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117094268A true CN117094268A (zh) | 2023-11-21 |
CN117094268B CN117094268B (zh) | 2024-01-19 |
Family
ID=88780560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311340163.XA Active CN117094268B (zh) | 2023-10-17 | 2023-10-17 | 网格间数据传递方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117094268B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2608084A1 (en) * | 2011-12-22 | 2013-06-26 | Airbus Operations S.L. | Heterogeneous parallel systems for accelerating simulations based on discrete grid numerical methods |
CN115081349A (zh) * | 2022-05-12 | 2022-09-20 | 华南理工大学 | 一种冰区航行船舶流固耦合的cfd–fem–dem模拟方法 |
CN115794447A (zh) * | 2023-02-07 | 2023-03-14 | 青岛哈尔滨工程大学创新发展中心 | 一种用于多物理场耦合的网格数据传递方法 |
CN116227209A (zh) * | 2023-03-13 | 2023-06-06 | 厦门大学 | 一种点云数据多维线性差值方法、终端设备及存储介质 |
-
2023
- 2023-10-17 CN CN202311340163.XA patent/CN117094268B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2608084A1 (en) * | 2011-12-22 | 2013-06-26 | Airbus Operations S.L. | Heterogeneous parallel systems for accelerating simulations based on discrete grid numerical methods |
CN115081349A (zh) * | 2022-05-12 | 2022-09-20 | 华南理工大学 | 一种冰区航行船舶流固耦合的cfd–fem–dem模拟方法 |
CN115794447A (zh) * | 2023-02-07 | 2023-03-14 | 青岛哈尔滨工程大学创新发展中心 | 一种用于多物理场耦合的网格数据传递方法 |
CN116227209A (zh) * | 2023-03-13 | 2023-06-06 | 厦门大学 | 一种点云数据多维线性差值方法、终端设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
江雄心等: "三维有限元模拟中的网格重划", 《金属成形工艺》, vol. 20, no. 02, pages 2 * |
Also Published As
Publication number | Publication date |
---|---|
CN117094268B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI731543B (zh) | 計算機資料處理方法及裝置 | |
CN112583620B (zh) | 网络拓扑图生成方法、装置、电子设备和存储介质 | |
CN110968585B (zh) | 面向列的存储方法、装置、设备及计算机可读存储介质 | |
CN116227209A (zh) | 一种点云数据多维线性差值方法、终端设备及存储介质 | |
CN117220302A (zh) | 火储联合调频储能容量优化配置方法及系统 | |
CN104424294A (zh) | 一种信息处理方法及装置 | |
CN117094268B (zh) | 网格间数据传递方法、装置、存储介质及电子设备 | |
CN116896512B (zh) | 一种云边协同系统评估方法、装置、存储介质及电子设备 | |
CN111191090B (zh) | 确定业务数据展示图类型的方法、装置、设备和存储介质 | |
CN110019538A (zh) | 一种数据表切换方法及装置 | |
TWI710918B (zh) | 一種lsm樹的優化方法、裝置及電腦設備 | |
CN109697234B (zh) | 实体的多属性信息查询方法、装置、服务器和介质 | |
US10901972B2 (en) | Table partition configuration method, apparatus and system for database system | |
CN108648136B (zh) | 对二维查找表进行压缩的方法及装置 | |
CN110887490A (zh) | 一种激光定位导航的关键帧选取方法、介质、终端和装置 | |
CN113986214B (zh) | 核电站dcs系统应用软件逻辑图连线数据处理方法 | |
CN113849498B (zh) | 一种索引构建及查询方法 | |
CN113225675A (zh) | 一种指纹库生成方法、系统、服务器和存储介质 | |
CN116299472A (zh) | 基于毫米波雷达点云的目标状态优化方法及装置 | |
CN117041980B (zh) | 一种网元管理方法、装置、存储介质及电子设备 | |
CN112364030B (zh) | 一种基于可信账本数据库的业务衍生记录存储方法 | |
CN109324797B (zh) | 一种桌面图标生成方法、计算机可读存储介质及终端设备 | |
CN114398339A (zh) | 数据调度方法、装置及电子设备 | |
CN117424846A (zh) | 用于确定通信路径的方法、装置、处理器及存储介质 | |
CN117910143A (zh) | 一种基于MPI/OpenMP混合并行结构网格壁面距离计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |