Rework force models and central moments transform
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:
-
Test Fixed Density BC when method has a force model -
Forward/Backward Transform for D3Q15 -
make cumulants aware of polynomials -
rework cumulants with force
Merge request reports
Activity
added feature proposal label
- Resolved by Michael Kuron
requested review from @kuron and removed review request for @schottenhamml
requested review from @schottenhamml and removed review request for @kuron
added 2 commits
mentioned in issue walberla/walberla#155 (closed)
- Resolved by Michael Kuron
I have added a few test cases, most of which pass. A couple fail, indicating that there are still errors in this merge request.
Looking at the moments:
- Simple, Luo, Guo: pass all tests.
- He: has spurious 1/rho in the moments. The incompressible version even has 1/rho^2, as well as a non-zero mass mode, which is even more wrong. Note that incompressibility does not necessarily mean rho=1!
- Buick: appears to be identical to Simple. Shouldn't this be kind of an incompressible Guo?
- EDM: has stress moments that are quadratic in the force. This can't be right. The compressible version also has spurious 1/rho in the stress modes.
Comparing to the expressions from the original literature:
- When using an MRT with only a single relaxation time, we do not recover the SRT version of Guo and Buick (Guo however is identical to Schiller in this case). I guess this is because MRT does not relax the conserved moments, while SRT does. It might be fine since our implementation is more generic than the literature, but it would be good if you could also give this some thought, @holzer.
mentioned in merge request !76 (closed)
added 2 commits
The symbolic relaxation rates you pushed earlier broke some of my new tests.
Edited by Michael KuronYes, I will fix this asap. The problem before was that the multiplication with the relaxation matrix introduces 10^-20 terms for some relaxation rates, so we decided to completely transform the relaxation rates to a symbolic representation inside the method which is resolved by subexpressions.