From a3add110f6768c45e56d750087b57a2cb4f0e3c5 Mon Sep 17 00:00:00 2001 From: Martin Bauer <martin.bauer@fau.de> Date: Thu, 1 Aug 2019 16:55:55 +0200 Subject: [PATCH] Added test for fluctuating LB generation --- lbmpy_walberla/templates/LatticeModel.tmpl.cpp | 9 ++++----- lbmpy_walberla_tests/test_walberla_codegen.py | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lbmpy_walberla/templates/LatticeModel.tmpl.cpp b/lbmpy_walberla/templates/LatticeModel.tmpl.cpp index 6f80084..3db08c0 100644 --- a/lbmpy_walberla/templates/LatticeModel.tmpl.cpp +++ b/lbmpy_walberla/templates/LatticeModel.tmpl.cpp @@ -24,11 +24,6 @@ #include "lbm/sweeps/Streaming.h" #include "{{class_name}}.h" -{% for header in headers %} -#include {{header}} -{% endfor %} - - #ifdef _MSC_VER # pragma warning( disable : 4458 ) #endif @@ -48,6 +43,10 @@ # pragma GCC diagnostic ignored "-Wunused-parameter" #endif +{% for header in headers %} +#include {{header}} +{% endfor %} + using namespace std; diff --git a/lbmpy_walberla_tests/test_walberla_codegen.py b/lbmpy_walberla_tests/test_walberla_codegen.py index a62711c..f4d7333 100644 --- a/lbmpy_walberla_tests/test_walberla_codegen.py +++ b/lbmpy_walberla_tests/test_walberla_codegen.py @@ -75,6 +75,21 @@ class WalberlaLbmpyCodegenTest(unittest.TestCase): cr = create_lb_collision_rule(**parameters) generate_lattice_model(ctx, 'Model', cr) + @staticmethod + def test_fluctuating(): + with ManualCodeGenerationContext(openmp=True, double_accuracy=True) as ctx: + omega_shear, omega_bulk = sp.symbols("omega, omega_free") + force_field, vel_field = ps.fields("force(3), velocity(3): [3D]", layout='fzyx') + + # the collision rule of the LB method where the some advanced features + collision_rule = create_lb_collision_rule( + stencil='D3Q19', compressible=True, fluctuating=True, + method='mrt3', relaxation_rates=[omega_shear, omega_bulk], + force_model='guo', force=force_field.center_vector, + optimization={'cse_global': False} + ) + generate_lattice_model(ctx, 'FluctuatingMRT', collision_rule) + @staticmethod def test_boundary(): with ManualCodeGenerationContext(openmp=True, double_accuracy=True) as ctx: -- GitLab