From 0a5989da7bff8d2abd8f2a21e1d81509253a0cf3 Mon Sep 17 00:00:00 2001
From: Paolo Giannozzi
Date: Thu, 26 Mar 2020 09:23:34 +0100
Subject: [PATCH] Several print format extended to allow more than 999 phonon
modes (!)
---
PHonon/Gamma/solve_ph.f90 | 10 +++---
PHonon/PH/find_mode_sym.f90 | 4 +--
PHonon/PH/phqscf.f90 | 4 +--
PHonon/PH/write_modes.f90 | 70 ++++++++++++++++++-------------------
4 files changed, 44 insertions(+), 44 deletions(-)
diff --git a/PHonon/Gamma/solve_ph.f90 b/PHonon/Gamma/solve_ph.f90
index 7eed2d789..41e821ef7 100644
--- a/PHonon/Gamma/solve_ph.f90
+++ b/PHonon/Gamma/solve_ph.f90
@@ -77,7 +77,7 @@ SUBROUTINE solve_ph ( )
END IF
CALL mp_bcast(mode_done,ionode_id,world_comm)
CALL mp_bcast(dyn,ionode_id,world_comm)
- PRINT '(" Phonon: modes up to mode ",i3," already done")', mode_done
+ PRINT '(" Phonon: modes up to mode",i4," already done")', mode_done
GOTO 2
1 CLOSE(unit=iunres)
ENDIF
@@ -89,17 +89,17 @@ SUBROUTINE solve_ph ( )
DO nu = 1, nmodes
IF ( has_equivalent((nu-1)/3+1)==1) THEN
! calculate only independent modes
- WRITE( stdout,'(" *** mode # ",i3," : using symmetry")') nu
+ WRITE( stdout,'(" *** mode #",i4," : using symmetry")') nu
GOTO 10
ENDIF
IF ( nu<=mode_done) THEN
! do not recalculate modes already done
- WRITE( stdout,'(" *** mode # ",i3," : using previous run")') nu
+ WRITE( stdout,'(" *** mode #",i4," : using previous run")') nu
GOTO 10
ENDIF
IF ( asr .and. (nu-1)/3+1==nasr ) THEN
! impose ASR on last atom instead of calculating mode
- WRITE( stdout,'(" *** mode # ",i3," : using asr")') nu
+ WRITE( stdout,'(" *** mode #",i4," : using asr")') nu
GOTO 10
ENDIF
! calculate |b> = dV/dtau*psi
@@ -126,7 +126,7 @@ SUBROUTINE solve_ph ( )
!
ENDIF
!
- WRITE( stdout,'(" *** mode # ",i3," : ",i3," iterations")') &
+ WRITE( stdout,'(" *** mode #",i4," : ",i3," iterations")') &
& nu, iter
10 CONTINUE
ENDDO
diff --git a/PHonon/PH/find_mode_sym.f90 b/PHonon/PH/find_mode_sym.f90
index ee0cbb2cf..19ec023c9 100644
--- a/PHonon/PH/find_mode_sym.f90
+++ b/PHonon/PH/find_mode_sym.f90
@@ -350,13 +350,13 @@ next=0
DO imode = 1, 3 * nat
IF ( imode < next .OR. ABS(w1(imode)) < 1.d-3 ) CYCLE
IF (num_rap_mode(imode) == 0) THEN
- WRITE(stdout,'(5x,"freq (",i3," -",i3,") = ",f12.1,2x,"[cm-1]",3x, "--> ?")') imode, imode, w1(imode)
+ WRITE(stdout,'(5x,"freq (",i4,"-",i4,") = ",f12.1,2x,"[cm-1]",3x, "--> ?")') imode, imode, w1(imode)
ELSE
irap=num_rap_mode(imode)
next = imode + NINT(DBLE(char_mat(irap,1)))
cdum=" "
IF (lir) cdum=TRIM(ir_ram(irap))
- WRITE(stdout,'(5x,"freq (",i3," -",i3,") = ",f12.1,2x,"[cm-1]",3x,"--> ",a19)') &
+ WRITE(stdout,'(5x,"freq (",i4,"-",i4,") = ",f12.1,2x,"[cm-1]",3x,"--> ",a19)') &
imode, next-1, w1(imode), name_rap(irap)//" "//cdum
ENDIF
ENDDO
diff --git a/PHonon/PH/phqscf.f90 b/PHonon/PH/phqscf.f90
index f7a1c6e7a..6ff62236e 100644
--- a/PHonon/PH/phqscf.f90
+++ b/PHonon/PH/phqscf.f90
@@ -78,10 +78,10 @@ SUBROUTINE phqscf
imode0 = imode0 + npert (irr1)
ENDDO
IF (npe == 1) THEN
- WRITE( stdout, '(//,5x,"Representation #", i3," mode # ",i3)') &
+ WRITE( stdout, '(//,5x,"Representation #", i3," mode #",i4)') &
irr, imode0 + 1
ELSE
- WRITE( stdout, '(//,5x,"Representation #", i3," modes # ",8i3)') &
+ WRITE( stdout, '(//,5x,"Representation #", i3," modes #",8i4)') &
irr, (imode0+irr1, irr1=1,npe)
ENDIF
!
diff --git a/PHonon/PH/write_modes.f90 b/PHonon/PH/write_modes.f90
index d77fcdced..c5c67ebde 100644
--- a/PHonon/PH/write_modes.f90
+++ b/PHonon/PH/write_modes.f90
@@ -6,39 +6,39 @@
! or http://www.gnu.org/copyleft/gpl.txt .
!
SUBROUTINE write_modes_out(irr, imode0)
-!
-! This routine writes the displacements on the representation irr that
-! starts at mode imode0
-!
-USE kinds, ONLY : DP
-USE ions_base, ONLY : nat
-USE modes, ONLY : u, npert
-USE io_global, ONLY : stdout
-IMPLICIT NONE
-INTEGER, INTENT(IN) :: imode0, irr
-INTEGER :: mu, nu
-
-WRITE( stdout, '(5x,"Irreps are as follows:",/)')
-IF (npert (irr) .eq.1) THEN
- WRITE( stdout, '(20x," mode # ",i3)') imode0 + 1
- WRITE( stdout, '(20x," (",2f10.5," ) ")') ( (u (mu, nu) ,&
- &nu = imode0 + 1, imode0 + npert (irr) ) , mu = 1, 3 * nat)
-ELSEIF (npert (irr) .eq.2) THEN
- WRITE( stdout, '(2(10x," mode # ",i3,16x))') imode0 + 1, &
- imode0 + 2
- WRITE( stdout, '(2(10x," (",2f10.5," ) "))') ( (u (mu, nu) , nu &
- &= imode0 + 1, imode0 + npert (irr) ) , mu = 1, 3 * nat)
-ELSEIF (npert (irr) .eq.3) THEN
- WRITE( stdout, '(4x,3(" mode # ",i3,13x))') imode0 + 1, imode0 &
- + 2, imode0 + 3
- WRITE( stdout, '((5x,3("(",2f10.5," ) ")))') ( (u (mu, nu) , &
- nu = imode0 + 1, imode0 + npert (irr) ) , mu = 1, 3 * nat)
-ELSE
- WRITE( stdout, '(4x,4(" mode # ",i3,13x))') imode0 + 1, imode0 &
- + 2, imode0 + 4
- WRITE( stdout, '((5x,4("(",2f10.5," ) ")))') ( (u (mu, nu) , &
- nu = imode0 + 1, imode0 + npert (irr) ) , mu = 1, 3 * nat)
-ENDIF
-
-RETURN
+ !
+ ! This routine writes the displacements on the representation irr that
+ ! starts at mode imode0
+ !
+ USE kinds, ONLY : DP
+ USE ions_base, ONLY : nat
+ USE modes, ONLY : u, npert
+ USE io_global, ONLY : stdout
+ IMPLICIT NONE
+ INTEGER, INTENT(IN) :: imode0, irr
+ INTEGER :: mu, nu
+
+ WRITE( stdout, '(5x,"Irreps are as follows:",/)')
+ IF (npert (irr) .eq.1) THEN
+ WRITE( stdout, '(20x," mode #",i4)') imode0 + 1
+ WRITE( stdout, '(20x," (",2f10.5," ) ")') ( (u (mu, nu) ,&
+ &nu = imode0 + 1, imode0 + npert (irr) ) , mu = 1, 3 * nat)
+ ELSEIF (npert (irr) .eq.2) THEN
+ WRITE( stdout, '(2(10x," mode #",i4,16x))') imode0 + 1, &
+ imode0 + 2
+ WRITE( stdout, '(2(10x," (",2f10.5," ) "))') ( (u (mu, nu) , nu &
+ &= imode0 + 1, imode0 + npert (irr) ) , mu = 1, 3 * nat)
+ ELSEIF (npert (irr) .eq.3) THEN
+ WRITE( stdout, '(4x,3(" mode #",i4,13x))') imode0 + 1, imode0 &
+ + 2, imode0 + 3
+ WRITE( stdout, '((5x,3("(",2f10.5," ) ")))') ( (u (mu, nu) , &
+ nu = imode0 + 1, imode0 + npert (irr) ) , mu = 1, 3 * nat)
+ ELSE
+ WRITE( stdout, '(4x,4(" mode #",i4,13x))') imode0 + 1, imode0 &
+ + 2, imode0 + 4
+ WRITE( stdout, '((5x,4("(",2f10.5," ) ")))') ( (u (mu, nu) , &
+ nu = imode0 + 1, imode0 + npert (irr) ) , mu = 1, 3 * nat)
+ ENDIF
+
+ RETURN
END SUBROUTINE write_modes_out