论文标题

晶格Boltzmann型号的半自动结构

Semi-automatic construction of Lattice Boltzmann models

论文作者

Spiller, Dominic, Duenweg, Burkhard

论文摘要

构建晶格玻尔兹曼模型的关键步骤是合适的晶格速度集的定义,以及相关权重的正确分配。对于高阶模型,该问题的解决方案需要非平凡的努力。该论文概述了公开可用的Python脚本的功能,该脚本是为了帮助研究人员完成该任务的文章。声音$ C_S $的速度被认为是一个参数,可以随意选择在限制内。在此前提下,Maxwell-Boltzmann约束方程是一个线性方程组的系统,以确定权重,因此可以通过标准线性代数库例程对数值解决方案进行调整。通过合适的收缩,张量方程映射到一组等效标量方程,从而大大简化了处理。对于用户提供的一组速度外壳,该软件首先检查是否存在权重的解决方案,并将其返回是否恰好是唯一的。在这种情况下,该软件还计算出产生正权重的$ C_S $值范围。像D3Q19这样的标准型号具有明确定义的特殊$ C_S $值,然后将其重量之一消失的限制案例产生。如果有一套无限的解决方案,用户可以通过提供$ C_S $值来找到一种特定的解决方案,然后在标准线性编程框架内最小化一个或几个权重。一些例子说明了该方法的可行性和实用性。文献中已经讨论过的许多模型都很好地复制了,而该软件也能够找到一些更高级别的新模型。

A crucial step in constructing a Lattice Boltzmann model is the definition of a suitable set of lattice velocities, and the correct assignment of the associated weights. For high-order models, the solution of this problem requires a non-trivial effort. The paper outlines the functioning of a publicly available Python script which has been written to assist researchers in that task. The speed of sound $c_s$ is considered as a parameter, which can, within limits, be chosen at will. Under this premise, the Maxwell-Boltzmann constraint equations are a system of linear equations to determine the weights, and hence amenable to numerical solution by standard linear algebra library routines. By suitable contractions, the tensor equations are mapped to a set of equivalent scalar equations, which simplifies the treatment significantly. For a user-supplied set of velocity shells, the software first checks if a solution for the weights exists, and returns it if it also happens to be unique. In such a case, the software also calculates the range of $c_s$ values that yield positive weights. Standard models like D3Q19 with a well-defined special $c_s$ value then result as limiting cases where one of the weights vanishes. In case of an infinite set of solutions, the user may find one particular solution by supplying a $c_s$ value, and then minimizing one or several weights within the framework of standard linear programming. Some examples illustrate the feasibility and usefulness of the approach. A number of models that have been discussed in the literature are nicely reproduced, while the software has also been able to find some new models of even higher order.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源