Compare commits

..

No commits in common. "master" and "master" have entirely different histories.

3 changed files with 6 additions and 304 deletions

View File

@ -1,293 +0,0 @@
气体动理学格式类型GKS-type通量求解器 数据标准化
Contributed by 丁源1219948011@qq.com高行健2861414375@qq.com西安交通大学
本文档建立的背景是GKS通量比较复杂很多开发者想使用或者自己自主编写GKS通量会遇到困难例如使用时遇到问题不知道如何调参开发时总觉得通量可能有些地方写的不对等
本文档建立的意义是:帮助开发者 1加速理解GKS2快速Debug GKS通量
本文档的主要内容:提供了一维情况下, 6个不同的界面左右的宏观量分布、固定时间步长、比热比下 对应的GKS类型无粘通量
本文档的使用方法假设界面的坐标位置为x=x0, GKS类型的通量函数 F 可以总结为 F=FW^L,W^Lx,W^R,W^Rx,dt), F表示 t^n 到 t^n+1 时间段的该界面上的总通量W^L,W^R是界面左侧、右侧的守恒量坐标位置为x0- 和 x0+W^Lx,W^Rx是界面左侧、右侧的守恒量的一阶导数,dt是 t^n 到 t^n+1 时间段的时间间隔。
具体来说本文档以及对应开源程序GKS2D-str提供了四种GKS类型通量对应的数据 1一阶Kinetic Flux Vector Splitting 通量 KFVS1st2二阶Kinetic Flux Vector Splitting 通量 KFVS2nd3一阶Gas Kinetic Scheme 通量 GKS1st4二阶Gas Kineitc Scheme 通量 GKS2nd
以下为具体数据和设置
计算时间步长为0.005000,Gamma=1.4
1KFVS1st
(以下输出按照密度、动量、内能顺序)
初值条件1
界面左侧初值为: 1.000000 0.000000 2.500000
界面右侧初值为: 0.125000 0.000000 0.250000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0017716959 0.0027500000 0.0054488970
第2项 0.0000000000 0.0000000000 0.0000000000
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0000000000 0.0000000000 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0017716959 0.0027500000 0.0054488970
初值条件2
界面左侧初值为: 1.000000 -2.000000 3.000000
界面右侧初值为: 1.000000 2.000000 3.000000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0000000000 0.0000004374 0.0000000000
第2项 0.0000000000 0.0000000000 0.0000000000
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0000000000 0.0000000000 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0000000000 0.0000004374 0.0000000000
初值条件3
界面左侧初值为: 1.000000 0.000000 2500.000000
界面右侧初值为: 1.000000 0.000000 0.025000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0628788419 2.5000250000 189.2349331674
第2项 0.0000000000 0.0000000000 0.0000000000
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0000000000 0.0000000000 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0628788419 2.5000250000 189.2349331674
2KFVS2ND
初值条件1
界面左侧初值为: 1.000000 0.000000 2.500000
界面右侧初值为: 0.125000 0.000000 0.250000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0017716959 0.0027500000 0.0054488970
第2项 -0.0000000000 -0.0000000000 -0.0000000000
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0000000000 0.0000000000 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0017716959 0.0027500000 0.0054488970
初值条件2
界面左侧初值为: 1.000000 -2.000000 3.000000
界面右侧初值为: 1.000000 2.000000 3.000000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0000000000 0.0000004374 0.0000000000
第2项 -0.0000000000 -0.0000000000 -0.0000000000
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0000000000 0.0000000000 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0000000000 0.0000004374 0.0000000000
初值条件3
界面左侧初值为: 1.000000 0.000000 2500.000000
界面右侧初值为: 1.000000 0.000000 0.025000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0628788419 2.5000250000 189.2349331674
第2项 -0.0000000000 -0.0000000000 -0.0000000000
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0000000000 0.0000000000 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0628788419 2.5000250000 189.2349331674
初值条件4
界面左侧初值为: 1.000000 0.000000 2.500000
界面右侧初值为: 0.125000 0.000000 0.250000
界面左侧斜率为: 1.000000 1.000000 1.000000
界面右侧斜率为: 1.000000 1.000000 1.000000
界面通量逐项展开,分别为:
第1项 0.0017716959 0.0027500000 0.0054488970
第2项 -0.0000060529 -0.0000329632 -0.0000069732
第3项 0.0000000000 -0.0000000000 0.0000000000
第4项 0.0000000000 0.0000000000 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 -0.0000000000 -0.0000000000 -0.0000000000
最终计算得到的界面通量值为:
0.0017656430 0.0027170368 0.0054419237
初值条件5
界面左侧初值为: 1.000000 -2.000000 3.000000
界面右侧初值为: 1.000000 2.000000 3.000000
界面左侧斜率为: 1.000000 1.000000 1.000000
界面右侧斜率为: 1.000000 1.000000 1.000000
界面通量逐项展开,分别为:
第1项 0.0000000000 0.0000004374 0.0000000000
第2项 -0.0000000302 -0.0000000114 -0.0000000307
第3项 -0.0000000000 0.0000000000 -0.0000000000
第4项 0.0000000000 0.0000000000 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 -0.0000000000 -0.0000000000 -0.0000000000
最终计算得到的界面通量值为:
-0.0000000302 0.0000004260 -0.0000000307
初值条件6
界面左侧初值为: 1.000000 0.000000 2500.000000
界面右侧初值为: 1.000000 0.000000 0.025000
界面左侧斜率为: 1.000000 1.000000 1.000000
界面右侧斜率为: 1.000000 1.000000 1.000000
界面通量逐项展开,分别为:
第1项 0.0628788419 2.5000250000 189.2349331674
第2项 -0.0003193942 0.1387569536 20.5959336061
第3项 -0.0000000000 0.0000000000 0.0000000000
第4项 0.0000000000 0.0000000000 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 -0.0000000000 -0.0000000000 -0.0000000000
最终计算得到的界面通量值为:
0.0625594477 2.6387819536 209.8308667734
3GKS1st
初值条件1
界面左侧初值为: 1.000000 0.000000 2.500000
界面右侧初值为: 0.125000 0.000000 0.250000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0010520097 0.0016329137 0.0032354832
第2项 0.0000000000 0.0000000000 0.0000000000
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0007196862 0.0014797715 0.0024058091
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0017716959 0.0031126852 0.0056412922
初值条件2
界面左侧初值为: 1.000000 -2.000000 3.000000
界面右侧初值为: 1.000000 2.000000 3.000000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0000000000 0.0000000219 0.0000000000
第2项 0.0000000000 0.0000000000 0.0000000000
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0000000000 0.0000024625 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0000000000 0.0000024844 0.0000000000
初值条件3
界面左侧初值为: 1.000000 0.000000 2500.000000
界面右侧初值为: 1.000000 0.000000 0.025000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0405494769 1.6122228551 122.0343333514
第2项 0.0000000000 0.0000000000 0.0000000000
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0223293650 1.1124492827 38.3705019083
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0628788419 2.7246721378 160.4048352597
3GKS2nd
c1=0.05 c2=1.0 平衡态通过 center_collision得到
初值条件1
界面左侧初值为: 1.000000 0.000000 2.500000
界面右侧初值为: 0.125000 0.000000 0.250000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0010520097 0.0016329137 0.0032354832
第2项 -0.0000000000 -0.0000000000 -0.0000000000
第3项 -0.0000000000 -0.0000000000 -0.0000000000
第4项 0.0007196862 0.0014797715 0.0024058091
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0017716959 0.0031126852 0.0056412922
初值条件2
界面左侧初值为: 1.000000 -2.000000 3.000000
界面右侧初值为: 1.000000 2.000000 3.000000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0000000000 0.0000000219 0.0000000000
第2项 -0.0000000000 -0.0000000000 -0.0000000000
第3项 -0.0000000000 -0.0000000000 -0.0000000000
第4项 0.0000000000 0.0000024625 0.0000000000
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0000000000 0.0000024844 0.0000000000
初值条件3
界面左侧初值为: 1.000000 0.000000 2500.000000
界面右侧初值为: 1.000000 0.000000 0.025000
界面左侧斜率为: 0.000000 0.000000 0.000000
界面右侧斜率为: 0.000000 0.000000 0.000000
界面通量逐项展开,分别为:
第1项 0.0405494769 1.6122228551 122.0343333514
第2项 -0.0000000000 -0.0000000000 -0.0000000000
第3项 -0.0000000000 -0.0000000000 -0.0000000000
第4项 0.0223293650 1.1124492827 38.3705019083
第5项 0.0000000000 0.0000000000 0.0000000000
第6项 0.0000000000 0.0000000000 0.0000000000
最终计算得到的界面通量值为:
0.0628788419 2.7246721378 160.4048352597
初值条件4
界面左侧初值为: 1.000000 0.000000 2.500000
界面右侧初值为: 0.125000 0.000000 0.250000
界面左侧斜率为: 1.000000 1.000000 1.000000
界面右侧斜率为: 1.000000 1.000000 1.000000
界面通量逐项展开,分别为:
第1项 0.0010520097 0.0016329137 0.0032354832
第2项 -0.0000029190 -0.0000158962 -0.0000033628
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0007196862 0.0014797715 0.0024058091
第5项 0.0000070387 0.0000141615 0.0000130261
第6项 -0.0000145958 -0.0000219744 -0.0000453433
最终计算得到的界面通量值为:
0.0017612198 0.0030889760 0.0056056123
初值条件5
界面左侧初值为: 1.000000 -2.000000 3.000000
界面右侧初值为: 1.000000 2.000000 3.000000
界面左侧斜率为: 1.000000 1.000000 1.000000
界面右侧斜率为: 1.000000 1.000000 1.000000
界面通量逐项展开,分别为:
第1项 0.0000000000 0.0000000219 0.0000000000
第2项 -0.0000000002 -0.0000000001 -0.0000000002
第3项 0.0000000000 0.0000000000 0.0000000000
第4项 0.0000000000 0.0000024625 0.0000000000
第5项 0.0000000008 0.0000000003 0.0000000010
第6项 -0.0000001608 -0.0000000288 -0.0000001864
最终计算得到的界面通量值为:
-0.0000001602 0.0000024559 -0.0000001856
初值条件6
界面左侧初值为: 1.000000 0.000000 2500.000000
界面右侧初值为: 1.000000 0.000000 0.025000
界面左侧斜率为: 1.000000 1.000000 1.000000
界面右侧斜率为: 1.000000 1.000000 1.000000
界面通量逐项展开,分别为:
第1项 0.0405494769 1.6122228551 122.0343333514
第2项 -0.0001737611 0.0754883960 11.2048726292
第3项 0.0000000000 -0.0000000000 0.0000000000
第4项 0.0223293650 1.1124492827 38.3705019083
第5项 0.0035549443 0.4926617881 30.9933099143
第6项 -0.0065344248 -0.4940758961 -25.5054343568
最终计算得到的界面通量值为:
0.0597256004 2.7987464258 177.0975834465

Binary file not shown.

View File

@ -1,7 +1,7 @@
会不断更新的!我的邮箱 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
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
@ -10,14 +10,12 @@ 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以上的程序运行内存)编译)。编译成功,弹出控制台运行
4. 点击调试下拉菜单的 开始执行不调试建议使用release因为快和x64因为支持3.25GB以上的程序运行内存)编译)。编译成功,弹出控制台运行
### linux 和 g++
0. 目前linux下的安装教程可能是不完善的因为我主要在windows下写程序
1. 复制code文件夹和和structured-mesh文件夹到同一目录下确保安装了g++支持c++11或者以上标准安装了openmp
@ -28,12 +26,9 @@ GKS是香港科技大学华人学者徐昆教授原创的针对可压缩流动
4. cd到build文件夹 执行可执行文件 main
## 注
程序 运行代码部分采用英文命名;注释部分采用中文+英文以行文流畅易懂为准则因此考虑到linux下不乱码采用utf-8编码。
在windows系统VS下添加注释建议安装[forceUTF-8插件](https://blog.csdn.net/weixin_43734095/article/details/104481436) 为了兼顾vs下使用utf-8编码的注释不会扰乱运行代码注释统一用//,而不用/**/
程序 运行代码部分采用英文命名;注释部分采用中文+英文以行文流畅易懂为准则因此考虑到linux下不乱码采用utf-8编码。在windows系统VS下添加注释建议安装[forceUTF-8插件](https://blog.csdn.net/weixin_43734095/article/details/104481436) 为了兼顾vs下使用utf-8编码的注释不会扰乱运行代码注释统一用//,而不用/**/
# 致谢
感谢叶宇晨(北京大学)帮我测试了最初版本的代码
感谢丁源高行健西安交通大学建立了一维情况下GKS通量函数的标准参考解集合
感谢丁源千哲西安交通大学编写了1维1阶KFVS 2阶KFVS 1阶GKS 2阶GKS的算法说明
感谢何志强博士告知我用git上传
特别鸣谢徐昆老师。该开源项目以及气体动理学讲习班2022、2023是在徐昆老师的鼓励和支持下启动的。
感谢叶宇晨(北京大学)帮我测试了最初版本的代码
感谢何志强博士告知我用git上传尽管我现在仍一头雾水只能用https 而不能用 ssh 这是为什么?
特别鸣谢徐昆老师。该开源项目以及气体动理学讲习班2022是在徐昆老师的鼓励和支持下启动的。