Skip to content
Snippets Groups Projects
Commit 59e951e7 authored by Rudolf Zeller's avatar Rudolf Zeller
Browse files

Major change of Chebyshev solver to improve stability and accuracy

parent 62138ffd
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
......@@ -267,7 +267,7 @@ implicit none
noco%theta_noco(i1),noco%phi_noco(i1),1, & !ipot=1 because potential has only one or two entries (spin polarized case)
!dims%lly, &
atomdata%potential%lmpot,atomdata%chebmesh_ptr%irmd_new, &
kkr(ila)%TmatN(:,:,ispin),params%soc)
kkr(ila)%TmatN(:,:,ispin),params%soc,params%enable_quad_prec)
call rotatematrix(kkr(ila)%TmatN(:,:,ispin),noco%theta_noco(i1),noco%phi_noco(i1),lmmaxd,0)
else
......@@ -537,7 +537,7 @@ implicit none
enddo ! iorbit
allocate(uTu_sum(lmmaxd_noco,lmmaxd_noco), uT(lmmaxd_noco,lmmaxd_noco))
! No symmtetrization is performed in case of a NOCO calculation
! No symmetrization is performed in case of a NOCO calculation
if (korbit == 0) then ! NOCO
!------------------------------------------------- SYMMETRISE TmatN
uTu_sum(:,:) = TmatN(:,:) ! copy, since the 1st entry is the unity operation, start loop from 2
......
......@@ -118,7 +118,7 @@ i npan_log 30
i npan_eq 30
### [NOCO] number of Chebychev points in panel
i ncheb 10
### [NOCO] factor between interval lengthss in logarithmic panel
### [NOCO] factor between interval lengths in logarithmic panel
d r_fac 2.0D0
### [NOCO] size of logarithmic panel
d r_log 0.1D0
......@@ -77,6 +77,7 @@ module InputParams_mod
integer :: ncheb
double precision :: r_fac
double precision :: r_log
logical :: enable_quad_prec
endtype ! InputParams
......@@ -628,6 +629,15 @@ integer function getValues(filename, self) result(ierror)
destroy_and_return
endif
ierror = getValue(cr, "enable_quad_prec", self%enable_quad_prec , def=.false.)
if (ierror == use_default) then
write(*,*) "WARNING: Bad/no value given for enable_quad_prec. Set enable_quad_prec to .false."
ierror = 0 ! ok, no error
elseif (ierror /= 0) then
write(*,*) "Bad/no value given for enable_quad_prec."
destroy_and_return
endif
write(*,*) "Finished reading information from input.conf"
destroy_and_return
#undef destroy_and_return
......
......@@ -91,7 +91,7 @@ use Warnings_mod, only: launch_warning
theta_noco,phi_noco,angle_fixed,moment_x,moment_y,moment_z,&
1, & ! ipot=1
den,espv,rho2ns,r2nef, gmatn(:,:,:,1), muorb, & ! just one spin component of gmatn needed
atomdata%potential%lpot,lmaxd,mesh%irmd,chebmesh%irmd_new,iemxd, params%soc)
atomdata%potential%lpot,lmaxd,mesh%irmd,chebmesh%irmd_new,iemxd, params%soc,params%enable_quad_prec)
! calculate correct orbital moment
do ispin=1,nspind
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment