OliveTIen / CFD_Solver_2D_GPU

2D Unstructured-Grid CFD Solver Based on GPU
18 stars 1 forks source link

Bug report #1

Open YueWu2002 opened 2 weeks ago

YueWu2002 commented 2 weeks ago

函数 Math_2D::ruvp_2_Fn_lambda_2D 的 Fn[2] 表达式有误

OliveTIen commented 2 weeks ago

Thanks for your attention, but I didn't find where the function is. The followings are search results. 非常感谢你的关注,不过我好像没搜索到该代码,以下为搜索结果。请问该函数在哪个文件的哪一行?

屏幕截图 2024-10-17 093159 屏幕截图 2024-10-17 093359

Besides, the Math_2D class has been deprecated in the new version of the project, and this function should no longer be used. I will update the project soon. 此外,在新版本程序中Math_2D类已经弃用,该函数应该也不会再使用/或者换了个名字,我之后会更新代码

YueWu2002 commented 2 weeks ago

image 如图所示。 另:您的代码非常好,给我留下很深刻的印象。目前我也需要写这样的大规模非结构网格代码,请问您有推荐学习此类代码的资源吗

OliveTIen commented 2 weeks ago

感谢你指出的错误,该函数是错误的,不能直接求Flux,我之前已经弃用但忘记删除,这个函数属于遗留代码,当前项目已经不再使用。

经过你的反馈,我把部分遗留代码移动至./src/deprecated并添加后缀txt。当前src目录下真正被使用的代码如图所示

屏幕截图 2024-10-17 102723

这些遗留代码(FVM_2D Edge_2D Node_2D BoundaryManager_2D)用于读取.su2文件,被SU2MeshReader调用,并以std::vector形式保存。然后在CDriver::start()中,initializeData_byOldData()用于将这些旧数据转化为SoA形式的数据,存储于GPU::GPUSolver2中。真正的求解流场的代码应当参照./src/math, ./src/space, ./src/time。其中U2ruvp函数已经转移至 .\src\math\PhysicalKernel.h

抱歉这些遗留代码给你造成了困扰,我后面会清理这些“屎山”,将它们移动至./src/legacy目录中,然后包装进SU2MeshReader中。预计本周内修复。

关于学习资源,我的二维非结构网格代码是参照任玉新教授的高等计算流体力学讲义和王乾老师(qian.wang[at]csrc.ac.cn) 的2d_ns_laminar代码,你可以找他们问问