CaNS求解不可压缩牛顿流体的流动

联合创作 · 2023-09-30 15:52

CaNS(Canonical Navier-Stokes)是一个用于流体流动的大规模并行数值模拟的代码。它的目标是解决任何不可压缩的牛顿流体的流动,这些流体可以从三维笛卡尔网格中基于 FFT 的二阶有限差分泊松方程的求解器中受益。在两个方向上,网格是规则的,求解器支持以下(homogeneous)边界条件的组合:

  • Neumann-Neumann
  • Dirichlet-Dirichlet
  • Neumann-Dirichlet
  • Periodic

在第三个领域方向,求解器更加灵活,因为它使用高斯消元法。在那里,网格也可以是不均匀的(例如,边界处的网格较细,中心处的网格较粗)。

CaNS 还允许选择 N-S 方程的扩散项的隐式时间离散化。这导致对每个速度分量的 Helmholtz 方程进行求解。由于也使用了基于 FFT 的求解器,因此上述压力边界条件的相同选项适用于速度,以防隐式扩散处于活动状态。

一些特点包括:

  • 混合 MPI/OpenMP 并行化
  • FFTW guru 接口用于计算一维变换的多维向量
  • 从输入文件中自动确定正确的变换类型(傅里叶、余弦、正弦等)
  • 2DECOMP&FFT 例程用于执行全局数据转置和数据 I/O
  • 只需更改输入文件即可模拟不同的 canonical flow
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报