37 open(71,file=
'TOTENERGY_OPT.OUT',form=
'FORMATTED')
38 open(72,file=
'FORCEMAX.OUT',form=
'FORMATTED')
39 open(73,file=
'GEOMETRY_OPT.OUT',form=
'FORMATTED')
40 open(74,file=
'IADIST_OPT.OUT',form=
'FORMATTED')
41 open(75,file=
'FORCES_OPT.OUT',form=
'FORMATTED')
43 open(78,file=
'MOMENTM_OPT.OUT',form=
'FORMATTED')
46 open(86,file=
'STRESSMAX.OUT',form=
'FORMATTED')
47 open(87,file=
'STRESS_OPT.OUT',form=
'FORMATTED')
48 open(88,file=
'OMEGA_OPT.OUT',form=
'FORMATTED')
57 write(*,
'("Info(geomopt): atomic position optimisation step : ",I6)') jstp
73 write(73,*);
write(73,*)
74 write(73,
'("! Atomic position optimisation step : ",I6)') jstp
77 write(74,*);
write(74,*)
78 write(74,
'("Atomic position optimisation step : ",I6)') jstp
81 write(75,*);
write(75,*)
82 write(75,
'("Atomic position optimisation step : ",I6)') jstp
85 write(75,
'("Maximum force magnitude over all atoms (target) : ",G18.10,&
99 write(75,
'("Force convergence target achieved")')
105 write(*,
'("Warning(geomopt): atomic position optimisation failed to &
115 write(*,
'("Info(geomopt): lattice optimisation step : ",I6)') istp
129 write(73,*);
write(73,*)
130 write(73,
'("! Lattice optimisation step : ",I6)') istp
133 write(74,*);
write(74,*)
134 write(74,
'("Lattice optimisation step : ",I6)') istp
144 write(87,
'("Lattice optimisation step : ",I6)') istp
145 write(87,
'("Derivative of total energy w.r.t. strain tensors :")')
147 write(87,
'(G18.10)')
stress(i)
150 write(88,
'(G18.10)')
omega
162 call mpi_bcast(ds,1,mpi_double_precision,0,
mpicom,
ierror)
166 write(87,
'("Stress convergence target achieved")')
172 write(*,
'("Warning(geomopt): lattice optimisation failed to converge in ",&
182 close(71);
close(72);
close(73);
close(74);
close(75)
185 close(86);
close(87);
close(88)
subroutine delfiles(evec, devec, eval, occ, pmat, epsi)
real(8), dimension(3, maxatoms, maxspecies) atposc
integer, dimension(maxspecies) natoms
real(8), dimension(9) stressp
real(8), dimension(3, 3) avec
real(8), dimension(:), allocatable tauatp
real(8), dimension(9) stress
real(8), dimension(:,:), allocatable forcetot
real(8), dimension(9) taulatv
real(8), dimension(:,:), allocatable forcetotp
real(8), dimension(3, maxatoms, maxspecies) atposl
subroutine writevars(vname, n1, n2, n3, n4, n5, n6, nv, iv, iva, rv, rva, zv, zva, sv, sva)
subroutine writeforces(fnum)
subroutine writegeom(fnum)
subroutine writeiad(fnum)