mirror of https://gitlab.com/QEF/q-e.git
GIPAW updated to comply with the new radial_grids module. (D.C.)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4185 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
b3d5bb38c5
commit
cb84f0dc10
|
@ -28,19 +28,20 @@ write_tensor_field.o \
|
|||
efg.o
|
||||
|
||||
|
||||
|
||||
MODULES = \
|
||||
../Modules/atom.o \
|
||||
../Modules/autopilot.o \
|
||||
../Modules/basic_algebra_routines.o \
|
||||
../Modules/bfgs_module.o \
|
||||
../Modules/berry_phase.o \
|
||||
../Modules/bfgs_module.o \
|
||||
../Modules/cell_base.o \
|
||||
../Modules/check_stop.o \
|
||||
../Modules/clocks.o \
|
||||
../Modules/constants.o \
|
||||
../Modules/constraints_module.o \
|
||||
../Modules/control_flags.o \
|
||||
../Modules/descriptors.o \
|
||||
../Modules/dspev_drv.o \
|
||||
../Modules/electrons_base.o \
|
||||
../Modules/fft_base.o \
|
||||
../Modules/fft_scalar.o \
|
||||
|
@ -52,34 +53,34 @@ MODULES = \
|
|||
../Modules/ions_base.o \
|
||||
../Modules/ions_nose.o \
|
||||
../Modules/kind.o \
|
||||
../Modules/metadyn_base.o \
|
||||
../Modules/metadyn_io.o \
|
||||
../Modules/metadyn_vars.o \
|
||||
../Modules/metagga.o \
|
||||
../Modules/mp_global.o \
|
||||
../Modules/mp_wave.o \
|
||||
../Modules/mp.o \
|
||||
../Modules/parallel_include.o \
|
||||
../Modules/parameters.o \
|
||||
../Modules/parser.o \
|
||||
../Modules/metagga.o \
|
||||
../Modules/metadyn_base.o \
|
||||
../Modules/metadyn_io.o \
|
||||
../Modules/metadyn_vars.o \
|
||||
../Modules/path_base.o \
|
||||
../Modules/path_formats.o \
|
||||
../Modules/path_variables.o \
|
||||
../Modules/path_opt_routines.o \
|
||||
../Modules/path_io_routines.o \
|
||||
../Modules/path_reparametrisation.o \
|
||||
../Modules/parallel_include.o \
|
||||
../Modules/parameters.o \
|
||||
../Modules/parser.o \
|
||||
../Modules/printout_base.o \
|
||||
../Modules/pseudo_types.o \
|
||||
../Modules/ptoolkit.o \
|
||||
../Modules/random_numbers.o \
|
||||
../Modules/read_cards.o \
|
||||
../Modules/read_namelists.o \
|
||||
../Modules/read_uspp.o \
|
||||
../Modules/read_upf.o \
|
||||
../Modules/read_uspp.o \
|
||||
../Modules/recvec.o \
|
||||
../Modules/shmem_include.o \
|
||||
../Modules/splinelib.o \
|
||||
../Modules/stick_base.o \
|
||||
../Modules/shmem_include.o \
|
||||
../Modules/task_groups.o \
|
||||
../Modules/timestep.o \
|
||||
../Modules/upf_to_internal.o \
|
||||
|
@ -87,7 +88,9 @@ MODULES = \
|
|||
../Modules/version.o \
|
||||
../Modules/wavefunctions.o \
|
||||
../Modules/wave_base.o \
|
||||
../Modules/xml_io_base.o
|
||||
../Modules/xml_io_base.o \
|
||||
../Modules/zhpev_drv.o
|
||||
|
||||
|
||||
PWOBJS = ../PW/libpw.a
|
||||
|
||||
|
|
|
@ -475,7 +475,7 @@ subroutine efg_correction ( efg_corr_tens )
|
|||
USE kinds, ONLY : dp
|
||||
USE uspp, ONLY : ap
|
||||
USE parameters, ONLY : lmaxx, ntypx
|
||||
USE atom, ONLY : r,rab,msh
|
||||
USE atom, ONLY : rgrid
|
||||
USE gvect, ONLY : g,ngm,ecutwfc
|
||||
USE klist, ONLY : nks, xk, wk
|
||||
USE cell_base, ONLY : tpiba2
|
||||
|
@ -548,9 +548,9 @@ subroutine efg_correction ( efg_corr_tens )
|
|||
* paw_recon(nt)%aephi(il2)%psi(j) &
|
||||
- paw_recon(nt)%psphi(il1)%psi(j) &
|
||||
* paw_recon(nt)%psphi(il2)%psi(j) ) &
|
||||
/ r(j,nt) ** 3
|
||||
/ rgrid(nt)%r(j) ** 3
|
||||
end do
|
||||
call simpson(nrc,work,rab(:,nt),at_efg(il1,il2,nt))
|
||||
call simpson(nrc,work,rgrid(nt)%rab,at_efg(il1,il2,nt))
|
||||
!!!print*, nt, il1, il2, at_efg(il1,il2,nt)
|
||||
end do
|
||||
end do
|
||||
|
@ -673,7 +673,7 @@ subroutine fermi_contact_reconstruction ( fc_recon, fc_recon_zora )
|
|||
USE kinds, ONLY : dp
|
||||
USE uspp, ONLY : ap
|
||||
USE parameters, ONLY : lmaxx, ntypx
|
||||
USE atom, ONLY : r,rab,msh
|
||||
USE atom, ONLY : rgrid
|
||||
USE gvect, ONLY : g,ngm,ecutwfc, gg
|
||||
USE klist, ONLY : nks, xk, wk
|
||||
USE cell_base, ONLY : tpiba2
|
||||
|
@ -742,7 +742,7 @@ subroutine fermi_contact_reconstruction ( fc_recon, fc_recon_zora )
|
|||
kkpsi = paw_recon(nt)%aephi(1)%kkpsi
|
||||
allocate ( work(kkpsi) )
|
||||
|
||||
IF ( ABS ( r(1,nt) ) < 1e-8 ) THEN
|
||||
IF ( ABS ( rgrid(nt)%r(1) ) < 1e-8 ) THEN
|
||||
r_first = 2
|
||||
ELSE
|
||||
r_first = 1
|
||||
|
@ -766,14 +766,14 @@ subroutine fermi_contact_reconstruction ( fc_recon, fc_recon_zora )
|
|||
* paw_recon(nt)%aephi(il2)%psi(j) &
|
||||
- paw_recon(nt)%psphi(il1)%psi(j) &
|
||||
* paw_recon(nt)%psphi(il2)%psi(j) ) &
|
||||
/ r(j,nt) ** 2 / fpi
|
||||
/ rgrid(nt)%r(j) ** 2 / fpi
|
||||
end do
|
||||
|
||||
at_efg(il1,il2,nt) = work(2)
|
||||
|
||||
IF ( iverbosity > 100 ) THEN
|
||||
do j = r_first, nrc
|
||||
write(1010+nt,*) r(j,nt), work(j) !* fpi
|
||||
write(1010+nt,*) rgrid(nt)%r(j), work(j) !* fpi
|
||||
end do
|
||||
write(1010+nt,*) ""
|
||||
END IF
|
||||
|
@ -788,10 +788,10 @@ subroutine fermi_contact_reconstruction ( fc_recon, fc_recon_zora )
|
|||
* paw_recon(nt)%aephi(il2)%psi(r_first) &
|
||||
- paw_recon(nt)%psphi(il1)%psi(r_first) &
|
||||
* paw_recon(nt)%psphi(il2)%psi(r_first) ) &
|
||||
/ r(r_first,nt) ** 2 / fpi &
|
||||
* 2 / ( fpi * r(j,nt) ** 2 * r_Thomson &
|
||||
* ( 1 + 2 * r(j,nt) / r_Thomson ) ** 2 ) &
|
||||
* r(j,nt) ** 2
|
||||
/ rgrid(nt)%r(r_first) ** 2 / fpi &
|
||||
* 2 / ( fpi * rgrid(nt)%r(j) ** 2 * r_Thomson &
|
||||
* ( 1 + 2 * rgrid(nt)%r(j) / r_Thomson ) ** 2 ) &
|
||||
* rgrid(nt)%r(j) ** 2
|
||||
end do
|
||||
|
||||
! ! Dirac delta function
|
||||
|
@ -821,12 +821,12 @@ subroutine fermi_contact_reconstruction ( fc_recon, fc_recon_zora )
|
|||
|
||||
IF ( iverbosity > 100 ) THEN
|
||||
do j = r_first, nrc
|
||||
write(1000+nt,*) r(j,nt), work(j) !* fpi
|
||||
write(1000+nt,*) rgrid(nt)%r(j), work(j) !* fpi
|
||||
end do
|
||||
write(1000+nt,*) ""
|
||||
END IF
|
||||
|
||||
CALL simpson(nrc,work,rab(:,nt),at_efg_zora(il1,il2,nt))
|
||||
CALL simpson(nrc,work,rgrid(nt)%rab(:nrc),at_efg_zora(il1,il2,nt))
|
||||
|
||||
IF ( iverbosity > 100 ) THEN
|
||||
write(6,'(A,2i6,2F10.5)') "DDD: ", &
|
||||
|
@ -925,7 +925,7 @@ end subroutine fermi_contact_reconstruction
|
|||
subroutine delta_Thomson_radial_ft ( delta_t )
|
||||
|
||||
USE kinds, ONLY : dp
|
||||
USE atom, ONLY : r,rab,msh
|
||||
USE atom, ONLY : rgrid
|
||||
USE gvect, ONLY : ngm, gg
|
||||
USE ions_base, ONLY : ntyp => nsp, atm
|
||||
USE constants, ONLY : pi, fpi
|
||||
|
@ -949,7 +949,7 @@ subroutine delta_Thomson_radial_ft ( delta_t )
|
|||
|
||||
do nt = 1, ntyp
|
||||
|
||||
allocate ( work(msh(nt)), f_radial(msh(nt)) )
|
||||
allocate ( work(rgrid(nt)%mesh), f_radial(rgrid(nt)%mesh) )
|
||||
|
||||
! Thomson's delta function
|
||||
|
||||
|
@ -957,17 +957,17 @@ subroutine delta_Thomson_radial_ft ( delta_t )
|
|||
|
||||
! Terms r(j,nt) ** 2 from the definition of delta_Thomson
|
||||
! and the radial volume element r^2 in integral cancel each other
|
||||
DO j = 1, msh(nt)
|
||||
DO j = 1, rgrid(nt)%mesh
|
||||
f_radial(j) = 2 / ( fpi * r_Thomson &
|
||||
* ( 1 + 2 * r(j,nt) / r_Thomson ) ** 2 )
|
||||
* ( 1 + 2 * rgrid(nt)%r(j) / r_Thomson ) ** 2 )
|
||||
END DO
|
||||
|
||||
DO gv = 1, ngm
|
||||
|
||||
! Thomson delta function
|
||||
work = 0.0_dp
|
||||
do j = 1, msh(nt)
|
||||
gr = SQRT(gg(gv)) * tpiba * r(j,nt)
|
||||
do j = 1, rgrid(nt)%mesh
|
||||
gr = SQRT(gg(gv)) * tpiba * rgrid(nt)%r(j)
|
||||
IF ( gr < 1.0e-8 ) THEN
|
||||
work(j) = f_radial(j) * fpi
|
||||
ELSE
|
||||
|
@ -975,7 +975,7 @@ subroutine delta_Thomson_radial_ft ( delta_t )
|
|||
END IF
|
||||
end do
|
||||
|
||||
CALL simpson(msh(nt),work,rab(:,nt),delta_t(gv,nt))
|
||||
CALL simpson(rgrid(nt)%mesh,work,rgrid(nt)%rab,delta_t(gv,nt))
|
||||
|
||||
IF ( iverbosity > 100 ) THEN
|
||||
write(1020+nt,*) SQRT(gg(gv))*tpiba, delta_t(gv,nt)
|
||||
|
|
|
@ -611,7 +611,6 @@ CONTAINS
|
|||
!====================================================================
|
||||
SUBROUTINE relativistic_mass_correction ( rmc_gipaw )
|
||||
|
||||
USE atom, ONLY : r, rab
|
||||
USE ions_base, ONLY : nat, ityp, ntyp => nsp
|
||||
USE gipaw_module, ONLY : radial_integral_rmc
|
||||
|
||||
|
@ -674,7 +673,6 @@ CONTAINS
|
|||
!====================================================================
|
||||
SUBROUTINE diamagnetic_correction ( diamagnetic_tensor )
|
||||
|
||||
USE atom, ONLY : r, rab
|
||||
USE ions_base, ONLY : nat, ityp, ntyp => nsp
|
||||
USE gipaw_module, ONLY : radial_integral_diamagnetic_so
|
||||
|
||||
|
|
|
@ -323,7 +323,7 @@ CONTAINS
|
|||
! paw_becp, paw_nkb
|
||||
USE paw, ONLY : paw_recon, paw_nkb, paw_vkb, paw_becp, &
|
||||
read_recon, read_recon_paratec
|
||||
USE atom, ONLY : r, rab
|
||||
USE atom, ONLY : rgrid
|
||||
|
||||
!</apsi>
|
||||
|
||||
|
@ -429,10 +429,10 @@ CONTAINS
|
|||
!
|
||||
do j = 1, nrc
|
||||
work(j) = (paw_recon(nt)%aephi(il1)%psi(j)*paw_recon(nt)%aephi(il2)%psi(j)-&
|
||||
paw_recon(nt)%psphi(il1)%psi(j)*paw_recon(nt)%psphi(il2)%psi(j))/r(j,nt)
|
||||
paw_recon(nt)%psphi(il1)%psi(j)*paw_recon(nt)%psphi(il2)%psi(j))/rgrid(nt)%r(j)
|
||||
enddo
|
||||
|
||||
CALL simpson( nrc, work, rab(:nrc,nt), &
|
||||
CALL simpson( nrc, work, rgrid(nt)%rab(:nrc), &
|
||||
radial_integral_diamagnetic(il1,il2,nt) )
|
||||
|
||||
!
|
||||
|
@ -445,10 +445,10 @@ CONTAINS
|
|||
work(j) = &
|
||||
( paw_recon(nt)%aephi(il1)%psi(j) * paw_recon(nt)%aephi(il2)%psi(j) &
|
||||
- paw_recon(nt)%psphi(il1)%psi(j) * paw_recon(nt)%psphi(il2)%psi(j) ) &
|
||||
/ r(j,nt) ** 3
|
||||
/ rgrid(nt)%r(j) ** 3
|
||||
end do
|
||||
|
||||
call simpson( nrc, work, rab(:,nt), &
|
||||
call simpson( nrc, work, rgrid(nt)%rab(:nrc), &
|
||||
radial_integral_paramagnetic(il1,il2,nt) )
|
||||
if (iverbosity > 10) then
|
||||
write(stdout,*) "WWW1: ", l2, il1, il2, &
|
||||
|
@ -464,9 +464,9 @@ CONTAINS
|
|||
! g tensor, relativistic mass correction
|
||||
!
|
||||
ALLOCATE ( kinetic_aephi ( kkpsi ), kinetic_psphi ( kkpsi ) )
|
||||
CALL radial_kinetic_energy ( l2, r(:nrc,nt), &
|
||||
CALL radial_kinetic_energy ( l2, rgrid(nt)%r(:nrc), &
|
||||
paw_recon(nt)%aephi(il2)%psi(:nrc), kinetic_aephi(:nrc) )
|
||||
CALL radial_kinetic_energy ( l2, r(:nrc,nt), &
|
||||
CALL radial_kinetic_energy ( l2, rgrid(nt)%r(:nrc), &
|
||||
paw_recon(nt)%psphi(il2)%psi(:nrc), kinetic_psphi(:nrc) )
|
||||
|
||||
do j = 1, nrc
|
||||
|
@ -475,7 +475,7 @@ CONTAINS
|
|||
end do
|
||||
DEALLOCATE ( kinetic_aephi, kinetic_psphi )
|
||||
|
||||
CALL simpson ( nrc, work, rab(:,nt), &
|
||||
CALL simpson ( nrc, work, rgrid(nt)%rab(:nrc), &
|
||||
radial_integral_rmc(il1,il2,nt) )
|
||||
if (iverbosity > 10) then
|
||||
write(stdout,*) "WWW2: ", l2, il1, il2, &
|
||||
|
@ -484,10 +484,10 @@ CONTAINS
|
|||
|
||||
ALLOCATE ( aephi_dvloc_dr ( nrc ), psphi_dvloc_dr ( nrc ) )
|
||||
|
||||
CALL radial_derivative ( r(:nrc,nt), &
|
||||
CALL radial_derivative ( rgrid(nt)%r(:nrc), &
|
||||
paw_recon(nt)%gipaw_ae_vloc(:nrc), &
|
||||
aephi_dvloc_dr(:nrc) )
|
||||
CALL radial_derivative ( r(:nrc,nt), &
|
||||
CALL radial_derivative ( rgrid(nt)%r(:nrc), &
|
||||
paw_recon(nt)%gipaw_ps_vloc(:nrc), &
|
||||
psphi_dvloc_dr ( :nrc ) )
|
||||
|
||||
|
@ -498,10 +498,10 @@ CONTAINS
|
|||
work(j) = ( paw_recon(nt)%aephi(il1)%psi(j) * aephi_dvloc_dr(j) &
|
||||
* paw_recon(nt)%aephi(il2)%psi(j) - paw_recon(nt)%psphi(il1)%psi(j) &
|
||||
* psphi_dvloc_dr(j) * paw_recon(nt)%psphi(il2)%psi(j) ) &
|
||||
* r(j,nt)
|
||||
* rgrid(nt)%r(j)
|
||||
end do
|
||||
|
||||
call simpson( nrc, work, rab(:,nt), &
|
||||
call simpson( nrc, work, rgrid(nt)%rab(:nrc), &
|
||||
radial_integral_diamagnetic_so(il1,il2,nt) )
|
||||
if (iverbosity > 10) then
|
||||
write(stdout,*) "WWW3: ", l2, il1, il2, &
|
||||
|
@ -515,18 +515,10 @@ CONTAINS
|
|||
work(j) = ( paw_recon(nt)%aephi(il1)%psi(j) * aephi_dvloc_dr(j) &
|
||||
* paw_recon(nt)%aephi(il2)%psi(j) - paw_recon(nt)%psphi(il1)%psi(j) &
|
||||
* psphi_dvloc_dr(j) * paw_recon(nt)%psphi(il2)%psi(j) ) &
|
||||
/ r(j,nt)
|
||||
/ rgrid(nt)%r(j)
|
||||
end do
|
||||
if (iverbosity > 10) then
|
||||
if ( l1 == 0 ) then
|
||||
do j = 1, nrc
|
||||
write(90,*) r(j,nt), work(j)*r(j,nt)**2
|
||||
end do
|
||||
write(90,*) ""
|
||||
end if
|
||||
end if
|
||||
|
||||
call simpson( nrc,work,rab(:,nt), &
|
||||
call simpson( nrc,work,rgrid(nt)%rab(:nrc), &
|
||||
radial_integral_paramagnetic_so(il1,il2,nt) )
|
||||
if (iverbosity > 10) then
|
||||
write(stdout,*) "WWW4: ", l2, il1, il2, &
|
||||
|
|
|
@ -49,7 +49,6 @@ efg.o : ../PW/buffers.o
|
|||
efg.o : ../PW/paw.o
|
||||
efg.o : ../PW/pwcom.o
|
||||
efg.o : gipaw_module.o
|
||||
g_tensor_crystal.o : ../Modules/atom.o
|
||||
g_tensor_crystal.o : ../Modules/cell_base.o
|
||||
g_tensor_crystal.o : ../Modules/io_files.o
|
||||
g_tensor_crystal.o : ../Modules/io_global.o
|
||||
|
@ -119,7 +118,6 @@ j_para.o : gipaw_module.o
|
|||
stop_code.o : ../Modules/kind.o
|
||||
stop_code.o : ../Modules/mp.o
|
||||
stop_code.o : ../Modules/parallel_include.o
|
||||
suscept_crystal.o : ../Modules/atom.o
|
||||
suscept_crystal.o : ../Modules/cell_base.o
|
||||
suscept_crystal.o : ../Modules/io_files.o
|
||||
suscept_crystal.o : ../Modules/io_global.o
|
||||
|
|
|
@ -386,7 +386,6 @@ CONTAINS
|
|||
!====================================================================
|
||||
SUBROUTINE diamagnetic_correction ( diamagnetic_tensor )
|
||||
|
||||
USE atom, ONLY : r, rab
|
||||
USE ions_base, ONLY : nat, ityp, ntyp => nsp
|
||||
USE gipaw_module, ONLY : radial_integral_diamagnetic
|
||||
|
||||
|
|
Loading…
Reference in New Issue