lbmpy merge requestshttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests2024-01-19T09:36:28+01:00https://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/159Interpolation Boundary condition2023-12-05T12:30:02+01:00Markus HolzerInterpolation Boundary conditionImplements a Linear Bouzidi boundary condition. This is an interpolated version of a NoSlip BC and described here: https://doi.org/10.1063/1.1399290
Implements the quadratic bounce back. This is an interpolated version of a NoSlip BC an...Implements a Linear Bouzidi boundary condition. This is an interpolated version of a NoSlip BC and described here: https://doi.org/10.1063/1.1399290
Implements the quadratic bounce back. This is an interpolated version of a NoSlip BC and described here in Appendix E: https://www.sciencedirect.com/science/article/pii/S0898122115002126
The advantage of the latter is that it does not need a second fluid cell. Thus, all optimizations can be applied as usual.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/153Cast field reads also in BC2023-09-29T10:43:53+02:00Markus HolzerCast field reads also in BCUsing mixed precision, field reads were not isolated in the boundary kernels. This leads to calculations in lower precision in the BCUsing mixed precision, field reads were not isolated in the boundary kernels. This leads to calculations in lower precision in the BCMarkus 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/145Replace PyCuda with CuPy2023-06-24T10:10:53+02:00Markus HolzerReplace PyCuda with CuPyReplaces [PyCuda](https://documen.tician.de/pycuda/) with [CuPy](https://cupy.dev/)
Advantages of [CuPy](https://cupy.dev/):
- AMD support
- probably higher maintained due to NVIDIA support
- SciPy compatible.Replaces [PyCuda](https://documen.tician.de/pycuda/) with [CuPy](https://cupy.dev/)
Advantages of [CuPy](https://cupy.dev/):
- AMD support
- probably higher maintained due to NVIDIA support
- SciPy compatible.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/144Introduce Central moment forcing again2023-06-15T15:37:26+02:00Markus HolzerIntroduce Central moment forcing againA force model described like here: https://doi.org/10.1016/j.camwa.2015.05.001
is reintroduced to lbmpy for the usage with the cumulant collision modelA force model described like here: https://doi.org/10.1016/j.camwa.2015.05.001
is reintroduced to lbmpy for the usage with the cumulant collision modelMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/142Thermocapillary2023-12-27T21:28:49+01:00Markus HolzerThermocapillaryIntroduces Thermocapillary flows to lbmpyIntroduces Thermocapillary flows to lbmpyMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/134Simplify equilibrium terms2022-11-08T09:04:23+01:00Markus HolzerSimplify equilibrium termsFor some constellations, the equilibrium terms have grown rather large. This MR simplifies the terms to obtain a more reasonable representation of the EQ again
Fixes #37For some constellations, the equilibrium terms have grown rather large. This MR simplifies the terms to obtain a more reasonable representation of the EQ again
Fixes #37Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/123Short Straming pattern demo2022-06-17T13:44:48+02:00Markus HolzerShort Straming pattern demoThis MR provides a short tutorial on streaming patterns and implements the EsoPull and EsoPush streaming patternThis MR provides a short tutorial on streaming patterns and implements the EsoPull and EsoPush streaming patternMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/118Cassons2022-04-14T10:54:46+02:00Markus HolzerCassonsAdding the Cassons model to lbmpyAdding the Cassons model to lbmpyMarkus 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/105Relaxation rates should be floats2021-11-10T20:37:52+01:00Markus HolzerRelaxation rates should be floatsdefault rrs should be floats. Otherwise, this gives problems in the vectorisation.default rrs should be floats. Otherwise, this gives problems in the vectorisation.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/104D3Q7 Stencil2021-11-02T21:58:04+01:00Markus HolzerD3Q7 StencilThis MR adds a D3Q7 stencil to lbmpy which can be used for advection-diffusion equations.This MR adds a D3Q7 stencil to lbmpy which can be used for advection-diffusion equations.Markus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/98Generalisation of Relaxation rate setter2021-10-27T23:34:18+02:00Markus HolzerGeneralisation of Relaxation rate setterAll methods that have a high number of free relaxation rates have different logic for how the list of relaxation rates is set. First of all, this causes a lot of confusing and unnecessary code and second it is confusing for the user.
In...All methods that have a high number of free relaxation rates have different logic for how the list of relaxation rates is set. First of all, this causes a lot of confusing and unnecessary code and second it is confusing for the user.
In this MR the logic for setting the relaxation rate is generalised and then used in all methods.
- If only one relaxation rate is given by the user it is set as the shear relaxation rate.
- If a relaxation rate for all moments is defined they are just used.
- Otherwise, the conserved moments are relaxed with zero, the next two relaxation rates in the list are used for bulk and shear viscosity and the remaining ones are used to relax a complete group of the same order. If too many relaxation rates are given the list is just cut and the remaining ones have no influence.Markus 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/92Rework force models and central moments transform2021-10-28T13:19:18+02:00Markus HolzerRework force models and central moments transformThis MR provides a complete rework of the force model, so they are functioning in the moment space and the central moment space.
Furthermore, a new implementation for the shift matrix is provided and a rework of the central moment based...This MR provides a complete rework of the force model, so they are functioning in the moment space and the central moment space.
Furthermore, a new implementation for the shift matrix is provided and a rework of the central moment based method.
The central moment transform classes are adapted to be able to work with the changes.
TODOs:
- [x] Test Fixed Density BC when method has a force model
- [x] Forward/Backward Transform for D3Q15
- [x] make cumulants aware of polynomials
- [x] rework cumulants with forceMarkus HolzerMarkus Holzerhttps://i10git.cs.fau.de/pycodegen/lbmpy/-/merge_requests/89FreeSlip2021-07-09T10:14:40+02:00Markus HolzerFreeSlipThis MR adds FreeSlip boundary conditions to lbmpy. Fixes #3This MR adds FreeSlip boundary conditions to lbmpy. Fixes #3Markus HolzerMarkus Holzerhttps://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/71Central moments2021-07-01T14:15:55+02:00Markus HolzerCentral momentsThis MR implements the central moment collision operator. Furthermore, some clean-up in the derivation pipeline is provided.
- [x] derivation of the central moments from the continuous equilibrium
- [x] derivation of the central moments...This MR implements the central moment collision operator. Furthermore, some clean-up in the derivation pipeline is provided.
- [x] derivation of the central moments from the continuous equilibrium
- [x] derivation of the central moments via shift matrix for the discrete equilibrium
- [x] implementation of a central moment class
- [x] finish implementation of the collision
- [x] provide test cases for the operator
- [x] add documentationMarkus 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 Holzer