From ae2926fa3ff7c8453dbcfe38ab730422b0a01700 Mon Sep 17 00:00:00 2001
From: Martin Bauer <martin.bauer@fau.de>
Date: Fri, 21 Apr 2017 10:02:46 +0200
Subject: [PATCH] lbmpy: Fix bug when using non-standard field layout in
 scenarios

---
 scenarios.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/scenarios.py b/scenarios.py
index eecc6154..e095af0e 100644
--- a/scenarios.py
+++ b/scenarios.py
@@ -251,8 +251,6 @@ class Scenario(object):
         if 'stencil' not in methodParameters:
             methodParameters['stencil'] = 'D2Q9' if D == 2 else 'D3Q27'
 
-        if isinstance(initialVelocity, np.ndarray):
-            initialVelocity = addGhostLayers(initialVelocity, indexDimensions=1, ghostLayers=1)
 
         methodParameters, optimizationParams = updateWithDefaultParameters(methodParameters, optimizationParams)
 
@@ -260,6 +258,10 @@ class Scenario(object):
         self._pdfArrays = [createPdfArray(domainSize, Q, layout=optimizationParams['fieldLayout']),
                            createPdfArray(domainSize, Q, layout=optimizationParams['fieldLayout'])]
 
+        if isinstance(initialVelocity, np.ndarray):
+            initialVelocity = addGhostLayers(initialVelocity, indexDimensions=1, ghostLayers=1,
+                                             layout=getLayoutOfArray(self._pdfArrays[0]))
+
         # Create kernel
         if lbmKernel is None:
             optimizationParams['pdfArr'] = self._pdfArrays[0]
-- 
GitLab