From b2fe5529ed9a595be9af5475c3c5d2c384a55b6c Mon Sep 17 00:00:00 2001
From: Martin Bauer <martin.bauer@fau.de>
Date: Mon, 15 Jul 2019 15:46:15 +0200
Subject: [PATCH] ValueError raised now when smagorinsky and entropic is
 requested at the same time

---
 lbmpy/creationfunctions.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lbmpy/creationfunctions.py b/lbmpy/creationfunctions.py
index a49ec04f..63f4b265 100644
--- a/lbmpy/creationfunctions.py
+++ b/lbmpy/creationfunctions.py
@@ -323,6 +323,8 @@ def create_lb_collision_rule(lb_method=None, optimization={}, **kwargs):
     collision_rule = simplification(collision_rule)
 
     if params['entropic']:
+        if params['smagorinsky']:
+            raise ValueError("Choose either entropic or smagorinsky")
         if params['entropic_newton_iterations']:
             if isinstance(params['entropic_newton_iterations'], bool):
                 iterations = 3
@@ -400,8 +402,11 @@ def create_lb_method(**params):
         next_relaxation_rate = [0]
 
         def relaxation_rate_getter(_):
-            res = relaxation_rates[next_relaxation_rate[0]]
-            next_relaxation_rate[0] += 1
+            try:
+                res = relaxation_rates[next_relaxation_rate[0]]
+                next_relaxation_rate[0] += 1
+            except IndexError:
+                raise ValueError("Too few relaxation rates specified")
             return res
         method = create_mrt_orthogonal(stencil_entries, relaxation_rate_getter, **common_params)
     elif method_name.lower() == 'mrt_raw':
-- 
GitLab