Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • lbmpy lbmpy
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • 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
  • !40

Merged
Created Sep 27, 2020 by Frederik Hennig@da15siwaMaintainer

Advanced Streaming Extensions

  • Overview 17
  • Commits 50
  • Pipelines 42
  • Changes 23

This patch extends lbmpy's support for advanced streaming patterns. In particular, the Push-Collide-Stream, AA-Pattern and Esoteric Twist are considered.

  • Boundary Handling: The LBM boundary implementations are overhauled completely. A new framework for defining and generating boundary kernels is introduced, which makes the symbolic definition independent of the streaming pattern. Boundaries can now be defined symbolically using the proxy fields f_out for accessing populations streaming out of a cell, and f_in for populations streaming in to a cell. Those are replaced during the code generation process according to the streaming pattern. The class BetweenTimestepsIndexing used herein can also be used to generate other kernels that run on the PDF-field in-between collision steps.

  • Periodicity Handling: The build-in periodicity synchronization of pystencil's DataHandling does not work for advanced LBM streaming. The new class LBMPeriodicityHandling extends the SerialDataHandling to handle periodicity correctly.

  • Utility: The patch introduces a few utility functions for the work with advanced streaming patterns.

Edited Oct 29, 2020 by Markus Holzer
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: advanced_streaming_extensions