我正在尝试编写具有随机初始速度的 2d 伪光谱 DNS 代码。这是一种经典的模拟,当光谱能量向上级联时,非常小的漩涡聚集在一起形成越来越大的漩涡。到目前为止,我已经完成了我认为直观的事情:我已经完成了一个拆分方案,其中非线性项使用二阶亚当斯 bashforth 时间步进显式处理,而扩散项通过梯形时间步进隐式完成。最后,不可压缩条件由投影方法强制执行。
到目前为止,这似乎适用于其他初始条件,例如零初始速度但添加了强制项。然而,对于我试图解决的问题,流动太分散了,并且对于低雷诺数会抹去一切,或者对于超过几百 (Re) 的任何东西都变得不稳定。我已经尝试过高粘度,但是即使在应用了各种过滤器(sharp、box、gaussian 等)之后,它也会变得不稳定。
基本上我想知道是否有人可以告诉我通常使用什么标准方法来解决这类问题。这是一种常见的玩具模拟设置,所以我假设人们有一种常见的介绍性方式来解决这个问题。
注意:我正在求解非线性项以保守形式编写的无量纲 Navier-Stokes。