diff --git a/lbmpy/methods/creationfunctions.py b/lbmpy/methods/creationfunctions.py index 859b03a4780b13e0dbfd6bcf28acbf9828222317..311bbba7ad8549105f80ad8063894141d3aceb24 100644 --- a/lbmpy/methods/creationfunctions.py +++ b/lbmpy/methods/creationfunctions.py @@ -396,6 +396,15 @@ def create_mrt_orthogonal(stencil, relaxation_rate_getter=None, maxwellian_momen [x * y * z] ] elif stencils_have_same_entries(stencil, get_stencil("D3Q19")): + # This MRT variant mentioned in the dissertation of Ulf Schiller + # "Thermal fluctuations and boundary conditions in the lattice Boltzmann method" (2008), p. 24ff + # There are some typos in the moment matrix on p.27 + # The here implemented ordering of the moments is however different from that reference (Eq. 2.61-2.63) + # The moments are weighted-orthogonal (Eq. 2.58) + + # Further references: + # Duenweg, B., Schiller, U. D., & Ladd, A. J. (2007). Statistical mechanics of the fluctuating lattice Boltzmann equation. Physical Review E, 76(3) + # Chun, B., & Ladd, A. J. (2007). Interpolated boundary condition for lattice Boltzmann simulations of flows in narrow gaps. Physical review E, 75(6) sq = x ** 2 + y ** 2 + z ** 2 nested_moments = [ [one, x, y, z], # [0, 3, 5, 7]