adding more filtering options to PAW...EJB

This commit is contained in:
Eric Bylaska 2023-01-26 17:34:01 -08:00
parent 53aa88819d
commit fc68f23aaa
3 changed files with 34 additions and 4 deletions

View file

@ -5513,6 +5513,31 @@ c end if
return
end
* ***********************************
* * *
* * control_kbpp_filter_scale *
* * *
* ***********************************
real*8 function control_kbpp_filter_scale()
implicit none
#include "bafdecls.fh"
#include "btdb.fh"
* **** control_rtdb common block ****
integer rtdb
common / control_rtdb1 / rtdb
real*8 scal
scal = 1.0d0
if (.not.btdb_get(rtdb,'nwpw:kbpp_filter_scale',mt_dbl,1,scal))
> scal=1.0d0
control_kbpp_filter_scale = scal
return
end
* ***********************************
* * *

View file

@ -22,7 +22,7 @@
> comp_charge_matrix,comp_pot_matrix,
> nray,G_ray,vl_ray,vlpaw_ray,vnl_ray,
> tmp_ray,
> filter,
> filter,filter_scale,
> ierr)
implicit none
integer version
@ -67,6 +67,7 @@
double precision vnl_ray(nray,nbasis,2)
double precision tmp_ray(nray)
logical filter
double precision filter_scale
integer ierr
@ -509,8 +510,8 @@ c > f2,2,f4,log_amesh)
* **** filter the rays ****
if (filter) then
ecut = control_ecut()
wcut = control_wcut()
ecut = control_ecut()*filter_scale
wcut = control_wcut()*filter_scale
call kbpp_filter_ray(nray,G_ray,ecut,vl_ray)
call kbpp_filter_ray(nray,G_ray,ecut,vlpaw_ray)
do i=1,nbasis

View file

@ -62,6 +62,7 @@
integer vnl_ray_hndl,vl_ray_hndl,vlpaw_ray_hndl
integer G_ray_indx,tmp_ray_indx
integer vnl_ray_indx,vl_ray_indx,vlpaw_ray_indx
real*8 filter_scale
* **** other variables ****
@ -77,6 +78,8 @@
external log_integrate_def,log_coulomb0_energy,log_coulomb_energy
integer kbpp_calc_nray
external kbpp_calc_nray
real*8 control_kbpp_filter_scale
external control_kbpp_filter_scale
call Parallel_taskid(taskid)
@ -292,6 +295,7 @@
nfft3=ngrid(3)
call setup_kbpp(nfft1,nfft2,nfft3,unita,unitg,dbl_mb(G_indx))
filter = control_kbpp_filter()
filter_scale = control_kbpp_filter_scale()
!**** allocate memory for rays ****
nray = kbpp_calc_nray(nfft1,nfft2,nfft3,unita)
@ -351,7 +355,7 @@
> dbl_mb(vlpaw_ray_indx),
> dbl_mb(vnl_ray_indx),
> dbl_mb(tmp_ray_indx),
> filter,
> filter,filter_scale,
> ierr)
value = BA_free_heap(tmp_ray_hndl)
value = value.and.BA_free_heap(vl_ray_hndl)