The check on symmetry done in the various d_matrix routines is a little bit

too tight, leading to mysterious errors also in cases in which symmetry
creaking is marginal. I have increased the threshold from 1e-9 to 1e-8
This commit is contained in:
Paolo Giannozzi 2019-04-17 09:21:04 +02:00
parent bd0e3e3e69
commit c9f93d7a36
3 changed files with 5 additions and 5 deletions

View File

@ -35,7 +35,7 @@ SUBROUTINE d_matrix_nc (dy012, dy112, dy212, dy312)
! maxm = number of m components for l=maxl
! maxlm= number of l,m spherical harmonics for l <= maxl
!
REAL(DP), PARAMETER :: eps = 1.0d-9
REAL(DP), PARAMETER :: eps = 1.0d-8
!
! and the local variables
!

View File

@ -40,7 +40,7 @@ SUBROUTINE d_matrix_so (dyj12, dyj32, dyj52, dyj72)
! maxlm= number of l,m spherical harmonics for l <= maxl
! maxmj = number of mj components
!
REAL(DP), PARAMETER :: eps = 1.0d-9
REAL(DP), PARAMETER :: eps = 1.0d-8
!
! and the local variables
!

View File

@ -13,8 +13,8 @@ subroutine d_matrix (dy1, dy2, dy3)
USE symm_base, ONLY: nsym, sr
USE random_numbers, ONLY : randy
USE matrix_inversion
implicit none
real(DP) :: dy1 (3, 3, 48), dy2 (5, 5, 48), dy3 (7, 7, 48)
IMPLICIT NONE
REAL(DP), INTENT(OUT) :: dy1 (3, 3, 48), dy2 (5, 5, 48), dy3 (7, 7, 48)
!
integer, parameter :: maxl = 3, maxm = 2*maxl+1, &
maxlm = (maxl+1)*(maxl+1)
@ -25,7 +25,7 @@ subroutine d_matrix (dy1, dy2, dy3)
real(DP) :: ylm(maxm, maxlm), yl1 (3, 3), yl2(5, 5), yl3(7,7), &
yl1_inv (3, 3), yl2_inv(5, 5), yl3_inv(7, 7), ylms(maxm, maxlm), &
rl(3,maxm), rrl (maxm), srl(3,maxm), delta(7,7), capel
real(DP), parameter :: eps = 1.0d-9
real(DP), parameter :: eps = 1.0d-8
real(DP), external :: ddot
!
! randomly distributed points on a sphere