The invention discloses a CFD parallel computing method. By creating computing nodes and management nodes, each computing node opens the receiving port, sends data information and receives data information sent by other computing nodes until all computing nodes have received data information; the management node opens the receiving port and receives data information sent by computing nodes, and statistics data information. Statistical information is obtained; according to statistical information, it is judged whether the management node receives the information sent by all the computing nodes, which can automatically assign tasks in parallel and improve the solving speed. One solving step only packages the communication once, and reduces the communication frequency; the process of opening reception first, then processing, and finally sending is used to logically avoid deadlock; With only a few modifications, the original serial solution is changed to a new parallel solution, and the communication between computing nodes is decentralized point-to-point communication, which can reduce the traffic and shorten the communication time.
【技术实现步骤摘要】
一种CFD并行计算方法
本专利技术涉及CFD计算领域,特别是涉及一种CFD并行计算方法。
技术介绍
使用CFD计算可以从离散化角度,更精确的模拟物理现象发生时的诸多细节特征。但是CFD计算是一种CPU密集型任务,同时也是内存密集型任务;且面对日趋增长的精度要求所带来的网管量的增加,CFD求解计算所耗费的时间可达数周甚至数月。关于CFD并行计算,现有方法通常依赖如下两类技术:1)OpenMP:由编译器支持,仅需少量代码改动,即可实现并行,适于单机多核并行;2)MPI:一个通信协议,需要求解器代码编写时显式调用,可用于多机多核并行。但是,这两种主流方案都存在一定的问题。对OpenMP而言,由于CFD程序的高度耦合性,并不太适于如图像处理这样简单的并行化;且对于大型计算案例,其内存占用将超过单机内存极限,因此无法处理大型计算案例。而对于MPI,其作为通用的并行通信库,确实能够解决CFD的并行,但其开发调试都颇具难度不宜实现,且有时可因为数据处理关系不合理而导致死锁,这对专注于求解代码开发而编程能力欠佳的CFD从业人员而言是很严重的问题。总之,现有CFD并行,依赖特定技术如OpenMP或MPI,或不适于CFD并行使用,或通讯不方便实现,容易出现死锁,且针对CFD程序的并行化,计算任务的分配,计算节点的组织与管理,节点间的通讯等问题并未有简单易用方案,导致CFD并行求解效率低下。
技术实现思路
本专利技术的目的是提供一种CFD并行计算方法,能够提高CFD并行求解的效率。为实现上述目的,本专利技术提供了如下方案:一种CFD并行计算方法,包括:任意选择一个流场为研究对象;对 ...
【技术保护点】
1.一种CFD并行计算方法,其特征在于,包括:任意选择一个流场为研究对象;对所述研究对象进行建模,得到网格模型,所述网格模型包括一个或多个网格块文件;运行CFD并行程序,并在所述CFD并行程序中创建管理节点;根据所述管理节点和所述网格块文件,构建网格拓扑结构;获取计算任务;根据所述计算任务对所述网格拓扑结构进行加权剖分,得到局部网格及数据交换通讯索引;根据所述局部网格及数据交换通讯索引,创建计算节点;所述计算节点接收所述管理节点发送的初始化数据,并对所述初始化数据进行预处理;各所述计算节点打开接收端口、发送数据信息以及接收其他所述计算节点发送的数据信息,直至所有所述计算节点接收完数据信息;所述管理节点打开接收端口并接收所述计算节点发送的数据信息,对所述数据信息进行统计,得到统计信息;根据所述统计信息判断所述管理节点是否接收所有所述计算节点发送的信息;若是,则各所述计算节点将自身的计算信息发送至所述管理节点;所述管理节点对所述计算节点发送的计算信息进行合并处理,得到合并信息;根据所述合并信息,确定所述流场的参数;若否,则返回各所述计算节点打开接收端口、发送数据信息以及接收其他所述计算节点 ...
【技术特征摘要】
1.一种CFD并行计算方法,其特征在于,包括:任意选择一个流场为研究对象;对所述研究对象进行建模,得到网格模型,所述网格模型包括一个或多个网格块文件;运行CFD并行程序,并在所述CFD并行程序中创建管理节点;根据所述管理节点和所述网格块文件,构建网格拓扑结构;获取计算任务;根据所述计算任务对所述网格拓扑结构进行加权剖分,得到局部网格及数据交换通讯索引;根据所述局部网格及数据交换通讯索引,创建计算节点;所述计算节点接收所述管理节点发送的初始化数据,并对所述初始化数据进行预处理;各所述计算节点打开接收端口、发送数据信息以及接收其他所述计算节点发送的数据信息,直至所有所述计算节点接收完数据信息;所述管理节点打开接收端口并接收所述计算节点发送的数据信息,对所述数据信息进行统计,得到统计信息;根据所述统计信息判断所述管理节点是否接收所有所述计算节点发送的信息;若是,则各所述计算节点将自身的计算信息发送至所述管理节点;所述管理节点对所述计算节点发送的计算信息进行合并处理,得到合并信息;根据所述合并信息,确定所述流场的参数;若否,则返回各所述计算节点打开接收端口、发送数据信息以及接收其他所述计算节点发送的数据信息,直至所有所述计算节点接收完数据信息。2.根据权利要求1所述的CFD并行计算方法,其特征在于,所述对所述研究对象进行建模,得到网格模型,所述网格模型包括一个或多个网格块文件,具体包括:对所述研究对象进行建模,得到网格模型,所述网格模型包含一个或多个网格块文件,各所述网格块文件中的信息记为一个网格块,所述网格块中包含若干个网格单元。3.根据权利要求1所述的CFD并行计算方法,其特...
【专利技术属性】
技术研发人员:胡志远,史勇杰,徐国华,杨玉成,路思佳,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。