lbmpy merge requestshttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests2023-04-01T15:19:38+02:00https://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/139[BugFix] Fix missing comunicated PDFs for FreeSlip2023-04-01T15:19:38+02:00Markus Holzer[BugFix] Fix missing comunicated PDFs for FreeSlipWhen the LBM communication is used special slices for the sides and the corners are created. These contain not enough information for the FreeSlip BCs.When the LBM communication is used special slices for the sides and the corners are created. These contain not enough information for the FreeSlip BCs.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/119[BugFix] Wrong factor in Casson model2022-04-26T16:36:03+02:00Markus Holzer[BugFix] Wrong factor in Casson modelFixes a wrong factor in the Casson modelFixes a wrong factor in the Casson modelMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/160[Fix] Interpolation Bounce back2024-01-22T09:44:00+01:00Markus Holzer[Fix] Interpolation Bounce backThe interpolation bounce back boundary condition was wrongly implemented because the equilibrium calculation was done by looking at the 'deviation_only' property of the lb method equilibrium. However, here we need to apply the equilibriu...The interpolation bounce back boundary condition was wrongly implemented because the equilibrium calculation was done by looking at the 'deviation_only' property of the lb method equilibrium. However, here we need to apply the equilibrium on the PDF values and not on moments etc.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/157[Fix] Warning filter in fluctuating LB test2023-11-11T02:53:54+01:00Markus Holzer[Fix] Warning filter in fluctuating LB testThe fluctuating LB test used an old syntax of the pytest module to check for warnings. This now triggers an error and lets the test fail. With this MR new syntax suggested by the pytest package is used.
Furthermore, fix of some warningsThe fluctuating LB test used an old syntax of the pytest module to check for warnings. This now triggers an error and lets the test fail. With this MR new syntax suggested by the pytest package is used.
Furthermore, fix of some warningsMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/25Actually test GPU in test_boundary_handling.test_simple2020-03-12T21:17:43+01:00Stephan SeitzActually test GPU in test_boundary_handling.test_simpleWas only allocating buffers for GPU but then doing boundary handling on
CPUWas only allocating buffers for GPU but then doing boundary handling on
CPUhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/116Adapted to SymPy 1.102022-03-30T11:26:48+02:00Markus HolzerAdapted to SymPy 1.10In this MR a small change in the simplifications of lbmpy is introduced due to https://github.com/sympy/sympy/issues/23297
Furthermore, minor clean upIn this MR a small change in the simplifications of lbmpy is introduced due to https://github.com/sympy/sympy/issues/23297
Furthermore, minor clean upMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/100Adaption to new API2021-10-27T15:32:20+02:00Markus HolzerAdaption to new APIWith this MR, all test cases etc should be adapted to the new API. Since all test cases are touched anyway some adaptions are made additionally. The vast majority is just formatting and removing for loops over parameter sets completely t...With this MR, all test cases etc should be adapted to the new API. Since all test cases are touched anyway some adaptions are made additionally. The vast majority is just formatting and removing for loops over parameter sets completely to replace it with the pytest functionality. A larger change is the removal of the serial scenarios since these used the LBM module of waLBerlas python coupling. However, this module is removed for almost a year now.
Furthermore, the broken elementwise multiplication from SymPy is removed (https://github.com/sympy/sympy/issues/22353).
Further changes:
- It is not simple to build entropic collision operators when forces are involved. A long and clear error message has been added if such a case occurs
- Default moment sets have been moved to their own file as they only pollute the creation functions
- Addition of better documentation for the LBMConfig and LBMOptimisation Classes
- Addition of the `_get_relaxation_info_dict` function which defines how relaxation rates are set for all methods.
- Dokumentation for the Enum classes
- Filter warnings for third party warnings
- Fixing of the maximum supported SymPy version to 1.9Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/120Adaption to pystencils's new type system2022-05-12T12:15:13+02:00Markus HolzerAdaption to pystencils's new type systemAdapts lbmpy to pystencils's new type systemAdapts lbmpy to pystencils's new type systemMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/88Add Authors to lbmpy2021-07-05T12:35:50+02:00Markus HolzerAdd Authors to lbmpyAdds authors.txt to lbmpy and citations to the ReadMe. Furthermore, the CI Skript was adapted slightly to have a pre test stage.Adds authors.txt to lbmpy and citations to the ReadMe. Furthermore, the CI Skript was adapted slightly to have a pre test stage.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/20Add custom timeloop_creation_function for LatticeBoltzmannStep2020-01-09T20:23:33+01:00Stephan SeitzAdd custom timeloop_creation_function for LatticeBoltzmannStepWe use a custom Timeloop subclass for a student project.We use a custom Timeloop subclass for a student project.https://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/81add DiffusionDirichlet boundary condition2021-06-09T17:42:43+02:00Daniel Baueradd DiffusionDirichlet boundary conditionAdd a Dirichlet boundary condition for Advection-Diffusion problems.Add a Dirichlet boundary condition for Advection-Diffusion problems.https://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/35Add integration pipeline2020-06-30T12:56:38+02:00Markus HolzerAdd integration pipelineTo make output fields and the split algorithm work, the order of the code in `creationfunctions.py` was changed. This led to a nonworking entropic LBM because the `add_entropy_condition` in `entropic.py` is not able to deal with the addi...To make output fields and the split algorithm work, the order of the code in `creationfunctions.py` was changed. This led to a nonworking entropic LBM because the `add_entropy_condition` in `entropic.py` is not able to deal with the additional Assignments. The error occurred in the integration pipeline with waLBerla.
In this MR the integration pipeline was added to lbmpy to make sure that the waLBerla integration works as it should and the order in `creationfunctions.py` was changed again to make sure all test cases are working.Helen SchottenhammlHelen Schottenhammlhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/154Add sanity check to timestep arg of get_accessor2023-09-13T10:25:01+02:00Frederik HennigAdd sanity check to timestep arg of get_accessorFrederik HennigFrederik Hennighttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/26Add test to compare results from OpenCL, CPU, CUDA in a full LBM simulation2020-03-12T21:17:06+01:00Stephan SeitzAdd test to compare results from OpenCL, CPU, CUDA in a full LBM simulationFor some reason their result does not agree with the calculated reference velocity.
Did not check for the analytical solution.
https://i10git.cs.fau.de/pycodegen/lbmpy/issues/9For some reason their result does not agree with the calculated reference velocity.
Did not check for the analytical solution.
https://i10git.cs.fau.de/pycodegen/lbmpy/issues/9https://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/75Add Versioneer2021-05-06T19:40:28+02:00Markus HolzerAdd VersioneerSimilar to pythons version string routineSimilar to pythons version string routineMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/133Added demo notebook for the SWE2022-11-02T10:02:02+01:00Frederik HennigAdded demo notebook for the SWEFrederik HennigFrederik Hennighttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/152Added new paper to readme2023-08-07T09:02:56+02:00Frederik HennigAdded new paper to readmeFrederik HennigFrederik Hennighttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/83Added second order moment getter2021-07-28T22:12:26+02:00itischlerAdded second order moment getterAdded the second order moment getter to calculate the pressure tensor, which is needed for the ESPResSo walberla bridge.Added the second order moment getter to calculate the pressure tensor, which is needed for the ESPResSo walberla bridge.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/56Added version String to lbmpy2021-01-26T09:12:35+01:00Markus HolzerAdded version String to lbmpySimilar to pystencils!197Similar to pystencils!197Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/40Advanced Streaming Extensions2020-11-09T15:45:16+01:00Frederik HennigAdvanced Streaming ExtensionsThis 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 complete...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.