lbmpy merge requestshttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests2022-11-24T10:57:59+01:00https://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/138Fix install lbmpy without VCS2022-11-24T10:57:59+01:00Markus HolzerFix install lbmpy without VCSWhen copying lbmpy out of GIT it is not possible to install it because it can not determine its version. In fact, it is impossible to determine the version then. This MR tries to fix the situation.When copying lbmpy out of GIT it is not possible to install it because it can not determine its version. In fact, it is impossible to determine the version then. This MR tries to fix the situation.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/115Fix FreeSlip boundary condition2022-03-02T18:24:03+01:00Daniel BauerFix FreeSlip boundary conditionThere is an issue with the proxy field substitution and the FreeSlip boundary condition.
This is true in particular if the normal vector is not pre-determined as implemented in https://i10git.cs.fau.de/walberla/walberla/-/merge_requests/...There is an issue with the proxy field substitution and the FreeSlip boundary condition.
This is true in particular if the normal vector is not pre-determined as implemented in https://i10git.cs.fau.de/walberla/walberla/-/merge_requests/520.
Currently, with the pull pattern the following substitutions are performed:
```
f_in[0,0](invdir[dir]) ← f_in[{indexField}_{0}^{wnx},{indexField}_{0}^{wny}](indexField[0](ref_dir))
->
pdfs[{f_{in inv offsets x}}_{dir},{f_{in inv offsets y}}_{dir},{f_{in inv offsets z}}_{dir}](f_in_inv_dir_idx[dir]) ← pdfs[{indexVector}_{0}^{wnx} + {f_{in offsets x}}_{{indexVector}_{0}^{ref_dir}},{indexVector}_{0}^{wny} + {f_{in offsets y}}_{{indexVector}_{0}^{ref_dir}},{indexVector}_{0}^{wnz} + {f_{in offsets z}}_{{indexVector}_{0}^{ref_dir}}](indexVector[0](ref_dir))
```
Whereas the correct substitutions are:
```
f_in[0,0](invdir[dir]) ← f_in[{indexField}_{0}^{wnx},{indexField}_{0}^{wny}](indexField[0](ref_dir))
->
pdfs[{f_{in inv offsets x}}_{dir},{f_{in inv offsets y}}_{dir},{f_{in inv offsets z}}_{dir}](f_in_inv_dir_idx[dir]) ← pdfs[{indexVector}_{0}^{wnx} + {f_{in inv offsets x}}_{dir},{indexVector}_{0}^{wny} + {f_{in inv offsets y}}_{dir},{indexVector}_{0}^{wnz} + {f_{in inv offsets z}}_{dir}](indexVector[0](ref_dir))
```
The problem is that the population index (ref_dir) is used to determine a spatial offset.
This MR in its current form fixes this issue for the particular case of the FreeSlip condition and the pull pattern.
Other configurations break.https://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/63fix fluctuating LB2021-02-12T19:47:23+01:00Michael Kuronmkuron@icp.uni-stuttgart.defix fluctuating LBChanged in https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/48.
The errors in test_lbm_vectorization_short and test_lbm_vectorization_short are fixed by https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/212Changed in https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/48.
The errors in test_lbm_vectorization_short and test_lbm_vectorization_short are fixed by https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/212Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/135Fix display of coverage in Gitlab2022-11-04T08:11:20+01:00Michael Kuronmkuron@icp.uni-stuttgart.deFix display of coverage in GitlabThis is the same fix that @thoennes made in https://i10git.cs.fau.de/walberla/walberla/-/merge_requests/573 and also the same as https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/310.This is the same fix that @thoennes made in https://i10git.cs.fau.de/walberla/walberla/-/merge_requests/573 and also the same as https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/310.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/109Fix data type for LB weight info2021-11-16T11:54:35+01:00Markus HolzerFix data type for LB weight info`LbmWeightInfo` used `double` as fixed type. The switch to `float` should be supported`LbmWeightInfo` used `double` as fixed type. The switch to `float` should be supportedMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/136Fix coverage badge2022-11-10T07:20:04+01:00Michael Kuronmkuron@icp.uni-stuttgart.deFix coverage badgeApply the same change as in https://i10git.cs.fau.de/walberla/walberla/-/merge_requests/574 and https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/311.
If it works, the coverage should appear somewhere below on this page.Apply the same change as in https://i10git.cs.fau.de/walberla/walberla/-/merge_requests/574 and https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/311.
If it works, the coverage should appear somewhere below on this page.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/46Fix boundary kwargs2020-12-07T16:36:13+01:00Markus HolzerFix boundary kwargsMichael Kuronmkuron@icp.uni-stuttgart.deMichael Kuronmkuron@icp.uni-stuttgart.dehttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/45Extrapolation Outflow Boundary2021-01-08T13:52:46+01:00Frederik HennigExtrapolation Outflow BoundaryThis MR adds an outflow boundary condition to lbmpy which mimics a zero normal gradient in density and velocity across the boundary. To achieve this, the required outbound populations of the boundary node are taken from the neighboring f...This MR adds an outflow boundary condition to lbmpy which mimics a zero normal gradient in density and velocity across the boundary. To achieve this, the required outbound populations of the boundary node are taken from the neighboring fluid node in the normal direction (nx, ny) :
```math
f_{(nx, ny)}^i \leftarrow f_{(0,0)}^i
```
Of course, populations not streaming back into the domain are omitted. For example, for an outflow at max X in the D2Q9 lattice and the pull streaming pattern, these equations are obtained:
```math
{{f}_{(1,0)}^{3}} \leftarrow {{f}_{(0,0)}^{3}},
{{f}_{(1,0)}^{5}} \leftarrow {{f}_{(0,0)}^{5}},
{{f}_{(1,0)}^{7}} \leftarrow {{f}_{(0,0)}^{7}}
```
The normal direction needs to be passed to the boundary object upon construction. This means that if your domain has multiple outflows on different sides or outflows across corners, seperate boundary objects are required for each direction (including the diagonal direction of the corner).https://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/162Extend UBB2024-01-19T09:36:28+01:00Markus HolzerExtend UBBFor the UBB boundary condition, the density at the wall is calculated from the PDFs at the wall. With this MR the density can also be prescribed by the userFor the UBB boundary condition, the density at the wall is calculated from the PDFs at the wall. With this MR the density can also be prescribed by the userMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/79Extend and fix documentation2021-05-12T17:51:22+02:00Markus HolzerExtend and fix documentationSome parts of the documentation were not referenced properly. Since we ran `sphinx` twice and one time without warnings as error treatment these warnings got unnoticed. This hack was necessary due to a new sphinx version. However, it see...Some parts of the documentation were not referenced properly. Since we ran `sphinx` twice and one time without warnings as error treatment these warnings got unnoticed. This hack was necessary due to a new sphinx version. However, it seems like we don`t need it anymore.
Furthermore, the documentation is extended a little bit and corrected in some parts.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/13Execute LBM scenario with OpenCL2020-01-09T20:24:34+01:00Stephan SeitzExecute LBM scenario with OpenCLIt compiles, it runs, so it's correct I guess...
:shrug:It compiles, it runs, so it's correct I guess...
:shrug:Martin BauerMartin Bauerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/155Enable the Partially Saturated Cells Method2023-12-19T16:23:13+01:00Philipp SuffaEnable the Partially Saturated Cells MethodPhilipp SuffaPhilipp Suffahttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/24Enable iterative initialization for target='opencl'2020-02-22T11:28:26+01:00Stephan SeitzEnable iterative initialization for target='opencl'Just by looking on it: I guess here 'self._gpu' should be used to (maybe) also work with 'opencl'.Just by looking on it: I guess here 'self._gpu' should be used to (maybe) also work with 'opencl'.https://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/64Enable all test cases in windows pipeline2021-02-19T15:24:35+01:00Markus HolzerEnable all test cases in windows pipelineSame as pystencils!209Same as pystencils!209Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/97Draft: Zero centered PDFs2022-01-17T07:58:40+01:00Markus HolzerDraft: Zero centered PDFsThis MR separates compressible and zero centred PDFs. At the moment only incompressible methods are zero centred and this should be possible for all methods.This MR separates compressible and zero centred PDFs. At the moment only incompressible methods are zero centred and this should be possible for all methods.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/149Draft: Wet Node Boundaries2023-07-19T16:11:52+02:00Markus HolzerDraft: Wet Node BoundariesSupport of wet node boundariesSupport of wet node boundariesMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/106Draft: Wall law2021-11-08T13:06:47+01:00Markus HolzerDraft: Wall lawImplementation of a wall lawImplementation of a wall lawMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/86Draft: Fix sparse lbm2022-02-12T20:49:41+01:00Markus HolzerDraft: Fix sparse lbmThis MR updates the sparse LBM by adding correct boundary handling and renewal of the API.This MR updates the sparse LBM by adding correct boundary handling and renewal of the API.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/76Draft: Fix Schiller. Schiller vs Guo force test2021-08-12T22:26:33+02:00Michael Kuronmkuron@icp.uni-stuttgart.deDraft: Fix Schiller. Schiller vs Guo force testSchiller needs shifted equilibrium velocity.
Test currently fails with deviations in the odd-order moments. No idea why. I think this test should pass.Schiller needs shifted equilibrium velocity.
Test currently fails with deviations in the odd-order moments. No idea why. I think this test should pass.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/54Display pytest results in Gitlab2021-02-12T22:40:35+01:00Michael Kuronmkuron@icp.uni-stuttgart.deDisplay pytest results in GitlabAs per https://docs.gitlab.com/ee/ci/unit_test_reports.html#python-example and https://docs.gitlab.com/ee/user/project/merge_requests/test_coverage_visualization.html#python-example. Same as https://i10git.cs.fau.de/pycodegen/pystencils/...As per https://docs.gitlab.com/ee/ci/unit_test_reports.html#python-example and https://docs.gitlab.com/ee/user/project/merge_requests/test_coverage_visualization.html#python-example. Same as https://i10git.cs.fau.de/pycodegen/pystencils/-/merge_requests/205.Markus HolzerMarkus Holzer