Rework of the Cumulant-Based Method
All threads resolved!
All threads resolved!
This MR updates the cumulant-based LB method to better fit into our updated modelling framework. Several components are changed:
Central Moment to Cumulant Transform
- Now derives equations for polynomial cumulants, with monomials as intermediary values
- No longer ignores cumulants of zeroth and first order
- No longer simplifies according to a-priori assumptions about zeroth and first order cumulants, but emits equations containing logarithms and exponentials that need to be simplified later
Cumulant-Based Method
- Renamed to
CumulantBasedLbMethod
- Forces are now applied symmetrically in central moment space according to the given force model, no more 'implicit forcing'
- Zeroth and first order cumulants are now treated regularily
- The Galilean correction was extracted as an a-posteriori-modification
Force Models
- Introduced interface method
symmetric_central_moment_forcing
for use with the cumulant method and implemented it forSimple
,Luo
,Guo
andHe
Central Moment Transform
- Introduced
BinomialChimeraTransform
as a new central moment transform class.
Method Creation
- Cumulant-based methods are now created like all other methods using
create_with_equilibrium
, and are thus open for use with arbitrary custom equilibria
Simplification
The changes to the derivation did increase the FLOP count of the cumulant method slightly.
- Added
insert_logs
to eliminate exponentials and logarithms in the cumulant-based method - Added
expand_post_collision_central_moments
to simplify post-collision equations - Added
insert_conserved_quantity_products
andinsert_half_force
to simplify expressions in central moment and cumulant based methods that depend only on conserved quantitites or the body force
Edited by Frederik Hennig
Merge request reports
Activity
Filter activity
requested review from @holzer
assigned to @da15siwa
- Resolved by Helen Schottenhamml
@schottenhamml could you please test if the changes are consistent with your applications?
added 1 commit
- 30d6b1cc - Simplify cqc- and force-dependent terms in central moment and cumulant methods
added 1 commit
- cf4ecd4f - Fixed default central moment transforms. Added missing insert_constants.
added 1 commit
- 458919eb - removed `add_subexpressions_for_constants` from pipeline again
added 1 commit
- ed14ad1a - Fixed central moment equilibrium values property
enabled an automatic merge when the pipeline for d73bcfdf succeeds
mentioned in commit 19c4e7bc
Please register or sign in to reply