diff --git a/python/lbmpy_walberla/templates/LatticeModel.tmpl.h b/python/lbmpy_walberla/templates/LatticeModel.tmpl.h index df188fa32081427ae5ea4a05e81f7fe5b63ea1d4..a80049bead7aadb6fa85dbe99a821dda5d999344 100644 --- a/python/lbmpy_walberla/templates/LatticeModel.tmpl.h +++ b/python/lbmpy_walberla/templates/LatticeModel.tmpl.h @@ -17,7 +17,7 @@ // //====================================================================================================================== - +#pragma once #include "core/DataTypes.h" #include "core/logging/Logging.h" @@ -97,7 +97,7 @@ class {{class_name}} public: typedef stencil::{{stencil_name}} Stencil; - typedef stencil::{{stencil_name}} CommunicationStencil; + typedef stencil::{{communication_stencil_name}} CommunicationStencil; static const real_t w[{{Q}}]; static const real_t wInv[{{Q}}]; diff --git a/python/lbmpy_walberla/walberla_lbm_generation.py b/python/lbmpy_walberla/walberla_lbm_generation.py index 698843f3b57fcfdc4e982489cda3d3e157a4e558..936fcae85ccaff437f97cd28c8e4bf5f74c30cb1 100644 --- a/python/lbmpy_walberla/walberla_lbm_generation.py +++ b/python/lbmpy_walberla/walberla_lbm_generation.py @@ -30,6 +30,9 @@ def __lattice_model(generation_context, class_name, lb_method, stream_collide_as stencil_name = get_stencil_name(lb_method.stencil) if not stencil_name: raise ValueError("lb_method uses a stencil that is not supported in waLBerla") + + + communication_stencil_name = stencil_name if stencil_name != "D3Q15" else "D3Q27" is_float = not generation_context.double_accuracy dtype_string = "float32" if is_float else "float64" @@ -86,6 +89,7 @@ def __lattice_model(generation_context, class_name, lb_method, stream_collide_as jinja_context = { 'class_name': class_name, 'stencil_name': stencil_name, + 'communication_stencil_name': communication_stencil_name, 'D': lb_method.dim, 'Q': len(lb_method.stencil), 'compressible': lb_method.conserved_quantity_computation.compressible, diff --git a/python/pystencils_walberla/codegen.py b/python/pystencils_walberla/codegen.py index 27773a7e45d059ce322cb206ab3d92fae1e340df..5c2667342816e4b3f144e98f54babe31ff99d3b1 100644 --- a/python/pystencils_walberla/codegen.py +++ b/python/pystencils_walberla/codegen.py @@ -424,7 +424,9 @@ def get_vectorize_instruction_set(generation_context): if supported_instruction_sets: return supported_instruction_sets[-1] else: # if cpuinfo package is not installed - warnings.warn("Could not obtain supported vectorization instruction sets - defaulting to sse") + warnings.warn("Could not obtain supported vectorization instruction sets - defaulting to sse. "\ + "This problem can probably be fixed by installing py-cpuinfo. This package can "\ + "gather the needed hardware information.") return 'sse' else: return None diff --git a/python/pystencils_walberla/templates/Boundary.tmpl.h b/python/pystencils_walberla/templates/Boundary.tmpl.h index e22d96a796ac9e1420a4d69b5b9122081a655dbf..57630039fd2f5b6b623b6b68fd081e25a3f289f0 100644 --- a/python/pystencils_walberla/templates/Boundary.tmpl.h +++ b/python/pystencils_walberla/templates/Boundary.tmpl.h @@ -17,6 +17,7 @@ //! \\author pystencils //====================================================================================================================== +#pragma once #include "core/DataTypes.h" {% if target is equalto 'cpu' -%}