gks2d-str/README.md

4.1 KiB
Raw Blame History

会不断更新的!我的邮箱 xjiad@connect.ust.hk

gks2d-str

这是一个气体动理学格式Gas-Kinetic Scheme, GKS的求解器支持二维结构化网格模拟目的是方便有需求的科研工作者入门之用。 GKS是香港科技大学华人学者徐昆教授原创的针对可压缩流动的格式推荐一篇具有很高的完成度、兼具很高的讨论深度的文献 K. Xu, 2001, JCP, A Gas-Kinetic BGK Scheme for the NavierStokes Equations and Its Connection with Artificial Dissipation and Godunov Method 如用作学术用途,请引用任意下列文献:

  1. X. JI, F. ZHAO, W. SHYY, & K. XU (2018). A family of high-order gas-kinetic schemes and its comparison with Riemann solver based high-order methods. Journal of Computational Physics, 356, 150-173.
  2. X. JI, & K. XU (2020). Performance Enhancement for High-order Gas-kinetic Scheme Based on WENO-adaptive-order Reconstruction. Communication in Computational Physics, 28, 2, 539-590

功能

  1. 一维网格 2阶到5阶 GKS
  2. 二维均匀结构化单块网格 2阶到5阶 GKS
  3. 二维非均匀结构化单块网格 2阶到5阶 GKS
  4. 有限体积框架WENO重构多步多阶两步四阶
  5. 在GKS参考解下提供GKS类型通量的标准数据集合

安装

windows 和 visual studio 2019

  1. 创建新解决方案。 选择 “c++ windows桌面向导”勾选 “将解决方案和项目放在同一目录”; 应用程序类型是 “控制台应用程序”; 选择 “空项目”
  2. 把code文件夹里面是所有源代码和structured-mesh文件夹(是示例的结构化网格文件复制到解决方案文件夹和sln同目录中。复制到其他文件夹或许也可以关键点在于code文件夹和structured-mesh文件夹在一个目录下
  3. 在visual studio中添加code中的 .h文件 到头文件添加code中的.cpp文件到 源文件
  4. visual studio下如果编译不通过可能是红山将文本文件的换行符改为\n(正则表达式),使用 ctrl+f 搜索 \n (一定勾选使用正则表达式)替换为 \r\n 即可以符合windows的回车换行规则了。
  5. 点击调试下拉菜单的 开始执行不调试建议使用release因为快和x64因为支持3.25GB以上的程序运行内存)编译)。编译成功,弹出控制台运行

linux 和 g++

  1. 目前linux下的安装教程可能是不完善的因为我主要在windows下写程序
  2. 复制code文件夹和和structured-mesh文件夹到同一目录下确保安装了g++支持c++11或者以上标准安装了openmp
  3. cd到code文件夹下目录使用cmake生成makefilecmake已经在code文件夹里面了这一步是在code文件夹同级生成makefile cmake -B ../build
  4. 使用cmake调用makefile生成可执行文件这一步code文件夹同级生成build文件夹,可执行文件在build文件夹内 cmake --build ../build
  5. cd到build文件夹 执行可执行文件 main

程序 运行代码部分采用英文命名;注释部分采用中文+英文以行文流畅易懂为准则因此考虑到linux下不乱码采用utf-8编码。 在windows系统VS下添加注释建议安装forceUTF-8插件 为了兼顾vs下使用utf-8编码的注释不会扰乱运行代码注释统一用//,而不用/**/

致谢

感谢叶宇晨(北京大学)帮我测试了最初版本的代码 感谢丁源高行健西安交通大学建立了一维情况下GKS通量函数的标准参考解集合
感谢何志强博士告知我用git上传尽管我现在仍一头雾水只能用https 而不能用 ssh 这是为什么?
特别鸣谢徐昆老师。该开源项目以及气体动理学讲习班2022是在徐昆老师的鼓励和支持下启动的。