@@ -15,9 +15,9 @@ PROGRAM nscf2supercond
15
15
USE mp_global, ONLY : mp_startup
16
16
USE mp_pools, ONLY : npool
17
17
USE environment, ONLY : environment_start, environment_end
18
- USE io_global, ONLY : ionode, ionode_id , stdout
19
- USE mp, ONLY : mp_bcast
20
- USE mp_images, ONLY : intra_image_comm
18
+ USE io_global, ONLY : meta_ionode, meta_ionode_id , stdout
19
+ USE mp_global, ONLY : world_comm
20
+ USE mp, ONLY : mp_bcast, mp_barrier
21
21
!
22
22
IMPLICIT NONE
23
23
!
@@ -45,7 +45,7 @@ PROGRAM nscf2supercond
45
45
!
46
46
ios = 0
47
47
!
48
- IF ( ionode ) THEN
48
+ IF ( meta_ionode ) THEN
49
49
!
50
50
CALL input_from_file ( )
51
51
!
@@ -56,17 +56,14 @@ PROGRAM nscf2supercond
56
56
ENDIF
57
57
!
58
58
!
59
- CALL mp_bcast( ios, ionode_id, intra_image_comm )
59
+ CALL mp_bcast( ios, meta_ionode_id, world_comm )
60
60
IF (ios /= 0 ) CALL errore (' bands2epw' , ' reading bands namelist' , abs (ios) )
61
61
!
62
62
! ... Broadcast variables
63
63
!
64
- CALL mp_bcast( tmp_dir, ionode_id, intra_image_comm )
65
- CALL mp_bcast( prefix, ionode_id, intra_image_comm )
66
- CALL mp_bcast( filband, ionode_id, intra_image_comm )
67
- !
68
- IF ( npool > 1 ) CALL errore(' bands' , &
69
- ' pools not implemented' ,npool)
64
+ CALL mp_bcast( tmp_dir, meta_ionode_id, world_comm)
65
+ CALL mp_bcast( prefix, meta_ionode_id, world_comm)
66
+ CALL mp_bcast( filband, meta_ionode_id, world_comm)
70
67
!
71
68
! Now allocate space for pwscf variables, read and check them.
72
69
!
@@ -76,6 +73,7 @@ PROGRAM nscf2supercond
76
73
!
77
74
CALL environment_end ( ' BANDS' )
78
75
!
76
+ CALL stop_pp()
79
77
STOP
80
78
!
81
79
!- ----------------------------------------------------------------------
@@ -100,14 +98,17 @@ SUBROUTINE write_eigen_band (filband)
100
98
USE noncollin_module, ONLY : noncolin, lspinorb
101
99
USE control_flags, ONLY : noinv
102
100
USE lsda_mod, ONLY : nspin, lsda
103
- USE io_global, ONLY : ionode, ionode_id , stdout
101
+ USE io_global, ONLY : meta_ionode, meta_ionode_id , stdout
104
102
USE mp, ONLY : mp_bcast
105
- USE mp_images, ONLY : intra_image_comm
106
103
!
107
104
IMPLICIT NONE
108
105
!
109
106
CHARACTER (len=* ) :: filband
110
107
!
108
+ INTEGER :: t_rev_tmp(48 )
109
+ ! ! it is used to copy t_rev(1:nrot)
110
+ INTEGER :: s_tmp(3 , 3 , 48 )
111
+ ! ! it is used to copy s(:,:,1:nrot)
111
112
INTEGER :: ik
112
113
! ! Counter on k points
113
114
INTEGER :: isym
@@ -119,21 +120,27 @@ SUBROUTINE write_eigen_band (filband)
119
120
INTEGER :: ios
120
121
! ! IO error message
121
122
!
122
- IF ( ionode ) THEN
123
+ ! HM: Since s is not properly initialized,
124
+ ! s(:,:,nrot+1:48) may contain uninitialized values, depending on the compiler.
125
+ s_tmp(:, :, :) = 0
126
+ s_tmp(:, :, 1 :nrot) = s(:, :, 1 :nrot)
127
+ t_rev_tmp(:) = 0
128
+ t_rev_tmp(1 :nrot) = t_rev(1 :nrot)
129
+ !
130
+ IF ( meta_ionode ) THEN
123
131
OPEN (unit = iunpun, file = filband, status = ' unknown' , form = &
124
- ' formatted' , iostat = ios)
125
- REWIND (iunpun)
132
+ ' formatted' , position = ' rewind' , iostat = ios)
126
133
WRITE (iunpun, ' (ES23.15)' ) alat
127
134
WRITE (iunpun, ' (ES23.15,2(1x,ES23.15))' ) at(:,1 )
128
135
WRITE (iunpun, ' (ES23.15,2(1x,ES23.15))' ) at(:,2 )
129
136
WRITE (iunpun, ' (ES23.15,2(1x,ES23.15))' ) at(:,3 )
130
137
WRITE (iunpun, ' (I5,1x,I5)' ) nrot, nsym
131
138
WRITE (iunpun, ' (L1)' ) time_reversal
132
- WRITE (iunpun, ' (I2,15(1x,I2))' ) t_rev (1 :16 )
133
- WRITE (iunpun, ' (I2,15(1x,I2))' ) t_rev (17 :32 )
134
- WRITE (iunpun, ' (I2,15(1x,I2))' ) t_rev (33 :48 )
139
+ WRITE (iunpun, ' (I2,15(1x,I2))' ) t_rev_tmp (1 :16 )
140
+ WRITE (iunpun, ' (I2,15(1x,I2))' ) t_rev_tmp (17 :32 )
141
+ WRITE (iunpun, ' (I2,15(1x,I2))' ) t_rev_tmp (33 :48 )
135
142
DO isym = 1 , 48
136
- WRITE (iunpun, ' (I3,8(1x,I3))' ) ((s (i, j, isym), i= 1 ,3 ), j= 1 ,3 )
143
+ WRITE (iunpun, ' (I3,8(1x,I3))' ) ((s_tmp (i, j, isym), i= 1 ,3 ), j= 1 ,3 )
137
144
ENDDO
138
145
WRITE (iunpun, ' (L1,1x,I3)' ) lsda, nspin
139
146
WRITE (iunpun, ' (L1)' ) noinv
@@ -156,4 +163,4 @@ SUBROUTINE write_eigen_band (filband)
156
163
END SUBROUTINE write_eigen_band
157
164
!- ----------------------------------------------------------------------
158
165
159
-
166
+
0 commit comments