Skip to content

GitLab

  • Menu
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 15
    • Issues 15
    • 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

Open
Created Jun 29, 2022 by Frederik Hennig@da15siwaMaintainer
  • Report abuse
Report abuse

Draft: Rework of the Cumulant-Based Method

  • Overview 2
  • Commits 19
  • Pipelines 13
  • 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 Jul 15, 2022 by Frederik Hennig
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: cumulant_method_rework