loading...

流体力学优化方案

背景简介

格子玻尔兹曼方法(Lattice Boltzmann Method, LBM)是一种基于介尺度的计算流体力学方法。与传统计算流体力学方法相比,该方法同时具有介于微观分子动力学模型和宏观连续模型的介观模型特点,利用简化的运动学方程,将流场转化为格点,易于划分网格和计算域,特别适合描述复杂两相、颗粒流动问题。

以实现格子玻尔兹曼方法(LBM)的软件Palabos作为工作基础,由简单案例到复杂多相流案例逐层解析,结合神威计算机体系架构,设计优化并行开发方案。目前,在新一代神威众核超算系统上已建立基于C++的优化策略,实现了模块化众核版本,相关优化技术在通用架构计算机上依然适用。

优化介绍

Palabos软件是一款计算流体力学科学计算软件。优化流程(图1)具有良好普适性。理解Palabos软件用到的数学物理方程、理解软件案例,分析软件使用C++语言编写的数据结构、模块化编程及面向对象编程思想,结合神威计算机特征,适配硬件特性,设计并行算法,开展性能优化。

根据软件使用者需求,在神威超算上对Palabos软件相关求解器进行并行开发。基于C++面向对象这一特性,将计算网格由一个个格点对象类组成,格点对象组成类对象数组。作为高级语言,C++中存在的一些如函数的重载、多态、泛型等高级特性,利用字段标识等手段,用C语言重写软件核心段,并实现众核优化。解决因数据相关性导致的并行困难、用数据类型不匹配等问题,实现了百万核心的并行计算,具有良好的加速效果,从而为化工、能源领域的计算模拟提供相关软件,缩短模拟研究周期。

正在开展的上流式/环流式气浆式反应器流体流动的数值模拟应用示范,目前已经对该气液两相流的求解器进行研制,并投入到实际使用中,取得良好成效。

在神威超算上优化后的典型案例与通用集群计算机执行时间相比较,液滴碰撞案例众核优化版本同样计算量的计算时间缩短1.8-3.5倍(图 4),表明根据机器硬件特性优化后的程序在实际应用场景中有显著优势。

Select Your Color

RTL/LTR Option