From a34347b903b27b5dfb4629e7efbab7fe01592c09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Philipp=20R=C3=BC=C3=9Fmann?= <p.ruessmann@fz-juelich.de>
Date: Tue, 10 Aug 2021 09:36:17 +0200
Subject: [PATCH] Activate test for constrining fields

---
 .../test_25_Bconstr/reference/bconstr_out.dat |   4 +-
 .../reference/{out => out_kkr}                |  36 +++--
 .../test_25_Bconstr/reference/output.0.txt    |  28 ++--
 .../test_25_Bconstr/reference/output.000.txt  | 135 ++++++++++--------
 tests/KKRhost/tools/run_test_25.sh            |   7 +
 tests/KKRhost/tools/test_verify_results.py    |  10 ++
 tests/gitlab-ci/run_kkrhost.yml               |  19 +++
 7 files changed, 153 insertions(+), 86 deletions(-)
 rename tests/KKRhost/test_inputs/test_25_Bconstr/reference/{out => out_kkr} (51%)
 create mode 100755 tests/KKRhost/tools/run_test_25.sh

diff --git a/tests/KKRhost/test_inputs/test_25_Bconstr/reference/bconstr_out.dat b/tests/KKRhost/test_inputs/test_25_Bconstr/reference/bconstr_out.dat
index a0944bafb..4e13b149a 100644
--- a/tests/KKRhost/test_inputs/test_25_Bconstr/reference/bconstr_out.dat
+++ b/tests/KKRhost/test_inputs/test_25_Bconstr/reference/bconstr_out.dat
@@ -1,3 +1,3 @@
 # bconstr_x [Ry], bconstr_y [Ry], bconstr_z [Ry], m_spin [mu_B]
-  7.77326263E-03  7.38931126E-13 -7.77326263E-03  2.20967361E+00
- -7.77326263E-03 -7.38929243E-13 -7.77326263E-03  2.20967361E+00
+  7.77325573E-03  7.38931747E-13 -7.77325573E-03  2.20967338E+00
+ -7.77325573E-03 -7.38932742E-13 -7.77325573E-03  2.20967338E+00
diff --git a/tests/KKRhost/test_inputs/test_25_Bconstr/reference/out b/tests/KKRhost/test_inputs/test_25_Bconstr/reference/out_kkr
similarity index 51%
rename from tests/KKRhost/test_inputs/test_25_Bconstr/reference/out
rename to tests/KKRhost/test_inputs/test_25_Bconstr/reference/out_kkr
index b55b79695..11e7ed43f 100644
--- a/tests/KKRhost/test_inputs/test_25_Bconstr/reference/out
+++ b/tests/KKRhost/test_inputs/test_25_Bconstr/reference/out_kkr
@@ -1,15 +1,31 @@
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
+iffcluster0501: Using InfiniBand for MPI communication.
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  !!! Most output written to output.myrank.txt files !!!
  !!! please check these files as well               !!!
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      Screened Korringa-Kohn-Rostoker Electronic Structure Code
                       for Bulk and Interfaces
-                    Juelich-Munich 2001 - 2018
+                    Juelich-Munich 2001 - 2021
 
-  Code version: v3.1-1756-g658ea893
+  Code version: v3.1-1785-g693046e
   Compile options: intel mpi 
-  serial number for files: JuKKR_v3.1-1756-g658ea893_intel_20210720193451
- Number of MPI ranks used:   64
+  serial number for files: JuKKR_v3.1-1785-g693046e_intel_20210809231657
+ Number of MPI ranks used:   16
 
 *******************************************************************************
 
@@ -18,11 +34,11 @@
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++
  +++            SCF ITERATIONS START                +++
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++
-started on 2021/ 7/20 at 19:34:52
+started on 2021/ 8/ 9 at 23:16:58
 Total RMS(angles) [deg]:    0.000000
                Ne spin dn  Ne spin up    m_spin    m_orb   spin dn  spin up
-          TOT  2.89516353  5.10483691    2.2097    0.1842  0.1185 -0.0292
-          TOT  2.89516353  5.10483691    2.2097   -0.1003  0.0030 -0.0084
+          TOT  2.89516353  5.10483691    2.2097    0.0632  0.0838 -0.0206
+          TOT  2.89516353  5.10483691    2.2097    0.0632  0.0838 -0.0206
       ITERATION   1 charge neutrality in unit cell =     0.000000
                     TOTAL mag. moment in unit cell =     4.419347
                 new E FERMI   0.7019852061  DOS(E_F) =    20.957174
@@ -32,9 +48,9 @@ TOTAL ENERGY in ryd. :            -5082.22756134
 
                  ++++++ SCF ITERATION CONVERGED ++++++
 *******************************************************************************
-Iteration finished on 2021/ 7/20 at 19:34:56
+Iteration finished on 2021/ 8/ 9 at 23:17:13
  -------------------MEMORY CONSUMPTION REPORT-----------------------
- 257 allocations and 370 deallocations, remaining memory(B):-13691642
- Memory occupation peak: 87406 kB
+ 400 allocations and 512 deallocations, remaining memory(B):-11141506
+ Memory occupation peak: 89897 kB
  For the array: "lorbit_onel" in routine "calc_orbitalmoment"
  -----------------END MEMORY CONSUMPTION REPORT---------------------
diff --git a/tests/KKRhost/test_inputs/test_25_Bconstr/reference/output.0.txt b/tests/KKRhost/test_inputs/test_25_Bconstr/reference/output.0.txt
index 0398c6922..ae3da119e 100644
--- a/tests/KKRhost/test_inputs/test_25_Bconstr/reference/output.0.txt
+++ b/tests/KKRhost/test_inputs/test_25_Bconstr/reference/output.0.txt
@@ -1,12 +1,12 @@
-# serial: JuKKR_v3.1-1756-g658ea893_intel_20210720193451
+# serial: JuKKR_v3.1-1785-g693046e_intel_20210809231657
      Screened Korringa-Kohn-Rostoker Electronic Structure Code
                       for Bulk and Interfaces
-                    Juelich-Munich 2001 - 2018
+                    Juelich-Munich 2001 - 2021
 
-  Code version: v3.1-1756-g658ea893
+  Code version: v3.1-1785-g693046e
   Compile options: intel mpi 
-  serial number for files: JuKKR_v3.1-1756-g658ea893_intel_20210720193451
- Number of MPI ranks used:   64
+  serial number for files: JuKKR_v3.1-1785-g693046e_intel_20210809231657
+ Number of MPI ranks used:   16
 
 *******************************************************************************
 
@@ -144,7 +144,7 @@ SITE                BASIS VECTORS                 THETA   PHI CPA OCC KAOEZ
 ---+---+-------+---+---+---+-------+---+---------------------------------------
 ---+---------------------------------------------------------------------------
  NSTEPS
- 100
+   1
 ---+---------------------------------------------------------------------------
  I12="                                        "
  I13="potential                               "
@@ -315,8 +315,8 @@ CLSGEN_TB: Atom    2 Refpot    1 Rmtref 2.3200000 Vref 8.0000000 TB-cluster    1
  <#Fe26 POTENTIAL SPIN UP              exc: Vosko,Wilk,Nusair      #serial: JuKKR_v
  <#Fe26 POTENTIAL SPIN DOWN            exc: Vosko,Wilk,Nusair      #serial: JuKKR_v
  <#Fe26 POTENTIAL SPIN UP              exc: Vosko,Wilk,Nusair      #serial: JuKKR_v
-Doing calculation with potential: 8550c22e5ff21ddd64e6e91faf087b93  potential
-Doing calculation with shapefun: ce34783ef30065813552ba8e55df7018  shapefun
+Doing calculation with potential: MD5 (potential) = 8550c22e5ff21ddd64e6e91faf087b93
+Doing calculation with shapefun: MD5 (shapefun) = ce34783ef30065813552ba8e55df7018
  
 ===============================================================================
                     EPATHTB: generates a complex E contour
@@ -411,15 +411,11 @@ Doing calculation with shapefun: ce34783ef30065813552ba8e55df7018  shapefun
                                < KKR0 finished >
 ===============================================================================
 
- create_newcomms_group_ie input:          64          32           2
- create cartesian grid:          32           2          64
- MPI_Cart_sub
- MPI_Comm_rank
- MPI_Comm_size
+ create_newcomms_group_ie input:          16          16           1
 ==================================================
-    MPI parallelization: use   64 ranks
-    create processor array of size (nat x ne)   2 x  32
-    nranks_at:    32, nranks_ie:    2
+    MPI parallelization: use   16 ranks
+    create processor array of size (nat x ne)   1 x  16
+    nranks_at:    16, nranks_ie:    1
                 N_E
          <--------------->
        ^ ( | | | | | | | )
diff --git a/tests/KKRhost/test_inputs/test_25_Bconstr/reference/output.000.txt b/tests/KKRhost/test_inputs/test_25_Bconstr/reference/output.000.txt
index 2e11a5a30..7eec12dcf 100644
--- a/tests/KKRhost/test_inputs/test_25_Bconstr/reference/output.000.txt
+++ b/tests/KKRhost/test_inputs/test_25_Bconstr/reference/output.000.txt
@@ -1,42 +1,25 @@
-# serial: JuKKR_v3.1-1756-g658ea893_intel_20210720193451
+# serial: JuKKR_v3.1-1785-g693046e_intel_20210809231657
  ==== DISTRIBUTION OF POINTS ON TASKS: ====
-Task 0 treats points 1 to 1,#of points= 1
-Task 1 treats points 2 to 2,#of points= 1
+Task 0 treats points 1 to 2,#of points= 2
  ==========================================
  atom:            1  NSRA:           2
  ==== DISTRIBUTION OF POINTS ON TASKS: ====
-Task 0 treats points 1 to 1,#of points= 1
-Task 1 treats points 2 to 2,#of points= 1
-Task 2 treats points 3 to 3,#of points= 1
-Task 3 treats points 4 to 4,#of points= 1
-Task 4 treats points 5 to 5,#of points= 1
-Task 5 treats points 6 to 6,#of points= 1
-Task 6 treats points 7 to 7,#of points= 1
-Task 7 treats points 8 to 8,#of points= 1
-Task 8 treats points 9 to 9,#of points= 1
-Task 9 treats points 10 to 10,#of points= 1
-Task 10 treats points 11 to 11,#of points= 1
-Task 11 treats points 12 to 12,#of points= 1
-Task 12 treats points 13 to 13,#of points= 1
-Task 13 treats points 14 to 14,#of points= 1
-Task 14 treats points 15 to 15,#of points= 1
-Task 15 treats points 16 to 16,#of points= 1
-Task 16 treats points 17 to 17,#of points= 1
-Task 17 treats points 18 to 18,#of points= 1
-Task 18 treats points 19 to 19,#of points= 1
-Task 19 treats points 20 to 20,#of points= 1
-Task 20 treats points 21 to 21,#of points= 1
-Task 21 treats points 22 to 22,#of points= 1
-Task 22 treats points 23 to 23,#of points= 1
-Task 23 treats points 24 to 24,#of points= 1
-Task 24 treats points 25 to 25,#of points= 1
-Task 25 treats points 26 to 26,#of points= 1
-Task 26 treats points 27 to 27,#of points= 1
-Task 27 treats points 28 to 28,#of points= 1
-Task 28 treats points 29 to 29,#of points= 1
-Task 29 treats points 30 to 30,#of points= 1
-Task 30 treats points 31 to 31,#of points= 1
-Task 31 treats points 32 to 32,#of points= 1
+Task 0 treats points 1 to 2,#of points= 2
+Task 1 treats points 3 to 4,#of points= 2
+Task 2 treats points 5 to 6,#of points= 2
+Task 3 treats points 7 to 8,#of points= 2
+Task 4 treats points 9 to 10,#of points= 2
+Task 5 treats points 11 to 12,#of points= 2
+Task 6 treats points 13 to 14,#of points= 2
+Task 7 treats points 15 to 16,#of points= 2
+Task 8 treats points 17 to 18,#of points= 2
+Task 9 treats points 19 to 20,#of points= 2
+Task 10 treats points 21 to 22,#of points= 2
+Task 11 treats points 23 to 24,#of points= 2
+Task 12 treats points 25 to 26,#of points= 2
+Task 13 treats points 27 to 28,#of points= 2
+Task 14 treats points 29 to 30,#of points= 2
+Task 15 treats points 31 to 32,#of points= 2
  ==========================================
    ==> find_isave_wavefun
    (maxmem given per rank for storage:           0.00MB
@@ -46,11 +29,36 @@ Task 31 treats points 32 to 32,#of points= 1
     memory demand per atom and energy point for rll, rllleft, sll and sllleft respectively:           9.75MB)  <==
     Number of saved wavefunctions per atom and energy:  1; save rll:T; save sll:F; save rllleft:F; save sllleft:F
  energy:           1  (-0.500000000000000,1.389220682457870E-002)
+ energy:           2  (-0.500000000000000,6.602964357289150E-002)
+ atom:            2  NSRA:           2
+ ==== DISTRIBUTION OF POINTS ON TASKS: ====
+Task 0 treats points 1 to 2,#of points= 2
+Task 1 treats points 3 to 4,#of points= 2
+Task 2 treats points 5 to 6,#of points= 2
+Task 3 treats points 7 to 8,#of points= 2
+Task 4 treats points 9 to 10,#of points= 2
+Task 5 treats points 11 to 12,#of points= 2
+Task 6 treats points 13 to 14,#of points= 2
+Task 7 treats points 15 to 16,#of points= 2
+Task 8 treats points 17 to 18,#of points= 2
+Task 9 treats points 19 to 20,#of points= 2
+Task 10 treats points 21 to 22,#of points= 2
+Task 11 treats points 23 to 24,#of points= 2
+Task 12 treats points 25 to 26,#of points= 2
+Task 13 treats points 27 to 28,#of points= 2
+Task 14 treats points 29 to 30,#of points= 2
+Task 15 treats points 31 to 32,#of points= 2
+ ==========================================
+ energy:           1  (-0.500000000000000,1.389220682457870E-002)
+ energy:           2  (-0.500000000000000,6.602964357289150E-002)
            0 start tbref e-loop
 TBREF: GREF for energy:    1   -0.50000000    0.01389221
  ==== DISTRIBUTION OF POINTS ON TASKS: ====
 Task 0 treats points 1 to 1,#of points= 1
-Task 1 treats points 2 to 1,#of points= 0
+ ==========================================
+TBREF: GREF for energy:    2   -0.50000000    0.06602964
+ ==== DISTRIBUTION OF POINTS ON TASKS: ====
+Task 0 treats points 1 to 1,#of points= 1
  ==========================================
 ===============================================================================
                               < KKR1a finished >
@@ -60,10 +68,16 @@ Task 1 treats points 2 to 1,#of points= 0
       Inversion algorithm used : FULL MATRIX                        
 ===============================================================================
  ************ IE =   1 ENERGY =  -0.500000   0.013892 KMESH =   1
- kkrmat k loop:        8000           2
+ kkrmat k loop:        8000           1
  ==== DISTRIBUTION OF POINTS ON TASKS: ====
-Task 0 treats points 1 to 4000,#of points= 4000
-Task 1 treats points 4001 to 8000,#of points= 4000
+Task 0 treats points 1 to 8000,#of points= 8000
+ ==========================================
+Loop over points:|  0%     | 20%     | 40%     | 60%     | 80%     | 100%
+                 ||||||||||||||||||||||||||||||||||||||||||||||||||||
+ ************ IE =   2 ENERGY =  -0.500000   0.066030 KMESH =   1
+ kkrmat k loop:        8000           1
+ ==== DISTRIBUTION OF POINTS ON TASKS: ====
+Task 0 treats points 1 to 8000,#of points= 8000
  ==========================================
 Loop over points:|  0%     | 20%     | 40%     | 60%     | 80%     | 100%
                  ||||||||||||||||||||||||||||||||||||||||||||||||||||
@@ -72,19 +86,24 @@ Loop over points:|  0%     | 20%     | 40%     | 60%     | 80%     | 100%
 ===============================================================================
 
  ==== DISTRIBUTION OF POINTS ON TASKS: ====
-Task 0 treats points 1 to 1,#of points= 1
-Task 1 treats points 2 to 2,#of points= 1
+Task 0 treats points 1 to 2,#of points= 2
  ==========================================
  atom:            1
  energy:           1  (-0.500000000000000,1.389220682457870E-002)
+ energy:           2  (-0.500000000000000,6.602964357289150E-002)
 moment    0   1.5624755E+00   0.0000000E+00   1.5624745E+00
    4.5000019E+01   0.0000000E+00
+ atom:            2
+ energy:           1  (-0.500000000000000,1.389220682457870E-002)
+ energy:           2  (-0.500000000000000,6.602964357289150E-002)
+moment    0  -1.5624755E+00   0.0000000E+00   1.5624745E+00
+   4.5000019E+01  -1.8000000E+02
  
       I1    In/Out THETA[deg]       In/Out PHI[deg]        FIXDIR[boolean]   RMS(angles)[deg]
        1   45.000000   45.000019    0.000000    0.000000    T                     0.000000
-       2   45.000000   45.000019  180.000000  180.000000    T                     0.000000
+       2   45.000000   45.000019  180.000000 -180.000000    T                     0.000000
 Total RMS(angles) [deg]:    0.000000
-Number of constrained atoms=       2  rms for constraining fields=  4.88179591E-09
+Number of constrained atoms=       2  rms for constraining fields=  0.00000000E+00
  
 ##############################################################################
                l-decomposed valence charges and magnetic moments
@@ -93,22 +112,22 @@ Number of constrained atoms=       2  rms for constraining fields=  4.88179591E-
    ATOM        Ne spin dn  Ne spin up    m_spin    m_orb   spin dn  spin up
    ========================================================================
       1   s =  0.31457562  0.33085531    0.0163    0.0000  0.0000  0.0000
-          p =  0.39659740  0.38159296   -0.0150   -0.0002  0.0042 -0.0041
-          d =  2.14540122  4.34976847    2.2044    0.1832  0.1151 -0.0255
-          f =  0.04149529  0.04275982    0.0013    0.0012 -0.0008  0.0005
+          p =  0.39659740  0.38159296   -0.0150    0.0000  0.0029 -0.0029
+          d =  2.14540122  4.34976847    2.2044    0.0634  0.0814 -0.0180
+          f =  0.04149529  0.04275982    0.0013   -0.0002 -0.0005  0.0003
           ns  -0.00290600 -0.00013965    0.0028    0.0000  0.0000  0.0000
           ---------------------------------------------------------------
-          TOT  2.89516353  5.10483691    2.2097    0.1842  0.1185 -0.0292
-                           8.00000045              2.3938
+          TOT  2.89516353  5.10483691    2.2097    0.0632  0.0838 -0.0206
+                           8.00000045              2.2729
    ==================================================================
       2   s =  0.31457562  0.33085531    0.0163    0.0000  0.0000  0.0000
-          p =  0.39659740  0.38159296   -0.0150    0.0007  0.0003  0.0000
-          d =  2.14540122  4.34976847    2.2044   -0.0977  0.0034 -0.0074
-          f =  0.04149529  0.04275982    0.0013   -0.0033 -0.0007 -0.0010
+          p =  0.39659740  0.38159296   -0.0150    0.0000  0.0029 -0.0029
+          d =  2.14540122  4.34976847    2.2044    0.0634  0.0814 -0.0180
+          f =  0.04149529  0.04275982    0.0013   -0.0002 -0.0005  0.0003
           ns  -0.00290600 -0.00013965    0.0028    0.0000  0.0000  0.0000
           ---------------------------------------------------------------
-          TOT  2.89516353  5.10483691    2.2097   -0.1003  0.0030 -0.0084
-                           8.00000045              2.1094
+          TOT  2.89516353  5.10483691    2.2097    0.0632  0.0838 -0.0206
+                           8.00000045              2.2729
  
 ##############################################################################
  
@@ -128,7 +147,7 @@ Number of constrained atoms=       2  rms for constraining fields=  4.88179591E-
 
 
 *******************************************************************************
-                   ****** ITERATION :   1 OUT OF 100 ******
+                   ****** ITERATION :   1 OUT OF   1 ******
 *******************************************************************************
 
   Atom    1 charge in wigner seitz cell = 26.000000
@@ -141,7 +160,7 @@ Number of constrained atoms=       2  rms for constraining fields=  4.88179591E-
       ITERATION   1 charge neutrality in unit cell =     0.000000
                     TOTAL mag. moment in unit cell =     4.419347
  
-                old E Fermi   0.7019852120 Delta E_F =   0.59181164E-08
+                old E Fermi   0.7019852120 Delta E_F =   0.59181166E-08
                 new E FERMI   0.7019852061  DOS(E_F) =    20.957174
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
@@ -351,14 +370,14 @@ Number of constrained atoms=       2  rms for constraining fields=  4.88179591E-
 
      coulomb  contribution :   0   1067.03705529  1      0.00000000
                                2      0.00000001  3      0.00000000
-                               4     -0.00079774  5     -0.00000000
+                               4     -0.00079774  5      0.00000000
                                6      0.00009008
      --------------------------------------------------------------------
      tot. coulomb contribution :   1067.03634763
 
      ex.-cor. contribution :   0   -107.32093861  1     -0.00000000
                                2     -0.00000000  3     -0.00000000
-                               4      0.00273490  5      0.00000000
+                               4      0.00273490  5     -0.00000000
                                6     -0.00115507
      --------------------------------------------------------------------
      tot. ex.-cor. contribution :   -107.31935878
@@ -388,7 +407,7 @@ Number of constrained atoms=       2  rms for constraining fields=  4.88179591E-
 
      coulomb  contribution :   0   1067.03705529  1      0.00000000
                                2      0.00000001  3      0.00000000
-                               4     -0.00079774  5      0.00000000
+                               4     -0.00079774  5     -0.00000000
                                6      0.00009008
      --------------------------------------------------------------------
      tot. coulomb contribution :   1067.03634763
diff --git a/tests/KKRhost/tools/run_test_25.sh b/tests/KKRhost/tools/run_test_25.sh
new file mode 100755
index 000000000..dcbb2284a
--- /dev/null
+++ b/tests/KKRhost/tools/run_test_25.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+cp -rL test_inputs/test_25_Bconstr/ test_run25_hybrid_1_8
+export OMP_NUM_THREADS=1
+
+cd test_run25_hybrid_1_8/
+mpirun -np 8 ../../kkr.x | tee out_kkr
+cd ../
diff --git a/tests/KKRhost/tools/test_verify_results.py b/tests/KKRhost/tools/test_verify_results.py
index 9e41aad6b..8aafa5d9c 100644
--- a/tests/KKRhost/tools/test_verify_results.py
+++ b/tests/KKRhost/tools/test_verify_results.py
@@ -223,6 +223,16 @@ class Test_features():
         path00 = 'test_run24_hybrid_1_3'
         standard_verify(path00+'/', rms_threshold=1*10**-7, rms_threshold_end=10**-7)
 
+    def test_25_BCONSTR(self):
+        path00 = 'test_run25_hybrid_1_8/'
+        standard_verify(path00, rms_threshold=1*10**-7, rms_threshold_end=10**-7)
+        # compare the output constrining field
+        fname = 'bconstr_out.dat'
+        num, text = read_file(path00+fname)
+        num_ref, text_ref = read_file(path00+'reference/'+fname)
+        #print('std', fname, std(num-num_ref))
+        assert std(num-num_ref)<10**-15
+
 
 class Test_SOC():
     """
diff --git a/tests/gitlab-ci/run_kkrhost.yml b/tests/gitlab-ci/run_kkrhost.yml
index 0ce49d6ef..1c3657238 100644
--- a/tests/gitlab-ci/run_kkrhost.yml
+++ b/tests/gitlab-ci/run_kkrhost.yml
@@ -587,6 +587,25 @@ run_kkrhost:intel:BXCSCL_24:
     - develop
     - develop-kkrhost
 
+run_kkrhost:intel:BCONSTR_25:
+  stage: run_kkrhost_features
+  tags:
+    - docker-executor
+  script:
+    - cd tests/KKRhost/ && ./tools/run_test_25.sh
+  artifacts:
+    paths:
+      - tests/KKRhost/test_run*
+      - build/*dyn
+    expire_in: 1 day
+  only: 
+    - schedules
+    - triggers
+    - web
+    - master
+    - develop
+    - develop-kkrhost
+
 ## 2.4 integration with aiida ##
 run_kkrhost:intel:aiida-kkr:
   image: iffregistry.fz-juelich.de/docker-images/aiida-kkr:latest
-- 
GitLab