diff --git a/src/lbmpy/creationfunctions.py b/src/lbmpy/creationfunctions.py index a633cd673471c5472bf207b0cb8574d2fb9f2fe0..f3effdcb84b038a55880cfea8cbf0077e8c6f25c 100644 --- a/src/lbmpy/creationfunctions.py +++ b/src/lbmpy/creationfunctions.py @@ -626,8 +626,17 @@ def create_lb_update_rule(collision_rule=None, lbm_config=None, lbm_optimisation if lbm_optimisation.symbolic_temporary_field is not None: dst_field = lbm_optimisation.symbolic_temporary_field + # else: + # FIXME: Field duplication is currently broken in pystencils. + # dst_field = src_field.new_field_with_different_name(lbm_config.temporary_field_name) + elif src_field.has_fixed_shape: + field_size = src_field.shape + dst_field = Field.create_fixed_size(lbm_config.temporary_field_name, field_size, index_dimensions=1, + layout=lbm_optimisation.field_layout, dtype=fallback_field_data_type) else: - dst_field = src_field.new_field_with_different_name(lbm_config.temporary_field_name) + dst_field = Field.create_generic(lbm_config.temporary_field_name, spatial_dimensions=collision_rule.method.dim, + index_shape=(q,), layout=lbm_optimisation.field_layout, + dtype=fallback_field_data_type) kernel_type = lbm_config.kernel_type if kernel_type == 'stream_pull_only':