Cumulant LBM
Overview
This merge request introduces a new cumulantbased Lattice Boltzmann Method to lbmpy. The new method adheres closely to the D3Q27 cumulant LBM presented by Martin Geier et al. in their 2015 paper (https://doi.org/10.1016/j.camwa.2015.05.001). During the collision step, density and momentum are updated in central moment space while the remainder of the collision is computed in cumulant space. Upon construction, groups of polynomial cumulants for the collision step must be specified. Standard cumulant sets are provided for the D2Q9, D3Q19 and D3Q27 lattices. The momentum update in central moment space enables an implicit forcing scheme, where the equilibrium velocity is shifted by the halfforce shift and forcing is realised by maximum overrelaxation of the firstorder moments, i.e. by setting omega_1 = 2
. The usage of an explicit forcing scheme is however still possible.
Collision Model
The new method is implemented by the class CenteredCumulantBasedLbMethod
deriving from AbstractLbMethod
. The name stems from the hybridapproach of relaxing the conserved modes in central moment space and the remainder in cumulant space. The collision operator is derived in a stepbystep approach:
 Transform PDFs to Central Moments by the recursive fast central moment transform described by Geier et al. Can also be configured to use a matrixbased transformation, which however leads to more complicated equations and slower kernels.
 Transform Central Moments to Monomial Cumulants by expressing the CumulantGenerating function in terms of the centralmomentgenerating function, calculating its derivatives and expressing those by derivatives of the centralmomentgenerating function which are equal to the central moments.
 Collision of Polynomial Cumulants: The monomials are combined to polynomials and relaxed using matrix multiplication. From the postcollision polynomials, the postcollision monomial cumulants are computed.
 BackwardTransform from Monomial Cumulants to Central Moments: By expressing and differentiating the central moment generating function in terms of the cumulant generating function.
 BackwardTransform from Central Moments to PDFs by the fast backward central moment transform, also by Geier et al. Alternatively, a matrixbased approach is configurable, which however inflates the equations significantly.
Accuracy and Efficiency
The cumulantmethod has been shown to be superior to conventional MRT methods in terms of stability and galilean invariance. Almost all cumulants have equilibrium values of zero. Full relaxation (omega = 1
) for higherorder cumulants is viable as they do not affect hydrodynamic properties at leading order. Full relaxation is also preferable as it leads to the insertion of the zero equilibria in subsequent equations, simplifying those and thus accelerating execution significantly.
On the GPU, with the D3Q27 lattice and full relaxation, this method beats the orthogonal MRT method by a significant margin:
To Do

Galilean Correction 
Automatic Insertion of ZeroCumulants 
Optimal Simplification Strategy 
Integration with existing method creation framework 
DemoNotebook 
Integration with waLBerla CodeGen