From 5d7a24cb5aca10c1cbecd8ebcc42a42acf1cd35c Mon Sep 17 00:00:00 2001 From: Arjen Tamerus Date: Mon, 4 Feb 2019 16:22:12 +0000 Subject: [PATCH 1/3] More gfortran fixes --- fields.f90 | 22 +++++++++++----------- lapack.f90 | 2 ++ makefile | 20 +++++++++++--------- trove.f90 | 1 + 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/fields.f90 b/fields.f90 index 34e7f99..e51e375 100644 --- a/fields.f90 +++ b/fields.f90 @@ -1781,6 +1781,7 @@ subroutine FLReadInput(NPTorder,Npolyads,Natoms,Nmodes,Jrot) select case (trim(job%bset(imode)%type)) ! case ('NUMEROV','BOX','LAGUERRE','FOURIER','LEGENDRE') + case default ! case default ! @@ -1945,7 +1946,6 @@ subroutine FLReadInput(NPTorder,Npolyads,Natoms,Nmodes,Jrot) (job%bset(i)%periodic.eqv.job%bset(i-1)%periodic) .and.job%bset(i)%iperiod ==job%bset(i-1)%iperiod ) then ! job%bset(i)%species = ispecies - ! else ispecies = ispecies + 1 job%bset(i)%species = ispecies @@ -4028,7 +4028,7 @@ subroutine FLReadInput(NPTorder,Npolyads,Natoms,Nmodes,Jrot) ! enddo ! - call readi(i_t); extF%ifit(iterm,imu) = i_t + call readf(f_t); extF%ifit(iterm,imu) = int(f_t) call readf(f_t); extF%coef(iterm,imu) = f_t ! write(my_fmt,'(a,i0,a)') "(a,",Ncoords,"i1)" @@ -4162,7 +4162,7 @@ subroutine FLReadInput(NPTorder,Npolyads,Natoms,Nmodes,Jrot) ! to work only with all modes as one class in the contr. vibrational representaion, i.e. ! the vibr. Hamiltonian is assumed to be diagonal in this representaion: ! - if ( any( (/trim(job%IOj0ext_action),trim(job%IOj0matel_action)/) /='NONE' ) ) then + if ( trim(job%IOj0ext_action) /= 'NONE' .or. trim(job%IOj0matel_action) /='NONE' ) then ! job%vib_contract = .true. ! @@ -11511,7 +11511,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) ! Only pseudopotential function (part 1) is obtained as a vector product of two s_rot polynoms: ! V_pseudi1(q1,q2) = 1/4*factor*sum_{n1} [s_rot x s_rot] /mass(n1) ! - !$omp sections private(s_1t,s_2t,s_3t,s_4t,s_5t,r_t,kindex) + ! $omp sections private(s_1t,s_2t,s_3t,s_4t,s_5t,r_t,kindex) ! ! Allocating two temporaly arrays s_1t, s2t and s_3t ! @@ -11522,7 +11522,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) stop 'gmat_polynom: s_t - out of memory' endif ! - !$omp section + ! $omp section ! ! Vibrational part ! @@ -11543,7 +11543,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) enddo enddo ! - !$omp section + ! $omp section ! if (job%verbose>=4) write(out,"('g_vib... Done!')") ! @@ -11596,7 +11596,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) ! endif ! - !$omp section + ! $omp section ! ! Pseudopotential function: part 1 ! @@ -11625,7 +11625,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) ! if (job%verbose>=4) write(out,"('pseudo1... Done!')") ! - !$omp section + ! $omp section ! !U2:=simplify( ! 1/4*sum(sum(add(add(add( @@ -11674,7 +11674,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) ! if (job%verbose>=4) write(out,"('pseudo2... Done!')") ! - !$omp section + ! $omp section ! !U3:=simplify(sum(sum(sum(add( !> 1/4*1/mm[N0]*( S[q01][N0,x0]*DDS[q02][N0,x0][q02,q01]+1/2*DS[q01][N0,x0][q01]*DS[q02][N0,x0][q02] ) @@ -11731,7 +11731,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) enddo enddo ! - !$omp section + ! $omp section ! if (job%verbose>=4) write(out,"('pseudo3a... Done!')") ! @@ -11834,7 +11834,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) deallocate(r_t) ! deallocate(s_1t,s_2t,s_3t,s_4t,s_5t) - !$omp end sections + ! $omp end sections ! ! if (trim(molec%coords_transform)=='R-RHO'.and..false.) then diff --git a/lapack.f90 b/lapack.f90 index 1b58041..d8cc327 100644 --- a/lapack.f90 +++ b/lapack.f90 @@ -1625,6 +1625,8 @@ subroutine matvec_p(comm,n,nloc,nprocs,kstart,dx,bterm,h,mv_buf,z,w) #endif #if (mpi_ > 0) call mpi_recv(mv_buf(istart),nx,MPI_DOUBLE_PRECISION,inext,myid,comm,ierr) +======= + !!! dec $ if (blacs_ > 0) #endif ! iend = min(bterm(k,2),iend) diff --git a/makefile b/makefile index fdd909e..31fda26 100644 --- a/makefile +++ b/makefile @@ -12,35 +12,35 @@ pot_user = pot_ch4 PLAT = _2205_i17 ###FOR = ifort -FOR = ifort -FFLAGS = -ip -openmp -O3 -static +FOR = mpif90 +FFLAGS = -fopenmp -ffree-line-length-none -march=native -O3 -fcray-pointer #ARPACK = ~/libraries/ARPACK/libarpack_omp_64.a #LAPACK = -mkl -LAPACK = -mkl=parallel +LAPACK = -lopenblas LIB = $(LAPACK) %.o : %.f90 - $(FOR) -c $(FFLAGS) $< + $(FOR) -cpp -c $(FFLAGS) $< ############################################################################### -trove.x: trove.o accuracy.o perturbation.o fields.o symmetry.o molecules.o me_numer.o me_str.o me_bnd.o me_rot.o \ +trove.x: trove.o accuracy.o perturbation.o fields.o symmetry.o molecules.o me_numer.o me_str.o me_bnd.o me_rot.o \ lapack.o plasma.o moltype.o refinement.o dipole.o refinement.o tran.o diag.o timer.o input.o \ - mol_xy.o mol_xy2.o mol_xy3.o mol_xy4.o mol_zxy2.o mol_zxy3.o mol_ch3oh.o mol_abcd.o mol_c2h4.o mol_c2h6.o \ - pot_xy2.o pot_xy3.o pot_xy4.o pot_zxy2.o pot_zxy3.o pot_ch3oh.o pot_abcd.o pot_c2h4.o pot_c2h6.o $(pot_user).o + mol_xy.o mol_xy2.o mol_xy3.o mol_xy4.o mol_zxy2.o mol_zxy3.o mol_ch3oh.o mol_abcd.o mol_c2h4.o mol_c2h6.o mol_c3h6.o \ + pot_xy2.o pot_xy3.o pot_xy4.o pot_zxy2.o pot_zxy3.o pot_ch3oh.o pot_abcd.o pot_c2h4.o pot_c2h6.o pot_c3h6.o $(pot_user).o $(FOR) $(FFLAGS) -o j-trove$(PLAT).x $^ $(LIB) trove.o: accuracy.o fields.o perturbation.o symmetry.o timer.o moltype.o dipole.o refinement.o tran.o perturbation.o: accuracy.o molecules.o lapack.o fields.o timer.o symmetry.o diag.o plasma.o fields.o: accuracy.o molecules.o lapack.o me_str.o timer.o me_numer.o input.o me_rot.o moltype.o symmetry.o me_bnd.o symmetry.o: accuracy.o -molecules.o: accuracy.o moltype.o mol_xy.o mol_xy2.o mol_xy3.o mol_xy4.o mol_zxy2.o mol_zxy3.o mol_ch3oh.o mol_abcd.o mol_c2h4.o mol_c2h6.o \ - lapack.o pot_xy2.o pot_xy3.o mol_xy4.o pot_zxy2.o pot_zxy3.o pot_ch3oh.o pot_abcd.o pot_c2h4.o pot_c2h6.o \ +molecules.o: accuracy.o moltype.o mol_xy.o mol_xy2.o mol_xy3.o mol_xy4.o mol_zxy2.o mol_zxy3.o mol_ch3oh.o mol_abcd.o mol_c2h4.o mol_c2h6.o mol_c3h6.o \ + lapack.o pot_xy2.o pot_xy3.o mol_xy4.o pot_zxy2.o pot_zxy3.o pot_ch3oh.o pot_abcd.o pot_c2h4.o pot_c2h6.o pot_c3h6.o \ symmetry.o $(pot_user).o me_numer.o: accuracy.o molecules.o timer.o @@ -66,6 +66,7 @@ mol_zxy3.o: accuracy.o moltype.o mol_ch3oh.o: accuracy.o moltype.o pot_ch3oh.o mol_c2h4.o: accuracy.o moltype.o mol_c2h6.o: accuracy.o moltype.o +mol_c3h6.o: accuracy.o moltype.o mol_abcd.o: accuracy.o moltype.o pot_abcd.o pot_ch4.o: accuracy.o moltype.o @@ -78,6 +79,7 @@ pot_c2h6.o: accuracy.o moltype.o pot_ch3oh.o: accuracy.o moltype.o pot_c2h4.o: accuracy.o moltype.o pot_c2h6.o: accuracy.o moltype.o +pot_c3h6.o: accuracy.o moltype.o pot_abcd.o: accuracy.o moltype.o lapack.o clean: diff --git a/trove.f90 b/trove.f90 index 8dfb59e..e6b6149 100644 --- a/trove.f90 +++ b/trove.f90 @@ -16,6 +16,7 @@ module tp_module implicit none + public ptmain ! ! Defining the calculations ! From 1223d9c87daea41d4ea44d3e91d6a2eb3a592bcd Mon Sep 17 00:00:00 2001 From: IBeArjen Date: Tue, 5 Feb 2019 12:06:19 +0000 Subject: [PATCH 2/3] Merge branches + fix some string formats, memory bug --- fields.f90 | 6 +++--- lapack.f90 | 4 +--- makefile | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/fields.f90 b/fields.f90 index e51e375..bd07895 100644 --- a/fields.f90 +++ b/fields.f90 @@ -1781,7 +1781,7 @@ subroutine FLReadInput(NPTorder,Npolyads,Natoms,Nmodes,Jrot) select case (trim(job%bset(imode)%type)) ! case ('NUMEROV','BOX','LAGUERRE','FOURIER','LEGENDRE') - case default + case default ! case default ! @@ -4361,7 +4361,7 @@ subroutine FLsetMolecule ! trove%bonds(1:Nbonds,:) = bonds(1:Nbonds,:) trove%angles(1:Nangles,:) = angles(1:Nangles,:) - trove%dihedrals(:,:) = dihedrals(:,:) + trove%dihedrals(0:Ndihedrals,:) = dihedrals(0:Ndihedrals,:) trove%dihedtype(:) = dihedtype(:) ! ! We define the coordinates @@ -15479,7 +15479,7 @@ subroutine fingerprintWrite write(chkptIO,"(i8,' <- Jrot, rotational angular momentum')") bset%dscr(0)%range(1) ! do imode = 0,trove%Nmodes - write(chkptIO,"(6x,i4,1x,3(a10,1x),i5,3x,a2,3x,i2,5x,i2,1x,2i4,2x,f6.1,2x,i9,1x,2f9.3,1x,i2,1x,i2,1x,a10,i9,i3,i3,i3)") & + write(chkptIO,"(6x,i4,1x,3(a10,1x),i5,3x,a2,3x,i2,5x,i2,1x,2i4,2x,f6.1,2x,i9,1x,2f9.3,1x,l,1x,i2,1x,a10,i9,l,l,l)") & imode, bset%dscr(imode) enddo ! diff --git a/lapack.f90 b/lapack.f90 index d8cc327..b52b0e0 100644 --- a/lapack.f90 +++ b/lapack.f90 @@ -1625,8 +1625,6 @@ subroutine matvec_p(comm,n,nloc,nprocs,kstart,dx,bterm,h,mv_buf,z,w) #endif #if (mpi_ > 0) call mpi_recv(mv_buf(istart),nx,MPI_DOUBLE_PRECISION,inext,myid,comm,ierr) -======= - !!! dec $ if (blacs_ > 0) #endif ! iend = min(bterm(k,2),iend) @@ -1792,8 +1790,8 @@ subroutine dseupd_p_arpack(n,bterm,nroots,factor,maxitr_,tol,h,e) ! blacs_or_mpi = 'MPI' ! -#endif ! +#endif ! diff --git a/makefile b/makefile index 31fda26..05dd386 100644 --- a/makefile +++ b/makefile @@ -13,7 +13,7 @@ pot_user = pot_ch4 PLAT = _2205_i17 ###FOR = ifort FOR = mpif90 -FFLAGS = -fopenmp -ffree-line-length-none -march=native -O3 -fcray-pointer +FFLAGS = -fopenmp -ffree-line-length-none -march=native -O3 -fcray-pointer -g3 #ARPACK = ~/libraries/ARPACK/libarpack_omp_64.a From 0e1cbed14b4d19508f23a3762ff34568947c8f7c Mon Sep 17 00:00:00 2001 From: Arjen Tamerus Date: Fri, 22 Feb 2019 14:12:55 +0000 Subject: [PATCH 3/3] Fix double 'case default', re-enable OMP sections, clean up makefile + gfortran warnings --- dipole.f90 | 5 +++-- fields.f90 | 17 ++++++++--------- makefile | 14 +++++++------- perturbation.f90 | 21 +++++++++++---------- refinement.f90 | 2 +- tran.f90 | 3 ++- 6 files changed, 32 insertions(+), 30 deletions(-) diff --git a/dipole.f90 b/dipole.f90 index b875534..f3cee8f 100644 --- a/dipole.f90 +++ b/dipole.f90 @@ -1013,8 +1013,9 @@ subroutine dm_intensity_symmvec(Jval) ! nclasses,'a3,";",',nmodes,'(1x,i3),")",2(1x,es15.8),i8,2x,"(",',& ! nmodes,'(1x, i3),")",2x,"<- ",1x,"(",',nmodes,'(1x, i3),")",3(',nformat,'(1x,f16.8,1x,3i1)))' ! - write(my_fmt1,'(a,i0,a,i0,a,i0,a,i0,a)') "(/t4,a1,t6,a8,t17,a1,t19,a5,t25,a3,t35,a2,t42,a2,t50,a2,t62,a5,t85,",nclasses,"(4x),1x,",nmodes,"(4x),& - &3x,a2,14x,",nclasses,"(4x),1x,",nmodes,"(4x),8x,a7,10x,a5,12x,a7,12x,a2,8x,a2,8x,a1)" + write(my_fmt1,'(a,i0,a,i0,a,i0,a,i0,a)') "(/t4,a1,t6,a8,t17,a1,t19,a5,t25,a3,t35,a2,t42,a2,t50,a2,t62,a5,t85,",nclasses,& + "(4x),1x,",nmodes,"(4x),3x,a2,14x,",nclasses,"(4x),1x,",nmodes,& + "(4x),8x,a7,10x,a5,12x,a7,12x,a2,8x,a2,8x,a1)" ! !write(my_fmt1,'(a)') "(/t4,a1,t6,a8,t17,a1,t19,a5)" !write(out,"(/t4a1,t6a8,t17a1,t19a5,t25a3,t35a1,t42a2,t50a1,t62a5,t85,(4x),1x,(4x),3x,a2,14x,(4x),1x,(4x),8x,a7,10x,a5,12x,a7,12x,a1,8x,a1,8x,a1)") 'J','Gamma <-','J','Gamma','Typ','Ef','<-','Ei','nu_if','<-','S(f<-i)','A(if)','I(f<-i)','Ni','Nf','N' diff --git a/fields.f90 b/fields.f90 index bd07895..539e64b 100644 --- a/fields.f90 +++ b/fields.f90 @@ -1781,7 +1781,6 @@ subroutine FLReadInput(NPTorder,Npolyads,Natoms,Nmodes,Jrot) select case (trim(job%bset(imode)%type)) ! case ('NUMEROV','BOX','LAGUERRE','FOURIER','LEGENDRE') - case default ! case default ! @@ -11511,7 +11510,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) ! Only pseudopotential function (part 1) is obtained as a vector product of two s_rot polynoms: ! V_pseudi1(q1,q2) = 1/4*factor*sum_{n1} [s_rot x s_rot] /mass(n1) ! - ! $omp sections private(s_1t,s_2t,s_3t,s_4t,s_5t,r_t,kindex) + !$omp sections private(s_1t,s_2t,s_3t,s_4t,s_5t,r_t,kindex) ! ! Allocating two temporaly arrays s_1t, s2t and s_3t ! @@ -11522,7 +11521,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) stop 'gmat_polynom: s_t - out of memory' endif ! - ! $omp section + !$omp section ! ! Vibrational part ! @@ -11543,7 +11542,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) enddo enddo ! - ! $omp section + !$omp section ! if (job%verbose>=4) write(out,"('g_vib... Done!')") ! @@ -11596,7 +11595,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) ! endif ! - ! $omp section + !$omp section ! ! Pseudopotential function: part 1 ! @@ -11625,7 +11624,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) ! if (job%verbose>=4) write(out,"('pseudo1... Done!')") ! - ! $omp section + !$omp section ! !U2:=simplify( ! 1/4*sum(sum(add(add(add( @@ -11674,7 +11673,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) ! if (job%verbose>=4) write(out,"('pseudo2... Done!')") ! - ! $omp section + !$omp section ! !U3:=simplify(sum(sum(sum(add( !> 1/4*1/mm[N0]*( S[q01][N0,x0]*DDS[q02][N0,x0][q02,q01]+1/2*DS[q01][N0,x0][q01]*DS[q02][N0,x0][q02] ) @@ -11731,7 +11730,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) enddo enddo ! - ! $omp section + !$omp section ! if (job%verbose>=4) write(out,"('pseudo3a... Done!')") ! @@ -11834,7 +11833,7 @@ subroutine gmat_polynom(s_vib,s_rot,g_vib,g_rot,g_cor,pseudo) deallocate(r_t) ! deallocate(s_1t,s_2t,s_3t,s_4t,s_5t) - ! $omp end sections + !$omp end sections ! ! if (trim(molec%coords_transform)=='R-RHO'.and..false.) then diff --git a/makefile b/makefile index 05dd386..3327ce1 100644 --- a/makefile +++ b/makefile @@ -11,15 +11,16 @@ checkin: pot_user = pot_ch4 PLAT = _2205_i17 -###FOR = ifort -FOR = mpif90 -FFLAGS = -fopenmp -ffree-line-length-none -march=native -O3 -fcray-pointer -g3 +FOR = ifort +FFLAGS = -qopenmp -xHost -O3 -ip -g3 +#FOR = gfortran +#FFLAGS = -fopenmp -march=native -O3 -fcray-pointer -g3 #ARPACK = ~/libraries/ARPACK/libarpack_omp_64.a -#LAPACK = -mkl -LAPACK = -lopenblas +LAPACK = -mkl +#LAPACK = -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl LIB = $(LAPACK) @@ -75,10 +76,9 @@ pot_xy3.o: accuracy.o moltype.o pot_xy4.o: accuracy.o moltype.o symmetry.o pot_zxy2.o: accuracy.o moltype.o pot_zxy3.o: accuracy.o moltype.o -pot_c2h6.o: accuracy.o moltype.o +pot_c2h6.o: accuracy.o moltype.o mol_c2h6.o pot_ch3oh.o: accuracy.o moltype.o pot_c2h4.o: accuracy.o moltype.o -pot_c2h6.o: accuracy.o moltype.o pot_c3h6.o: accuracy.o moltype.o pot_abcd.o: accuracy.o moltype.o lapack.o diff --git a/perturbation.f90 b/perturbation.f90 index d7cd1c6..76c73bb 100644 --- a/perturbation.f90 +++ b/perturbation.f90 @@ -9791,7 +9791,7 @@ subroutine diagonalization_contract(jrot,gamma,dimen_s,mat,zpe,rlevel,total_roo ! spur = spur*exp(-beta*mat0) ! - write(out, '(/1x, a, 1x, es16.8)'), 'qpart = ', spur + write(out, '(/1x, a, 1x, es16.8)') 'qpart = ', spur ! !mat = mat / (-planck * vellgt) * (boltz * intensity%temperature) !do ielem = 1, dimen_s @@ -9804,7 +9804,7 @@ subroutine diagonalization_contract(jrot,gamma,dimen_s,mat,zpe,rlevel,total_roo ! if (gamma==sym%Nrepresen) then ! - write(out, '(/1x, a, 1x, es16.8)'), 'partition function value is', job%partfunc%value + write(out, '(/1x, a, 1x, es16.8)') 'partition function value is', job%partfunc%value ! endif ! @@ -32446,7 +32446,7 @@ subroutine partfunc_matexp_taylor(dimen,m,norm_thresh,max_deg,spur_thresh,max_or ! ! perform squaring ! - write(out, '(/1x, a/1x, a, 1x, a)'), 'perform squaring', 'deg of 2', 'norm' + write(out, '(/1x, a/1x, a, 1x, a)') 'perform squaring', 'deg of 2', 'norm' ! if (job%verbose>=2) call TimerStart('Partition function my mat-exp') ! @@ -32461,13 +32461,13 @@ subroutine partfunc_matexp_taylor(dimen,m,norm_thresh,max_deg,spur_thresh,max_or ! do if (deg > max_deg) then - write(out, '(/1x, a, 1x, i3, 1x, a)'), 'max degree of 2', max_deg, 'is reached' + write(out, '(/1x, a, 1x, i3, 1x, a)') 'max degree of 2', max_deg, 'is reached' exit end if ! norm = norm / real(2**deg, kind = rk) ! - write(out, '(1x, i3, 1x, es16.8)'), deg, norm + write(out, '(1x, i3, 1x, es16.8)') deg, norm ! if (abs(norm) <= norm_thresh) exit deg = deg + 1 @@ -32525,14 +32525,14 @@ subroutine partfunc_matexp_taylor(dimen,m,norm_thresh,max_deg,spur_thresh,max_or spur = real(dimen, kind = rk) spur0 = spur ! - write(out, '(/1x, a/1x, a, 13x, a)'), 'compute exponential', 'ord', 'spur' + write(out, '(/1x, a/1x, a, 13x, a)') 'compute exponential', 'ord', 'spur' ! ! loop over Taylor series ! do iorder = iorder + 1 if (iorder > max_order) then - write(out, '(/1x, a, 1x, i3, 1x, a)'), 'max exp degree', max_order, 'is reached' + write(out, '(/1x, a, 1x, i3, 1x, a)') 'max exp degree', max_order, 'is reached' exit end if ! @@ -32769,7 +32769,7 @@ subroutine partfunc_matexp_taylor(dimen,m,norm_thresh,max_deg,spur_thresh,max_or end do !$omp end parallel do ! - write(out, '(1x, i3, 1x, es16.8)'), iorder, spur + write(out, '(1x, i3, 1x, es16.8)') iorder, spur ! if (abs(spur - spur0) <= spur_thresh) exit spur0 = spur @@ -37866,8 +37866,9 @@ subroutine calc_gvib_contr_matrix(isymcoeff,hvib) ! icontr = PT%icase2icontr(isymcoeff,ideg) ! - !$omp parallel do private(jcontr,energy_j,jsymcoeff,matelem,iclass,jclass,imode,imode_,jmode,jmode_,icomb,iterm,kclass,nu_i,nu_j,& - !$omp& ilambda,imu,iterm_uniq,me_class0,nterms,n0,iclass_n,prod0,matelem0,n) shared(hvib) schedule(dynamic) + !$omp parallel do private(jcontr,energy_j,jsymcoeff,matelem,iclass,jclass,imode,imode_,jmode,jmode_,icomb,iterm,kclass, & + !$omp& nu_i,nu_j,ilambda,imu,iterm_uniq,me_class0,nterms,n0,iclass_n,prod0,matelem0,n) & + !$omp& shared(hvib) schedule(dynamic) do jcontr=1,icontr ! jsymcoeff = PT%icontr2icase(jcontr,1) diff --git a/refinement.f90 b/refinement.f90 index dad12ce..029f0b7 100644 --- a/refinement.f90 +++ b/refinement.f90 @@ -1244,7 +1244,7 @@ subroutine sf_fitting(Jval) ! v = pot_values(i)-eps(i+en_npts) ! - write (abinitunit,my_fmt_pot2),& + write (abinitunit,my_fmt_pot2) & local(:,i), & pot_values(i),v, & eps(i+en_npts),wtall(i+en_npts) diff --git a/tran.f90 b/tran.f90 index a14589a..8624f0e 100644 --- a/tran.f90 +++ b/tran.f90 @@ -805,7 +805,8 @@ subroutine read_eigenval(njval, jval, error) !write(out,"(i12,1x,f12.6,1x,i6,1x,i7,2x,a3,2x,i3,1x,(1x,a3),1x,2i4,1x,a3,2x,f5.2,a3,1x,i9,1x,i3)") & ! write(my_fmt,'(a,i0,a,i0,a,i0,a)') & - "(i12,1x,f12.6,1x,i6,1x,i7,2x,a3,2x,",nmodes,"i3,1x",nclasses,"(1x,a3),2i4,1x,a3,2x,f5.2,a3,1x,i9,1x",nmodes,"i3)" + "(i12,1x,f12.6,1x,i6,1x,i7,2x,a3,2x,",nmodes,"i3,1x",nclasses,& + "(1x,a3),2i4,1x,a3,2x,f5.2,a3,1x,i9,1x",nmodes,"i3)" ! write(out,my_fmt) & ID_,energy-intensity%ZPE,int(intensity%gns(gamma),4)*(2*J_+1),J_,sym%label(gamma),&