From 4f1e7f6343f94d89aa5c054ba6065df7a9c348f6 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Wed, 23 Oct 2024 11:20:28 +0100
Subject: [PATCH] ENH: DILUPreconditioner: Speedup. Fixes #3088

---
 .../DILUPreconditioner/DILUPreconditioner.C                | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/OpenFOAM/matrices/lduMatrix/preconditioners/DILUPreconditioner/DILUPreconditioner.C b/src/OpenFOAM/matrices/lduMatrix/preconditioners/DILUPreconditioner/DILUPreconditioner.C
index 11f0da27c36..07cb690ce70 100644
--- a/src/OpenFOAM/matrices/lduMatrix/preconditioners/DILUPreconditioner/DILUPreconditioner.C
+++ b/src/OpenFOAM/matrices/lduMatrix/preconditioners/DILUPreconditioner/DILUPreconditioner.C
@@ -107,8 +107,6 @@ void Foam::DILUPreconditioner::precondition
         solver_.matrix().lduAddr().upperAddr().begin();
     const label* const __restrict__ lPtr =
         solver_.matrix().lduAddr().lowerAddr().begin();
-    const label* const __restrict__ losortPtr =
-        solver_.matrix().lduAddr().losortAddr().begin();
 
     const scalar* const __restrict__ upperPtr =
         solver_.matrix().upper().begin();
@@ -126,9 +124,8 @@ void Foam::DILUPreconditioner::precondition
 
     for (label face=0; face<nFaces; face++)
     {
-        const label sface = losortPtr[face];
-        wAPtr[uPtr[sface]] -=
-            rDPtr[uPtr[sface]]*lowerPtr[sface]*wAPtr[lPtr[sface]];
+        wAPtr[uPtr[face]] -=
+            rDPtr[uPtr[face]]*lowerPtr[face]*wAPtr[lPtr[face]];
     }
 
     for (label face=nFacesM1; face>=0; face--)
-- 
GitLab