From 185a3cac1166255163512bbf68c4bde4e5020904 Mon Sep 17 00:00:00 2001 From: Philipp Suffa <philipp.suffa@fau.de> Date: Tue, 6 May 2025 16:17:11 +0200 Subject: [PATCH] Add psm to collision rule at the end of creation function to enable simplifications --- src/lbmpy/creationfunctions.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lbmpy/creationfunctions.py b/src/lbmpy/creationfunctions.py index c1586d1f..76766af7 100644 --- a/src/lbmpy/creationfunctions.py +++ b/src/lbmpy/creationfunctions.py @@ -685,10 +685,6 @@ def create_lb_collision_rule(lb_method=None, lbm_config=None, lbm_optimisation=N else: collision_rule = lb_method.get_collision_rule(pre_simplification=pre_simplification) - if lbm_config.psm_config is not None: - if lbm_config.psm_config.fraction_field is None or lbm_config.psm_config.object_velocity_field is None: - raise ValueError("Specify a fraction and object velocity field in the PSM Config") - collision_rule = replace_by_psm_collision_rule(collision_rule, lbm_config.psm_config) if lbm_config.galilean_correction: from lbmpy.methods.cumulantbased import add_galilean_correction @@ -761,6 +757,11 @@ def create_lb_collision_rule(lb_method=None, lbm_config=None, lbm_optimisation=N if lbm_config.fluctuating: add_fluctuations_to_collision_rule(collision_rule, **lbm_config.fluctuating) + if lbm_config.psm_config is not None: + if lbm_config.psm_config.fraction_field is None or lbm_config.psm_config.object_velocity_field is None: + raise ValueError("Specify a fraction and object velocity field in the PSM Config") + collision_rule = replace_by_psm_collision_rule(collision_rule, lbm_config.psm_config) + if lbm_optimisation.cse_pdfs: from lbmpy.methods.momentbased.momentbasedsimplifications import cse_in_opposing_directions collision_rule = cse_in_opposing_directions(collision_rule) @@ -882,6 +883,7 @@ def create_psm_update_rule(lbm_config, lbm_optimisation): node_collection = lb_update_rule.all_assignments + if lbm_config.psm_config.individual_fraction_field is None: assert lbm_config.psm_config.max_particles_per_cell == 1 fraction_field = lbm_config.psm_config.fraction_field -- GitLab