From 1c10e097c3443c031eb5a19bdf2e02a779c3d50a Mon Sep 17 00:00:00 2001
From: Antoine Hoffmann <antoine.hoffmann@epfl.ch>
Date: Thu, 30 Mar 2023 09:40:45 +0200
Subject: [PATCH] Skip the collision computation for CLOS=1

---
 src/cosolver_interface_mod.F90 | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/cosolver_interface_mod.F90 b/src/cosolver_interface_mod.F90
index ade4d052..a8aabcc5 100644
--- a/src/cosolver_interface_mod.F90
+++ b/src/cosolver_interface_mod.F90
@@ -30,15 +30,19 @@ CONTAINS
           a:DO ia = 1,local_na
             j:DO ij = 1,total_nj
               p:DO ip = 1,total_np
-                !! Take GK or DK limit
-                IF (GK_CO) THEN ! GK operator (k-dependant)
-                  ikx_C = ikx; iky_C = iky; iz_C = iz;
-                ELSE ! DK operator (only one mat for every k)
-                  ikx_C = 1;   iky_C = 1; iz_C = 1;
+                IF((CLOS .NE. 1) .OR. (p_int+2*j_int .LE. dmax)) THEN !compute for every moments except for closure 1
+                  !! Take GK or DK limit
+                  IF (GK_CO) THEN ! GK operator (k-dependant)
+                    ikx_C = ikx; iky_C = iky; iz_C = iz;
+                  ELSE ! DK operator (only one mat for every k)
+                    ikx_C = 1;   iky_C = 1; iz_C = 1;
+                  ENDIF
+                  !! Apply the cosolver collision matrix
+                  CALL apply_cosolver_mat(ia,ip,ij,iky,ikx,iz,ikx_C,iky_C,iz_C,Tmp_)
+                  local_coll(ip) = Tmp_
+                ELSE
+                  local_coll(ip) = 0._xp
                 ENDIF
-                !! Apply the cosolver collision matrix
-                CALL apply_cosolver_mat(ia,ip,ij,iky,ikx,iz,ikx_C,iky_C,iz_C,Tmp_)
-                local_coll(ip) = Tmp_
               ENDDO p
               IF (num_procs_p .GT. 1) THEN
                 ! Reduce the local_sums to root = 0
-- 
GitLab