CN113689556B - 一种块自适应型笛卡尔网格快速图映射方法及系统 - Google Patents

一种块自适应型笛卡尔网格快速图映射方法及系统 Download PDF

Info

Publication number
CN113689556B
CN113689556B CN202111237363.3A CN202111237363A CN113689556B CN 113689556 B CN113689556 B CN 113689556B CN 202111237363 A CN202111237363 A CN 202111237363A CN 113689556 B CN113689556 B CN 113689556B
Authority
CN
China
Prior art keywords
processor
node
geometric
grid
current
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
Application number
CN202111237363.3A
Other languages
English (en)
Other versions
CN113689556A (zh
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.)
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Original Assignee
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
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 Computational Aerodynamics Institute of China Aerodynamics Research and Development Center filed Critical Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Priority to CN202111237363.3A priority Critical patent/CN113689556B/zh
Publication of CN113689556A publication Critical patent/CN113689556A/zh
Application granted granted Critical
Publication of CN113689556B publication Critical patent/CN113689556B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/005Tree description, e.g. octree, quadtree
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/28Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing

Abstract

本发明公开了一种块自适应型笛卡尔网格快速图映射方法及系统,该方法包括以下步骤:S1,在MPI环境初始化后,在各处理器导入分布式块自适应型笛卡尔网格的几何数据,以此重构出多叉树结构,并建立相邻层次结点的链接关系;S2,跨处理器分享区域分解边界处的结点几何信息,并存储于相应的虚拟结点数据容器中;S3,在当前处理器上构造各叶子结点的局部几何拓扑;S4,在每个处理器上归一化完全重合的几何元素;S5,基于跨处理器查询操作建立区域分解边界处对接面元素的动态通信映射;S6,在各处理器上并行导出非结构多面体计算网格。本发明解决了现有技术存在的自适应几何模块与物理场数值模拟器融合困难、动态几何数据格式转化效率低等问题。

Description

一种块自适应型笛卡尔网格快速图映射方法及系统
技术领域
本发明涉及网格处理技术领域,具体是一种块自适应型笛卡尔网格快速图映射方法及系统。
背景技术
自适应笛卡尔网格技术是计算流体力学中捕捉局部流动特征最有效的方法之一,它可以根据指定的流动判据,动态地调整网格尺度的空间分布,从而为大范围空间涡演化过程的数值模拟提供支撑。依自适应方式的不同,笛卡尔网格可以划分为单元自适应与块自适应两大类型。在数据结构上,前者以多叉树叶子结点集合完成计算区域的划分,而后者在多叉树叶子结点上生成更加精细的局部网格块结构。相比于单元自适应方式,块自适应型笛卡尔网格能够使用同量级的内存构造出更多的基本计算单元,以深入挖掘高性能计算平台的潜在算力;同时,局部化的块结构还能满足高阶数值格式的构造需求。目前已有多种计算几何工具库完成了笛卡尔网格的并行自适应模块和动态负载平衡模块的封装,如单元自适应型的LIBMESH与P4EST,以及块自适应型的CHOMBO、PARAMESH与SAMRAI。它们通过多种函数接口实现了物理场数值模拟器与复杂几何并行分析器的分离,在流体力学、天文学、宇宙学、地质学等多个领域得到了广泛应用。
然而,实践表明,上述工具库的应用过程缺乏直接性,需要对现有模拟器架构进行大量的修改才能完成几何算法的嵌入。一方面,笛卡尔网格需要使用多叉树结构实现灵活的几何自适应过程,这就导致网格点、面单元与体单元等几何元素的遍历方式与传统的结构、非结构网格有着本质的不同。另一方面,相邻几何元素之间的层级差异会导致一对多或多对一的对接关系,使数值通量的计算以及物理场信息的跨处理器交换变得异常复杂。特别地,采用块自适应策略后,多叉树叶子结点上的精细结构将使数值模拟器的改造量更加显著。从高性能计算的视角来看,如果计算区域采用“结构/非结构网格+笛卡尔网格”的模式进行离散,那么多个数值模拟器的耦合应用将导致整体计算效率的降低。
发明内容
为克服现有技术的不足,本发明提供了一种块自适应型笛卡尔网格快速图映射方法及系统,解决现有技术存在的自适应几何模块与物理场数值模拟器融合困难、动态几何数据格式转化效率低等问题。
本发明解决上述问题所采用的技术方案是:
一种块自适应型笛卡尔网格快速图映射方法,包括以下步骤:
S1,在MPI环境初始化后,在各处理器导入分布式块自适应型笛卡尔网格的几何数据,以此重构出多叉树结构,并建立相邻层次结点的链接关系;
S2,跨处理器分享区域分解边界处的结点几何信息,并存储于相应的虚拟结点数据容器中;
S3,在当前处理器上构造各叶子结点的局部几何拓扑;
S4,在每个处理器上归一化完全重合的几何元素;
S5,基于跨处理器查询操作建立区域分解边界处对接面元素的动态通信映射;
S6,在各处理器上并行导出非结构多面体计算网格。
作为一种优选的技术方案,步骤S1包括以下步骤:
S11,依次导入当前处理器上各个结点在物理坐标系下的覆盖区域参数;
S12,利用覆盖区域参数计算全局尺度公差;
S13,根据结点网格块的邻接关系增设虚拟结点,并在当前处理器上用邻居指针描述这种邻接关系;
S14,依次沿着各坐标轴的正反方向,结合步骤S12的全局尺度公差及步骤S13的虚拟结点,确定当前结点表面元素的边界条件;
S15,按照当前处理器上结点序列的遍历顺序,将叶子结点指针提取后寄存在独立的向量容器中,新生成的虚拟结点指针存储于另外的独立的向量容器中。
作为一种优选的技术方案,步骤S11中,覆盖区域参数包括lower[i][j]和upper[i][j],其中,i为结点在当前处理器的局部编号,j为坐标轴序号,lower为区域坐标分量下确界,upper为区域坐标分量上确界;和/或;步骤S12中,设全局尺度公差为epsilon,设叶子结点上体单元沿着x、y、z坐标轴方向的剖分维数分别为ne[0]、ne[1]、ne[2],那么当前处理器上网格的最小分辨率resolution= min{(upper[i][j]–lower[i][j])/ne[j]},其中,i遍历当前处理器上的所有结点,j遍历x、y、z三个坐标轴方向;通过MPI全局规约操作即得到resolution,利用epsilon=resolution*beta得到epsilon,其中0.01≤beta≤0.1。
作为一种优选的技术方案,步骤S13中,结点网格块的邻接关系分为三种情形:①整体计算区域边界处,相邻结点不存在;直接将相应邻居结点指针置空;②相邻结点存在于当前处理器中;直接将相应邻居结点指针指向相应实体地址;③相邻结点存在于其它处理器中;设置虚拟结点作为邻居结点。
作为一种优选的技术方案,步骤S2包括以下步骤:
S21,在当前处理器上,按照虚拟结点绑定的目标处理器编号对其进行分组;
S22,通过广播操作生成处理器之间的通信关系列表;
S23,获取与虚拟结点对应的实体结点的分解属性;
S24,各处理器在接收的信息流中依次提取虚拟结点的分解属性值,根据该分解属性值判断虚拟结点在全局多叉树结构中对应的是叶子结点还是非叶子结点。
作为一种优选的技术方案,步骤S3包括以下步骤:
S31,根据ne[0]、ne[1]、ne[2]生成叶子结点上局部网格块内部的几何结构;
S32,在相同处理器上,按照空间交替方向遍历几何元素,并对它们的邻接关系进行直接解析;
S33,计算并存储叶子结点网格块各表面上的面心坐标序列与网格点坐标序列。
作为一种优选的技术方案,步骤S31包括以下步骤:
S311,在任意叶子结点上,内部体元素序列使用长度为ne[0]*ne[1]*ne[2]的基本体元素向量容器basicCellContainer加以存储;
S312,在叶子结点几何区域内部分别生成垂直于x、y、z轴的面元素序列;
S313,在叶子结点区域内部,生成空间点序列,并使用长度为(ne[0]-1)*(ne[1]-1)*(ne[2]-1)的基本点元素向量容器basicNodeContainer加以存储。
作为一种优选的技术方案,步骤S4包括以下步骤:
S41,以步骤S12计算出的全局尺度公差epsilon作为当前处理器上面心序列之交替方向数字树faceBinaryTree和网格点序列之交替方向数字树nodeBinaryTree的公差参数,完成它们的根结点的初始化;
S42,顺次遍历当前处理器上尚未归一化的面元素序列,提取其几何中心的坐标信息,在交替方向数字树faceBinaryTree上进行快速查询判断;如果前序已有相同的面心,那么获取相应面元素地址,与当前空间位置指针链接起来;否则,生成新的面元素实体并为其赋予局部序号,再与当前空间位置指针链接起来;再将归一化的面元素指针依次存储于附加面元素动态向量容器appendFaceContainer中;
S43,使用交替方向数字树nodeBinaryTree完成网格块结构外层点元素的归一化,将其地址与相应几何拓扑位置的指针链接起来;再将归一化的点元素指针依次存储于附加点元素向量容器appendNodeContainer中;
S44,合并步骤S31与步骤S42中的两个向量容器basicFaceContainer与appendFaceContainer,并在当前处理器上执行统一编号,使具有相同边界属性的面元素编号连续,然后按照编号值的大小对整体容器中的面元素地址进行排序;
S45,合并步骤S31与步骤S43中的两个向量容器basicNodeContainer与appendNodeContainer,并在当前处理器上执行顺次统一编号。
作为一种优选的技术方案,步骤S5包括以下步骤:
S51,在每个处理器上构造数据打包容器,收集当前处理器上的对接面元素几何数据和位置信息,其中几何数据为面心坐标分量值,以双精度浮点型变量存储,位置信息包含当前处理器编号以及对接面元素的序号,从而在每个处理器上形成对接面心信息组成的数据流;
S52,在主处理器上,建立集合规约容器,对各个处理器上的数据流进行累积;
S53,将主处理器上集合规约容器中的打包数据向其它处理器共享;
S54,基于当前处理器上对接面元素几何中心的坐标数据建立相应的交替方向数字树contactFaceBinaryTree,以步骤S12计算出的全局尺度公差epsilon为contactFaceBinaryTree的公差参数;
S55,在每个处理器上解压缩来自主处理器的打包数据,逐次提取对接面元素信息;当解压缩后实例化的面元素格心与当前网格上某个对接面元素中心重合并且前者的处理器参数与当前处理器编号不一致时,将前者的地址存储到动态向量容器contactFaceContainer中。
一种块自适应型笛卡尔网格快速图映射系统,包括以下模块:
第一模块,用以在MPI环境初始化后,在各处理器导入分布式块自适应型笛卡尔网格的几何数据,以此重构出多叉树结构,并建立相邻层次结点的链接关系;
第二模块,用以跨处理器分享区域分解边界处的结点几何信息,并存储于相应的虚拟结点数据容器中;
第三模块,用以在当前处理器上构造各叶子结点的局部几何拓扑;
第四模块,用以在每个处理器上归一化完全重合的几何元素;
第五模块,用以基于跨处理器查询操作建立区域分解边界处对接面元素的动态通信映射;
第六模块,用以在各处理器上并行导出非结构多面体计算网格。
本发明相比于现有技术,具有以下有益效果:
1.通用的数据接口既适应了分布式块自适应型笛卡尔网格拓扑结构的并行导入,也适应了一般非结构物理场数值模拟器计算网格的并行导出,有效促进了现有自适应几何工具库与求解器的深度融合,避免了二者架构上大量的复杂修改工作。
2.多叉树叶子结点上的面元素与点元素的分类方式,大幅削减了几何归一化过程中的查询次数;同时,充分把握块自适应型笛卡尔网格中面元素与自身中心坐标的等价性,拓展了交替方向数字树的应用范围。这些因素使网格的并行转换效率充分满足了非定常数值模拟器在超大规模自适应网格上的应用需求。
3.在网格转化过程中,通过表面元素分解机制彻底消除了悬挂网格点,使数值模拟器避免了大量、复杂的滑移边界的动态处理,有效抑制了边界物理场插值导致的误差累积效应。
附图说明
图1是本发明所述的一种块自适应型笛卡尔网格快速图映射方法的步骤示意图。
图2是本发明输入接口对应的块笛卡尔网格分区示意图。
图3是本发明构造的叉树结点跨进程通信器。
图4是本发明叉树结构向图结构并行转化的示意图。
图5是本发明建立网格跨处理器动态映射的示意图。
图6是本发明实施例3中的PmbOvs3d与PARAMESH融合示意图。
图7是本发明实施例3输入的原始叉树结构网格框架。
图8是本发明实施例3生成的块笛卡尔网格初始结构。
图9是本发明实施例3转化后的非结构计算网格。
图10是本发明实施例3块自适应型笛卡尔网格与直升机旋翼贴体网格的重叠效果。
具体实施方式
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
实施例1
如图1至图10所示,一种块自适应型笛卡尔网格快速图映射方法,包括以下步骤:
S1,在MPI环境初始化后,在各处理器导入分布式块自适应型笛卡尔网格的几何数据,以此重构出多叉树结构,并建立相邻层次结点的链接关系;
S2,跨处理器分享区域分解边界处的结点几何信息,并存储于相应的虚拟结点数据容器中;
S3,在当前处理器上构造各叶子结点的局部几何拓扑;
S4,在每个处理器上归一化完全重合的几何元素;
S5,基于跨处理器查询操作建立区域分解边界处对接面元素的动态通信映射;
S6,在各处理器上并行导出非结构多面体计算网格。
作为一种优选的技术方案,步骤S1包括以下步骤:
S11,依次导入当前处理器上各个结点在物理坐标系下的覆盖区域参数;
S12,利用覆盖区域参数计算全局尺度公差;
S13,根据结点网格块的邻接关系增设虚拟结点,并在当前处理器上用邻居指针描述这种邻接关系;
S14,依次沿着各坐标轴的正反方向,结合步骤S12的全局尺度公差及步骤S13的虚拟结点,确定当前结点表面元素的边界条件;
S15,按照当前处理器上结点序列的遍历顺序,将叶子结点指针提取后寄存在独立的向量容器中,新生成的虚拟结点指针存储于另外的独立的向量容器中。
作为一种优选的技术方案,步骤S11中,覆盖区域参数包括lower[i][j]和upper[i][j],其中,i为结点在当前处理器的局部编号,j为坐标轴序号,lower为区域坐标分量下确界,upper为区域坐标分量上确界;和/或;步骤S12中,设全局尺度公差为epsilon,设叶子结点上块自适应体单元沿着x、y、z坐标轴方向的剖分维数分别为ne[0]、ne[1]、ne[2],那么当前处理器上网格的最小分辨率resolution= min{(upper[i][j]–lower[i][j])/ne[j]},其中,i遍历当前处理器上的所有结点,j遍历x、y、z三个坐标轴方向;通过MPI全局规约操作即得到resolution,利用epsilon=resolution*beta得到epsilon,其中0.01≤beta≤0.1。
作为一种优选的技术方案,步骤S13中,结点网格块的邻接关系分为三种情形:①整体计算区域边界处,相邻结点不存在;直接将相应邻居结点指针置空;②相邻结点存在于当前处理器中;直接将相应邻居结点指针指向相应实体地址;③相邻结点存在于其它处理器中;设置虚拟结点作为邻居结点。
作为一种优选的技术方案,步骤S2包括以下步骤:
S21,在当前处理器上,按照虚拟结点绑定的目标处理器编号对其进行分组;
S22,通过广播操作生成处理器之间的通信关系列表;
S23,获取与虚拟结点对应的实体结点的分解属性;
S24,各处理器在接收的信息流中依次提取虚拟结点的分解属性值,根据该分解属性值判断虚拟结点在全局多叉树结构中对应的是叶子结点还是非叶子结点。
作为一种优选的技术方案,步骤S3包括以下步骤:
S31,根据ne[0]、ne[1]、ne[2]生成叶子结点上局部网格块内部的几何结构;
S32,在相同处理器上,按照空间交替方向遍历几何元素,并对它们的邻接关系进行直接解析;
S33,计算并存储叶子结点网格块各表面上的面心坐标序列与网格点坐标序列。
作为一种优选的技术方案,步骤S31包括以下步骤:
S311,在任意叶子结点上,内部体元素序列使用长度为ne[0]*ne[1]*ne[2]的基本体元素向量容器basicCellContainer加以存储;
S312,在叶子结点几何区域内部分别生成垂直于x、y、z轴的面元素序列;
S313,在叶子结点区域内部,生成空间点序列,并使用长度为(ne[0]-1)*(ne[1]-1)*(ne[2]-1)的基本点元素向量容器basicNodeContainer加以存储。
作为一种优选的技术方案,步骤S4包括以下步骤:
S41,以步骤S12计算出的全局尺度公差epsilon作为当前处理器上面心序列之交替方向数字树faceBinaryTree和网格点序列之交替方向数字树nodeBinaryTree的公差参数,完成它们的根结点的初始化;
S42,顺次遍历当前处理器上尚未归一化的面元素序列,提取其几何中心的坐标信息,在交替方向数字树faceBinaryTree上进行查询判断;如果前序已有相同的面心,那么获取相应面元素地址,与当前空间位置指针链接起来;否则,生成新的面元素实体并为其赋予局部序号,再与当前空间位置指针链接起来;再将归一化的面元素指针依次存储于附加面元素动态向量容器appendFaceContainer中;
S43,使用交替方向数字树nodeBinaryTree完成网格块结构外层点元素的归一化,将其地址与相应几何拓扑位置的指针链接起来;再将归一化的点元素指针依次存储于附加点元素向量容器appendNodeContainer中;
S44,合并步骤S31与步骤S42中的两个向量容器basicFaceContainer与appendFaceContainer,并在当前处理器上执行统一编号,使具有相同边界属性的面元素编号连续,然后按照编号值的大小对整体容器中的面元素地址进行排序;
S45,合并步骤S31与步骤S43中的两个向量容器basicNodeContainer与appendNodeContainer,并在当前处理器上执行顺次统一编号。
作为一种优选的技术方案,步骤S5包括以下步骤:
S51,在每个处理器上构造数据打包容器,收集当前处理器上的对接面元素几何数据和位置信息,其中几何数据为面心坐标分量值,以双精度浮点型变量存储,位置信息包含当前处理器编号以及对接面元素的序号,从而在每个处理器上形成对接面心信息组成的数据流;
S52,在主处理器上,建立集合规约容器,对各个处理器上的数据流进行累积;
S53,将主处理器上集合规约容器中的打包数据向其它处理器共享;
S54,基于当前处理器上对接面元素几何中心的坐标数据建立相应的交替方向数字树contactFaceBinaryTree,以步骤S12计算出的全局尺度公差epsilon为contactFaceBinaryTree的公差参数;
S55,在每个处理器上解压缩来自主处理器的打包数据,逐次提取对接面元素信息;当解压缩后实例化的面元素格心与当前网格上某个对接面元素中心重合并且前者的处理器参数与当前处理器编号不一致时,将前者的地址存储到动态向量容器contactFaceContainer中。
实施例2
如图1至图10所示,作为实施例1的进一步优化,本实施例包含了实施例1的全部技术特征,除此之外,本实施例还包括以下技术特征:
一种块自适应型笛卡尔网格快速图映射系统,包括以下模块:
第一模块,用以在MPI环境初始化后,在各处理器导入分布式块自适应型笛卡尔网格的几何数据,以此重构出多叉树结构,并建立相邻层次结点的链接关系;
第二模块,用以跨处理器分享区域分解边界处的结点几何信息,并存储于相应的虚拟结点数据容器中;
第三模块,用以在当前处理器上构造各叶子结点的局部几何拓扑;
第四模块,用以在每个处理器上归一化完全重合的几何元素;
第五模块,用以基于跨处理器查询操作建立区域分解边界处对接面元素的动态通信映射;
第六模块,用以在各处理器上并行导出非结构多面体计算网格。
实施例3
如图1至图10所示,本实施例包含实施例1、实施例2的全部技术特征,本实施例在实施例1、实施例2的基础上,提供更细化的实施方式。
本发明属于计算流体力学、计算几何与高性能计算的交叉领域,具体涉及基于MPI编程的分布式块自适应型笛卡尔网格的快速图映射技术。
针对背景技术指出的问题,本发明提供一种并行化的图映射技术,在每个处理器上快速实现块自适应型笛卡尔网格向一般多面体非结构网格的转化,同时在网格分区边界上把复杂的多对一或一对多的面对接关系分解为等效的一一映射关系。基于该技术建立的图映射模块具备通用的函数接口,它的输入是自适应笛卡尔网格经过空间填充曲线分区后的子树拓扑接口,而输出是每个处理器上典型的非结构图结构接口,从而使自适应笛卡尔网格工具库与非结构物理场模拟器在不进行明显架构变更的条件下融为一体,深度挖掘高性能计算平台下数值模拟器的几何自适应能力。
为实现上述目的,根据图1所示,本发明项目采用的技术解决方案为:一种块自适应型笛卡尔网格快速图映射方法。它的实施包含如下6个基本步骤:
步骤S1:在MPI环境初始化后,在各处理器上导入多叉树各子树的几何数据。任意给定一个物理时间步,设块自适应型笛卡尔网格沿着空间填充曲线进行分解后,与之对应的多叉树各叶子结点均匀分布到编号连续的处理器小组中。图2展示了一个二维块自适应型笛卡尔网格的区域分解简图,其中虚线为区域隔离线,它们使4个处理器的叶子结点(实线圆圈)总数趋于均衡,分别为6、6、6、7。因为在树形结构中,各孩子结点上的几何元素需要通过上一层父亲结点(虚线圆圈)间接联系起来,所以该步骤中同时导入多叉树的各相关层次结点的几何数据。
步骤S2:跨处理器分享区域分解边界处的结点几何信息,并存储于相应的虚拟结点数据容器中。因为当步骤S1完成后,当前处理器上仅能感知虚拟结点对应实体的处理器编号与其上的局部序号,而尚未存储这些结点之孩子结点的存在性,所以本发明项目构造了多叉树结点链接器执行跨处理器通信,判断虚拟结点空间位置上孩子结点的存在性。这些孩子结点的存在性直接决定上述叶子结点区域网格表层上面元素进一步分解的必要性。
步骤S3:在当前处理器上构造各叶子结点的局部几何拓扑。当块自适应型笛卡尔网格向多面体非结构网格转化时,叶子结点处不再是孤立的结构网格块。根据同级相邻结点的存在性(可以是实体的或虚拟的)和可分性,网格块表面需要进行更深层次的可分性判断,并对局部面元素序列与网格点元素序列加以修正。本发明项目通过这些修正,在当前处理器上生成无悬挂网格点的单块非结构计算网格,并使跨处理器的面对接关系为一一映射,从而满足一般非结构数值模拟器的并行计算需求。
步骤S4:在每个处理器上归一化完全重合的几何元素。本发明项目同时构造两个交替方向数字树分别完成每个处理器上面元素、点元素的归一化。
步骤S5:基于跨处理器查询操作建立动态通信映射。在分布式块自适应型笛卡尔网格中,对接面元素与自身的几何中心存在等价关系,该步骤使用集合通信模式建立区域分解边界处对接面元素的动态映射。
步骤S6:在各处理器上并行导出非结构多面体计算网格。
进一步地,步骤S1的具体操作步骤可以分解为:
步骤S11:依次导入当前处理器上各个结点在物理坐标系下的覆盖区域参数lower[i][j]和upper[i][j](i为结点在当前处理器的局部编号,j为坐标轴序号,lower为区域坐标分量下确界,upper为区域坐标分量上确界)。
步骤S12:计算全局尺度公差epsilon。设沿着x、y、z三个坐标轴方向块自适应体单元剖分维数分别为ne[0]、ne[1]、ne[2],那么当前处理器上网格的最小分辨率resolution= min{ ( upper[i][j] – lower[i][j] ) / ne[j] },其中,i遍历当前处理器上的所有结点,j遍历x、y、z三个坐标轴方向。通过MPI全局规约操作即得到resolution的最小值,这里不妨仍以resolution代替,本发明项目规定全局尺度公差 epsilon = resolution * 0.1,即比全局网格最小分辨率低一个数量级。epsilon为本发明项目关键的尺度参数,用来参与点元素和面元素重合判断。
步骤S13:根据结点网格块的邻接关系增设虚拟结点,并在当前处理器上用指针描述这种链接关系。本发明项目仅关注叶子结点的处于同一层级的相邻结点,沿着坐标轴的正反方向,这些相邻结点分为三种情形:①整体计算区域边界处,相邻结点不存在;②相邻结点存在于当前处理器中;③相邻结点存在于其它处理器中。这里,仅对第③种情形设置虚拟结点作为邻居结点,考虑到当前处理器上多个结点共享同一个虚拟相邻结点的情形,使用C++标准模板库中集合容器set查询已有的虚拟结点地址且存储新开辟的虚拟结点地址,以保证其唯一性。对第①种情形,直接将相应邻居结点指针置空。对第②种情形,直接将相应邻居结点指针指向相应实体地址。
步骤S14:依次沿着各坐标轴的正反方向,确定当前结点表面元素的边界条件。根据MPI全局规约操作,计算出整个计算网格在各坐标轴投影的上、下确界,结合步骤S12计算的全局尺寸公差epsilon判断表面元素几何中心与上述确界之间的关系,即可优先筛选出远场边界条件,记为FARFIELD。根据步骤S13,依据虚拟结点的存在性,识别出该方向上的对接边界条件,记为INTERFACE。除此之外的结点网格块表层面元素皆不被识别为边界,而是普通面元素,记为ORDINARY。
步骤S15:按照当前处理器上结点序列的遍历顺序,将叶子结点指针提取后寄存在独立的向量容器leaves中。新生成的虚拟结点指针存储于独立的向量容器ghosts中。
进一步地,步骤S2的具体操作步骤可以分解为:
步骤S21:在当前处理器上,按照虚拟结点绑定的目标处理器编号对其进行分组,如图3所示。不妨假设第m处理器上具备3个分组,其中第0号分组的虚拟结点对应的实体存在于第n处理器中。
步骤S22:对于块自适应型笛卡尔网格,当步骤S21完成时,第n处理器尚未感知第m处理器对其有信息提取需求,所以本发明项目通过广播操作生成处理器之间的通信关系列表。在这一过程中,仅需通信即将传输的信息长度(虚拟结点序列的长度)以及信息来源(虚拟结点序列所属的处理器编号),这2个整型数据用于在第n处理器上通信关系列表的相应位置处建立等长度的数据容器。
步骤S23:结合步骤S22生成的通信关系列表,第m处理器将相关实体结点在第n处理器的局部编号打包在一个向量容器中,以阻塞模式完成从第m处理器向第n处理器的信息传输。第n处理器结合来自第m处理器的索引信息,在自身上找到相应结点的位置,获取它们的分解属性。如图3所示,设虚线圆圈代表非叶子结点,实线圆圈为叶子结点,使它们的分解属性值为1和0。
步骤S24:在第n处理器上将所需通信的结点属性值依次提取,打包在一个向量容器中,以非阻塞模式返回到第m处理器。各处理器在接收的信息流中依次提取虚拟结点的属性值,判断它们在整体多叉树结构中是叶子结点还是非叶子结点。
进一步地,步骤S3的具体操作步骤可以分解为:
步骤S31:根据步骤S12定义的叶子结点上块自适应体单元的剖分维数ne[0]、ne[1]、ne[2],生成叶子结点上局部网格块内部的几何结构。首先,在任意叶子结点上,内部体元素序列使用长度为ne[0]*ne[1]*ne[2]的基本体元素向量容器basicCellContainer加以存储。然后,在叶子结点几何区域内部(不含网格块表面),分别生成垂直于x、y、z轴的面元素序列。以x方向为例,内部面元素序列分层数为ne[0]-1,在每一分层上,面元素总数为ne[1]*ne[2]。以此类推,局部叶子结点上内部面元素序列使用长度为(ne[0]-1)*ne[1]*ne[2]+(ne[1]-1)*ne[2]*ne[0]+(ne[2]-1)*ne[0]*ne[1]的基本面元素向量容器basicFaceContainer加以存储。最后,在叶子结点区域内部(不含网格块表面),生成空间点序列,并使用长度为(ne[0]-1)*(ne[1]-1)*(ne[2]-1)的基本点元素向量容器basicNodeContainer加以存储。
步骤S32:因为在步骤S31中生成的三个基本向量容器basicCellContainer、basicFaceContainer、basicNodeContainer中,点元素与面元素之间、面元素与体元素之间的链接关系仅限于叶子结点内部,而不与其它叶子结点内部或表面几何元素之间发生接触,所以根据几何元素的空间交替方向遍历,对上述链接关系加以直接解析。
步骤S33:计算并存储叶子结点网格块各表面上的面心坐标序列与网格点坐标序列。图4展示了叶子结点表面上面元素与网格点元素的分布。以第m处理器编号为1的叶子结点为例,在右侧接触表面(外法向为x轴正向)上,相邻的虚拟结点与第n处理器编号为3的叶子结点等价,因为该虚拟结点存在孩子结点,所以右侧接触表面上的网格点总数为(2*(ne[1]+1))*(2*(ne[2]+1)),面元素总数为(2*ne[1])*(2*ne[2])。类似地,编号为1的叶子结点通过上侧表面(外法向为z轴正向)与编号为0的叶子结点在相同处理器上发生接触关系,因为第0号叶子结点可分,所以上侧接触表面网格点总数为(2*(ne[0]+1))*(2*(ne[1]+1)),面元素总数为(2*ne[0])*(2*ne[1])。当且仅当上述两种情形时,网格块表面的面元素阵列与点元素阵列需要进行更深层次的剖分。
进一步地,步骤S4的具体操作步骤可以分解为:
步骤S41:以步骤S12计算出的全局尺度公差epsilon作为当前处理器上面心序列之交替方向数字树faceBinaryTree和网格点序列之交替方向数字树nodeBinaryTree的公差参数,完成它们的根结点的初始化。
步骤S42:因为块自适应型笛卡尔网格的面元素与其格心坐标具有一一映射关系,所以本发明项目通过面心重合关系等价地判断出网格块结构外层面元素之间的重合性。顺次遍历当前处理器上尚未归一化的面元素序列,提取其几何中心的坐标信息,在交替方向数字树faceBinaryTree上进行查询判断,如果前序已有相同的面心,那么获取相应面元素地址,与当前空间位置指针链接起来;否则,生成新的面元素实体并为其赋予局部序号,再与当前空间位置指针链接起来。归一化的面元素指针依次存储于附加面元素动态向量容器appendFaceContainer中。
步骤S43:与步骤S42相似,使用交替方向数字树nodeBinaryTree完成网格块结构外层点元素的归一化,将其地址与相应几何拓扑位置的指针链接起来。归一化的点元素指针依次存储于附加点元素向量容器appendNodeContainer中。
步骤S44:合并步骤S31与步骤S42中的两个向量容器basicFaceContainer与appendFaceContainer,并在当前处理器上执行统一编号,使具有相同边界属性的面元素编号连续,然后按照编号值的大小对整体容器中的面元素地址进行排序,从而保证本发明项目最终输出的计算网格中边界面元素地址的连续性,它有利于提升物理场数值模拟器的内存访问效率。
步骤S45:合并步骤S31与步骤S43中的两个向量容器basicNodeContainer与appendNodeContainer,并在当前处理器上执行顺次统一编号。
进一步地,结合图5,步骤S5的具体操作步骤可以分解为:
步骤S51:在每个处理器上构造数据打包容器,收集当前处理器上的对接面元素几何数据和位置信息,其中几何数据为面心坐标分量值,以双精度浮点型变量存储,位置信息包含当前处理器编号以及对接面元素的序号,从而在每个处理器上形成对接面元素信息组成的数据流。
步骤S52:在主处理器上,建立集合规约容器,对各个处理器上的数据流进行累积。为提升通信效率,这一步骤通过MPI非阻塞通信模式实现。
步骤S53:将主处理器上集合规约容器中的打包数据向其它处理器共享,这一步骤通过MPI广播通信模式实现。
步骤S54:基于当前处理器上对接面元素几何中心的坐标数据建立相应的交替方向数字树contactFaceBinaryTree,以步骤S12计算出的全局尺度公差epsilon为contactFaceBinaryTree的公差参数。
步骤S55:在每个处理器上解压缩来自主处理器的打包数据,逐次提取对接面元素信息。在这个步骤中,滤掉处理器编号与当前处理器编号相同的数据片段,避免当前处理器对接面元素与自身发生配对。基于contactFaceBinaryTree结构的快速查询操作,当解压缩后实例化的面元素格心与当前网格上某个对接面元素中心重合并且前者的处理器参数与当前处理器编号不一致时,将前者的地址存储到动态向量容器contactFaceContainer中。
本发明的有益效果:
1.通用的数据接口既适应了分布式块自适应型笛卡尔网格拓扑结构的并行导入,也适应了一般非结构物理场数值模拟器计算网格的并行导出,有效促进了现有自适应几何工具库与求解器的深度融合,避免了二者架构上大量的复杂修改工作。
2.多叉树叶子结点上的面元素与点元素的分类方式,大幅削减了几何归一化过程中的查询次数;同时,充分把握块自适应型笛卡尔网格中面元素与自身中心坐标的等价性,拓展了交替方向数字树的应用范围。这些因素使网格的并行转换效率充分满足了非定常数值模拟器在超大规模自适应网格上的应用需求。
3.在网格转化过程中,通过网格块表层面元素分解机制彻底消除了悬挂网格点,使数值模拟器避免了大量、复杂的滑移边界的动态处理,有效抑制了边界物理场插值导致的误差累积效应。
具体实施方式:
为了使本领域的普通技术人员能更好的理解本发明的技术方案,下面以块自适应型笛卡尔网格开源工具库PARAMESH与国家数值风洞工程中的直升机数值飞行模拟器PmbOvs3d的结合过程为例(图6),对本发明的技术方案做进一步的描述。
原有的数值模拟器PmbOvs3d能够完成多部件非结构重叠网格的装配,从而实现旋翼与直升机机身相对运动时流场的非定常计算。传统的非结构网格能够满足旋翼表面边界层流动精细模拟的需求,但对发展型桨尖涡的捕捉能力欠缺,所以有必要以块自适应型笛卡尔网格为背景网格弥补这些缺陷。PmbOvs3d已实现重叠网格并行装配模块、非定常流场并行计算模块以及控制律模块的封装与分离,但相关接口仅能执行多面体非结构网格数据的导入与导出。在图6中,首先,使用m个处理器为PARAMESH的块笛卡尔网格自适应与动态负载平衡提供服务。然后,在PARAMESH与PmbOvs3d之间使用本发明项目的图映射模块快速实现分布式块笛卡尔网格向多面体非结构网格的转换。接着,PmbOvs3d在前m个处理器上导入分布式背景网格的内存数据,同时在后n个处理器上导入分布式贴体网格的内存数据。最后,在当前物理时间步上,PmbOvs3d的内部模块即可执行数值模拟。在上述过程中,仅需在每个处理器上建立块笛卡尔网格体单元与非结构多面体单元的映射关系,而不需改变其它几何元素的遍历方式。
具体实施例:
1. 块自适应型笛卡尔网格的并行转化效果与效率
图7是自适应笛卡尔网格原始叉树结构图,这里只展示第0号处理器上的基础块结构。在图7基础上,图8展示了使用图映射算法初始化的块笛卡尔网格,在每个叶子结点上,均匀的结构网格块得以生成,其中最粗的黑色线条标识了叶子结点间的边界,此时,它们之间的接触关系尚未建立。图9展示了图映射算法并行执行后处理器上生成的单一的非结构网格,可以看出,同一处理器上的全体叶子结点以及内部的网格结构完全融为一体,计算单元间的面对接关系得以建立。本测试算例共使用8个处理器对块笛卡尔网格执行图映射计算,每个处理器上的叶子结点为256,局部块上的体单元剖分维数分别为8,8,8,这样平均体单元负载为131072,在国产银河6集群上测试图映射计算的墙上时间接近1s,远小于PmbOvs3d单个物理时间步上的非定常模拟时间,所以本发明项目的算法效率是可以被工程计算接受的。
2. 块自适应型笛卡尔网格工具库与传统非结构数值模拟器的融合
图10是本发明实施例块自适应型笛卡尔网格与直升机旋翼网格的重叠效果。PmbOvs3d数值模拟器仅能处理单一非结构网格的重叠关系,本发明项目在它与PARAMESH工具库之间建立了动态联系,从而使PmbOvs3d能够确定块自适应型笛卡尔网格与贴体非结构网格的挖洞-插值关系,从而具备了桨尖涡自适应捕捉的能力。
如上所述,可较好地实现本发明。
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。

Claims (8)

1.一种块自适应型笛卡尔网格快速图映射方法,其特征在于,包括以下步骤:
S1,在MPI环境初始化后,在各处理器导入分布式块自适应型笛卡尔网格的几何数据,以此重构出多叉树结构,并建立相邻层次结点的链接关系;
步骤S1包括以下步骤:
S11,依次导入当前处理器上各个结点在物理坐标系下的覆盖区域参数;
S12,利用覆盖区域参数计算全局尺度公差;
S13,根据结点网格块的邻接关系增设虚拟结点,并在当前处理器上用邻居指针描述这种邻接关系;
S14,依次沿着各坐标轴的正反方向,结合步骤S12的全局尺度公差及步骤S13的虚拟结点,确定当前结点表面元素的边界条件;
S15,按照当前处理器上结点序列的遍历顺序,将叶子结点指针提取后寄存在独立的向量容器中,新生成的虚拟结点指针存储于另外的独立的向量容器中;
S2,跨处理器分享区域分解边界处的结点几何信息,并存储于相应的虚拟结点数据容器中;
S3,在当前处理器上构造各叶子结点的局部几何拓扑;
S4,在每个处理器上归一化完全重合的几何元素;
S5,基于跨处理器查询操作建立区域分解边界处对接面元素的动态通信映射;
步骤S5包括以下步骤:
S51,在每个处理器上构造数据打包容器,收集当前处理器上的对接面元素几何数据和位置信息,其中几何数据为面心坐标分量值,以双精度浮点型变量存储,位置信息包含当前处理器编号以及对接面元素的序号,从而在每个处理器上形成对接面心信息组成的数据流;
S52,在主处理器上,建立集合规约容器,对各个处理器上的数据流进行累积;
S53,将主处理器上集合规约容器中的打包数据向其它处理器共享;
S54,基于当前处理器上对接面元素几何中心的坐标数据建立相应的交替方向数字树contactFaceBinaryTree,以步骤S12计算出的全局尺度公差epsilon为contactFaceBinaryTree的公差参数;
S55,在每个处理器上解压缩来自主处理器的打包数据,逐次提取对接面元素信息;当解压缩后实例化的面元素格心与当前网格上某个对接面元素中心重合并且前者的处理器参数与当前处理器编号不一致时,将前者的地址存储到动态向量容器contactFaceContainer中;
S6,在各处理器上并行导出非结构多面体计算网格。
2.根据权利要求1所述的一种块自适应型笛卡尔网格快速图映射方法,其特征在于,步骤S11中,覆盖区域参数包括lower[i][j]和upper[i][j],其中,i为结点在当前处理器的局部编号,j为坐标轴序号,lower为区域坐标分量下确界,upper为区域坐标分量上确界;和/或;步骤S12中,设全局尺度公差为epsilon,设叶子结点上体单元沿着x、y、z坐标轴方向的剖分维数分别为ne[0]、ne[1]、ne[2],那么当前处理器上网格的最小分辨率resolution=min{(upper[i][j]–lower[i][j])/ne[j]},其中,i遍历当前处理器上的所有结点,j遍历x、y、z三个坐标轴方向;通过MPI全局规约操作即得到resolution,利用epsilon=resolution*beta得到epsilon,其中0.01≤beta≤0.1。
3.根据权利要求2所述的一种块自适应型笛卡尔网格快速图映射方法,其特征在于,步骤S13中,结点网格块的邻接关系分为三种情形:①整体计算区域边界处,相邻结点不存在;直接将相应邻居结点指针置空;②相邻结点存在于当前处理器中;直接将相应邻居结点指针指向相应实体地址;③相邻结点存在于其它处理器中;设置虚拟结点作为邻居结点。
4.根据权利要求3所述的一种块自适应型笛卡尔网格快速图映射方法,其特征在于,步骤S2包括以下步骤:
S21,在当前处理器上,按照虚拟结点绑定的目标处理器编号对其进行分组;
S22,通过广播操作生成处理器之间的通信关系列表;
S23,获取与虚拟结点对应的实体结点的分解属性;
S24,各处理器在接收的信息流中依次提取虚拟结点的分解属性值,根据该分解属性值判断虚拟结点在全局多叉树结构中对应的是叶子结点还是非叶子结点。
5.根据权利要求4所述的一种块自适应型笛卡尔网格快速图映射方法,其特征在于,步骤S3包括以下步骤:
S31,根据ne[0]、ne[1]、ne[2]生成叶子结点上局部网格块内部的几何结构;
S32,在相同处理器上,按照空间交替方向遍历几何元素,并对它们的邻接关系进行直接解析;
S33,计算并存储叶子结点网格块各表面上的面心坐标序列与网格点坐标序列。
6.根据权利要求5所述的一种块自适应型笛卡尔网格快速图映射方法,其特征在于,步骤S31包括以下步骤:
S311,在任意叶子结点上,内部体元素序列使用长度为ne[0]*ne[1]*ne[2]的基本体元素向量容器basicCellContainer加以存储;
S312,在叶子结点几何区域内部分别生成垂直于x、y、z轴的面元素序列;
S313,在叶子结点区域内部,生成空间点序列,并使用长度为(ne[0]-1)*(ne[1]-1)*(ne[2]-1)的基本点元素向量容器basicNodeContainer加以存储。
7.根据权利要求6所述的一种块自适应型笛卡尔网格快速图映射方法,其特征在于,步骤S4包括以下步骤:
S41,以步骤S12计算出的全局尺度公差epsilon作为当前处理器上面心序列之交替方向数字树faceBinaryTree和网格点序列之交替方向数字树nodeBinaryTree的公差参数,完成它们的根结点的初始化;
S42,顺次遍历当前处理器上尚未归一化的面元素序列,提取其几何中心的坐标信息,在交替方向数字树faceBinaryTree上进行查询判断;如果前序已有相同的面心,那么获取相应面元素地址,与当前空间位置指针链接起来;否则,生成新的面元素实体并为其赋予局部序号,再与当前空间位置指针链接起来;再将归一化的面元素指针依次存储于附加面元素动态向量容器appendFaceContainer中;
S43,使用交替方向数字树nodeBinaryTree完成网格块结构外层点元素的归一化,将其地址与相应几何拓扑位置的指针链接起来;再将归一化的点元素指针依次存储于附加点元素向量容器appendNodeContainer中;
S44,合并步骤S31与步骤S42中的两个向量容器basicFaceContainer与appendFaceContainer,并在当前处理器上执行统一编号,使具有相同边界属性的面元素编号连续,然后按照编号值的大小对整体容器中的面元素地址进行排序;
S45,合并步骤S31与步骤S43中的两个向量容器basicNodeContainer与appendNodeContainer,并在当前处理器上执行顺次统一编号。
8.一种块自适应型笛卡尔网格快速图映射系统,其特征在于,包括以下模块:
第一模块,用以在MPI环境初始化后,在各处理器导入分布式块自适应型笛卡尔网格的几何数据,以此重构出多叉树结构,并建立相邻层次结点的链接关系;
第一模块具体以下步骤实现功能:
S11,依次导入当前处理器上各个结点在物理坐标系下的覆盖区域参数;
S12,利用覆盖区域参数计算全局尺度公差;
S13,根据结点网格块的邻接关系增设虚拟结点,并在当前处理器上用邻居指针描述这种邻接关系;
S14,依次沿着各坐标轴的正反方向,结合步骤S12的全局尺度公差及步骤S13的虚拟结点,确定当前结点表面元素的边界条件;
S15,按照当前处理器上结点序列的遍历顺序,将叶子结点指针提取后寄存在独立的向量容器中,新生成的虚拟结点指针存储于另外的独立的向量容器中;
第二模块,用以跨处理器分享区域分解边界处的结点几何信息,并存储于相应的虚拟结点数据容器中;
第三模块,用以在当前处理器上构造各叶子结点的局部几何拓扑;
第四模块,用以在每个处理器上归一化完全重合的几何元素;
第五模块,用以基于跨处理器查询操作建立区域分解边界处对接面元素的动态通信映射;
第五模块具体采用以下步骤实现功能:
S51,在每个处理器上构造数据打包容器,收集当前处理器上的对接面元素几何数据和位置信息,其中几何数据为面心坐标分量值,以双精度浮点型变量存储,位置信息包含当前处理器编号以及对接面元素的序号,从而在每个处理器上形成对接面心信息组成的数据流;
S52,在主处理器上,建立集合规约容器,对各个处理器上的数据流进行累积;
S53,将主处理器上集合规约容器中的打包数据向其它处理器共享;
S54,基于当前处理器上对接面元素几何中心的坐标数据建立相应的交替方向数字树contactFaceBinaryTree,以步骤S12计算出的全局尺度公差epsilon为contactFaceBinaryTree的公差参数;
S55,在每个处理器上解压缩来自主处理器的打包数据,逐次提取对接面元素信息;当解压缩后实例化的面元素格心与当前网格上某个对接面元素中心重合并且前者的处理器参数与当前处理器编号不一致时,将前者的地址存储到动态向量容器contactFaceContainer中;
第六模块,用以在各处理器上并行导出非结构多面体计算网格。
CN202111237363.3A 2021-10-25 2021-10-25 一种块自适应型笛卡尔网格快速图映射方法及系统 Active CN113689556B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111237363.3A CN113689556B (zh) 2021-10-25 2021-10-25 一种块自适应型笛卡尔网格快速图映射方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111237363.3A CN113689556B (zh) 2021-10-25 2021-10-25 一种块自适应型笛卡尔网格快速图映射方法及系统

Publications (2)

Publication Number Publication Date
CN113689556A CN113689556A (zh) 2021-11-23
CN113689556B true CN113689556B (zh) 2021-12-24

Family

ID=78587846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111237363.3A Active CN113689556B (zh) 2021-10-25 2021-10-25 一种块自适应型笛卡尔网格快速图映射方法及系统

Country Status (1)

Country Link
CN (1) CN113689556B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114494650B (zh) * 2022-04-06 2022-06-24 中国空气动力研究与发展中心计算空气动力研究所 一种分布式非结构网格跨处理器面对接方法及系统
CN114444215B (zh) * 2022-04-08 2022-07-05 中国空气动力研究与发展中心计算空气动力研究所 一种基于笛卡尔网格的运动仿真方法、装置及设备
CN114692470B (zh) * 2022-05-31 2022-09-06 中国空气动力研究与发展中心计算空气动力研究所 一种重叠网格的装配方法和系统
CN115016951B (zh) * 2022-08-10 2022-10-25 中国空气动力研究与发展中心计算空气动力研究所 流场数值模拟方法、装置、计算机设备和存储介质
CN115357849B (zh) * 2022-10-24 2023-03-28 中国空气动力研究与发展中心计算空气动力研究所 笛卡尔网格下的壁面距离的计算方法及装置
CN115796083B (zh) * 2023-02-17 2023-05-26 中国空气动力研究与发展中心计算空气动力研究所 一种直升机流场仿真方法、装置、设备及可读存储介质
CN116562066B (zh) * 2023-07-12 2023-09-26 北京凌云智擎软件有限公司 一种针对多面体网格的多层区域分解并行计算方法和装置
CN116861822B (zh) * 2023-09-05 2024-03-08 中国空气动力研究与发展中心计算空气动力研究所 基于笛卡尔网格的物面边界的处理方法及装置
CN116894282B (zh) * 2023-09-07 2023-11-24 中国空气动力研究与发展中心计算空气动力研究所 空间点集与多连通网格区域拓扑关系的识别方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382497A (zh) * 2018-12-31 2020-07-07 达索系统西姆利亚公司 任意坐标系中网格上物理流体的计算机模拟
CN113505443A (zh) * 2021-09-09 2021-10-15 南京航空航天大学 一种任意外形的三维绕流问题自适应笛卡尔网格生成方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874375B2 (en) * 2010-10-06 2014-10-28 Verizon Patent And Licensing Inc. Digital map projection
CA2978664C (en) * 2015-03-17 2023-09-05 Blue Sky Studios, Inc. Methods and systems for 3d animation utilizing uvn transformation
CN106296824B (zh) * 2016-08-18 2019-04-16 北京航空航天大学 一种基于半边数据结构的T-mesh局部细化实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382497A (zh) * 2018-12-31 2020-07-07 达索系统西姆利亚公司 任意坐标系中网格上物理流体的计算机模拟
CN113505443A (zh) * 2021-09-09 2021-10-15 南京航空航天大学 一种任意外形的三维绕流问题自适应笛卡尔网格生成方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CUDA Implementation of a Euler Solver for Cartesian Grid;Yang Liu 等;《2013 IEEE 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing》;20140612;1308-1314 *
Moving overlapping grids with adaptive mesh refinement for high-speed reactive and non-reactive flow;William D.Henshaw 等;《Journal of Computational Physics》;20060810;第216卷(第02期);744-779 *
一种新的边界处理方法在笛卡尔网格中的应用;韩玉琪 等;《航空动力学报》;20121031;第27卷(第10期);2371-2377 *
动网格生成技术及非定常计算方法进展综述;张来平 等;《力学进展》;20100725;第40卷(第04期);424-447 *
基于复杂网格处理的高精度数值积分技术;林义森;《电脑知识与技术》;20151031;第11卷(第29期);179-180 *
大规模空气动力学数值模拟中的并行重叠网格装配技术;梁姗 等;《科研信息化技术与应用》;20160531;第7卷(第03期);66-76 *

Also Published As

Publication number Publication date
CN113689556A (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
CN113689556B (zh) 一种块自适应型笛卡尔网格快速图映射方法及系统
CN102306396B (zh) 一种三维实体模型表面有限元网格自动生成方法
deCougny et al. Load balancing for the parallel adaptive solution of partial differential equations
CN112100937B (zh) 基于壁面距的高效重叠网格并行装配方法
CN102497411B (zh) 面向密集运算的层次化异构多核片上网络架构
Acharya et al. A parallel and memory efficient algorithm for constructing the contour tree
CN114494650B (zh) 一种分布式非结构网格跨处理器面对接方法及系统
CN110929456B (zh) 移动粒子法并行计算等效粒子负载均衡加速方法
CN113595619B (zh) 一种无人机群通联与覆盖组合优化方法
CN104794133A (zh) 基于step文件的从cad模型到mcnp几何模型的转换算法
de Cougny et al. Parallel three-dimensional mesh generation on distributed memory MIMD computers
Tsuzuki et al. Effective dynamic load balance using space-filling curves for large-scale SPH simulations on GPU-rich supercomputers
CN115796083A (zh) 一种直升机流场仿真方法、装置、设备及可读存储介质
CN104574517A (zh) 三维模型的边界面网格单元的处理方法和装置
Shephard et al. Parallel automatic adaptive analysis
Burstedde et al. Coarse mesh partitioning for tree-based amr
Rivara Lepp-bisection algorithms, applications and mathematical properties
CN107679127A (zh) 基于地理位置的点云信息并行提取方法及其系统
CN110110158A (zh) 一种三维网格数据的存储空间划分方法及系统
Zhao et al. High efficient parallel numerical surface wave model based on an irregular quasi-rectangular domain decomposition scheme
Wu et al. Optimized Mappings for Symmetric Range-Limited Molecular Force Calculations on FPGAs
Fu et al. The ACA–BEM approach with a binary-key mosaic partitioning for modelling multiple bubble dynamics
CN102254093A (zh) 基于泰森多边形的连通域统计相关算法
CN115686784A (zh) 一种基于多机多进程的地理网格金字塔并行构建方法
CN113900808A (zh) 一种基于任意多面体非结构网格的mpi并行数据结构

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