周报: 2020.10.19 ~ 2020.10.25
由于很快要踏入研究生生活,为了提前适应每周需要开组会讨论的科研生活,在此blog搭建本人的周报、月报栏目,记录每日所做,每周周日上传周报,月底上传月报,本篇为第一篇,囍。
2020.10.25 周日
由于今天是周日,就不分开写每天做了啥,简单总结一下这一周的工作
实现了LBM简单案例——顶盖驱动流
参考blog:
matlab的模拟结果如下图所示(当然它其实是个动图):
需要注意的是,matlab代码使用的边界条件为 非平衡态反弹格式(下面是我的笔记,从何雅玲院士书中提炼出的):
然而这种边界处理对于高雷诺数情况下容易出现发散,对于本案例来说不是很友好,本人尝试将其改为了更为熟练的python代码,如下:
code
1 |
|
仍旧会出现发散情况,于是继续查阅资料,在何雅玲院士的书中发现了对于速度边界更为好用的非平衡态外推格式:(附上书上原文和我的简单笔记)
简单来说就是:对于边界上的节点,若宏观参数未知(比如:密度$\rho$),则用相邻节点的已知参数代替,并用相邻节点的非平衡态函数代替此节点的非平衡态函数,然后加上碰撞项,即可得到此节点的分布函数,最终公式为:(其中O为边界节点,B为其相邻节点)
考虑用C++重构代码,并用tecplot绘制流场图,发现可以任意调整Re数都不会出现发散的情况,其中Re=1000的情况如下图所示:
何院士的代码:
code
1 |
|
传统LBM方法对于大雷诺数的发散情况
对于传统的均分网格lbm方法,对于雷诺数稍大一些(>5000)的情况就会发散,十分让人头疼,因此需要考虑找到处理大雷诺数的情况,需要查阅文献找找方法
利用python分割pdf文件
今天给小组成员发了boltzmann方程的推导过程, 让他们熟悉熟悉,总不能啥也不干吧。。。(打算之后每周都发一点东西给他们看看)
为了更加人性化,我用python切割pdf文件,把电子书的一部分做成pdf发给他们,这样压力会小点,具体代码如下
1 |
|
下周计划
重构一遍顶盖驱动流的C++代码,要熟练掌握
找到处理大雷诺数的方法
熟悉周期性边界条件
计算一个类似于下图所示的简单案例
应用周期性边界条件,计算一个下图所示案例
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!