Skip to content
Snippets Groups Projects

Improved Moment-Based Method

Merged Frederik Hennig requested to merge da15siwa/lbmpy:improvedMomentMethod into master

Remade collision rule derivation for the moment-based method. Instead of bunching moment matrix multiplication, moment-wise relaxation and backward transformation into one equation, these steps are now split:

  • Pre-collision moments are computed from populations by a chimera transform (or, optionally, matrix-vector-multiplication) and stored as subexpressions. This step also simplifies the conserved quantity equations by expressing them in terms of raw moments.
  • Relaxation and forces are applied in moment space. Post-collision moments are stored as subexpressions. To this end, a moment_space_forcing interface was added to common force models.
  • Post-collision populations are computed from post-collision moments by matrix-vector-multiplication with splitting of symmetric and asymmetric parts.
  • If moment-space forcing is not available, force terms are added in populations space.

The new derivation process yields MRT collision rules with much fewer FLOPs than previously obtained within lbmpy. For D3Q27 compressible orthogonal weighted MRT, only 441 operations are counted, where previously 750-780 FLOPs were counted. The old derivation method is still available and used by default for SRT and TRT, still yielding the most efficient equations in population space.

Requires functionality introduced in pystencils!258 (merged).

To Do:

  • Documentation and Tutorial Notebooks
Edited by Markus Holzer

Merge request reports

Pipeline #33568 passed

Pipeline passed for 12cfcaf8 on da15siwa:improvedMomentMethod

Merged by Markus HolzerMarkus Holzer 3 years ago (Aug 5, 2021 6:33pm UTC)

Loading

Pipeline #33574 failed

Pipeline failed for 2faceda6 on master

Test coverage 90.44% from 0 jobs

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply