From dac9c7c46dd84ebff477b42a8acaf2c4941f77a9 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Fri, 3 Dec 2010 12:00:29 +0000
Subject: [PATCH] BUG: cyclicLduInterfaceField : nonuniform transformation

---
 .../cyclicLduInterfaceField.C                      | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterfaceFields/cyclicLduInterfaceField/cyclicLduInterfaceField.C b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterfaceFields/cyclicLduInterfaceField/cyclicLduInterfaceField.C
index e5da5b9e4df..7c9d704616c 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterfaceFields/cyclicLduInterfaceField/cyclicLduInterfaceField.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduAddressing/lduInterfaceFields/cyclicLduInterfaceField/cyclicLduInterfaceField.C
@@ -41,16 +41,20 @@ Foam::cyclicLduInterfaceField::~cyclicLduInterfaceField()
 
 void Foam::cyclicLduInterfaceField::transformCoupleField
 (
-    scalarField& pnf,
+    scalarField& f,
     const direction cmpt
 ) const
 {
     if (doTransform())
     {
-        scalar forwardScale =
-            pow(diag(forwardT()[0]).component(cmpt), rank());
-
-        pnf *= forwardScale;
+        if (forwardT().size() == 1)
+        {
+            f *= pow(diag(forwardT()[0]).component(cmpt), rank());
+        }
+        else
+        {
+            f *= pow(diag(forwardT())().component(cmpt), rank());
+        }
     }
 }
 
-- 
GitLab