Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • lbmpy lbmpy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 17
    • Issues 17
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • pycodegen
  • lbmpylbmpy
  • Merge requests
  • !127

Rework of the Cumulant-Based Method

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Frederik Hennig requested to merge da15siwa/lbmpy:cumulant_method_rework into master Jun 29, 2022
  • Overview 2
  • Commits 21
  • Pipelines 14
  • Changes 32

This MR updates the cumulant-based LB method to better fit into our updated modelling framework. Several components are changed:

Central Moment to Cumulant Transform

  • Now derives equations for polynomial cumulants, with monomials as intermediary values
  • No longer ignores cumulants of zeroth and first order
  • No longer simplifies according to a-priori assumptions about zeroth and first order cumulants, but emits equations containing logarithms and exponentials that need to be simplified later

Cumulant-Based Method

  • Renamed to CumulantBasedLbMethod
  • Forces are now applied symmetrically in central moment space according to the given force model, no more 'implicit forcing'
  • Zeroth and first order cumulants are now treated regularily
  • The Galilean correction was extracted as an a-posteriori-modification

Force Models

  • Introduced interface method symmetric_central_moment_forcing for use with the cumulant method and implemented it for Simple, Luo, Guo and He

Central Moment Transform

  • Introduced BinomialChimeraTransform as a new central moment transform class.

Method Creation

  • Cumulant-based methods are now created like all other methods using create_with_equilibrium, and are thus open for use with arbitrary custom equilibria

Simplification

The changes to the derivation did increase the FLOP count of the cumulant method slightly.

  • Added insert_logs to eliminate exponentials and logarithms in the cumulant-based method
  • Added expand_post_collision_central_moments to simplify post-collision equations
  • Added insert_conserved_quantity_products and insert_half_force to simplify expressions in central moment and cumulant based methods that depend only on conserved quantitites or the body force
Edited Sep 15, 2022 by Frederik Hennig
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: cumulant_method_rework