Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] angdeg and rprim issue

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] angdeg and rprim issue


Chronological Thread 
  • From: Xavier Gonze <xavier.gonze@uclouvain.be>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] angdeg and rprim issue
  • Date: Mon, 4 Jan 2010 13:27:52 +0100

Dear Igor,

On 04 Jan 2010, at 13:11, ilukacevic@fizika.unios.hr wrote:

Dear prof. Gonze,

thank You for Your suggestion. Anaddb works with it.

If You don't mind, could You give me a deeper explanation why this happens? Is
it a thing with a mrgddb code, which could be changed within it?

anaddb was rather restrictive.
Actually, I just improved it. Could you try whether it works with the modification below
using your non-modified DDB ?

Best wishes,
X.

----------------------------------------------------------------
Modifications for src/98_main/anaddb.F90

(1) Declare
real(dp) :: factor

(2) Insert around line 282 (between the call to rdddb9 and the call to mkrdim) :

if(anaddb_dtset%brav/=1)then
! Renormalize rprim to possibly satisfy the constraint abs(rprim(1,2))=half when brav/=1
if(abs(rprim(1,2))<tol6)then
write(message, '(4a,i6,7a)' )ch10,&
& ' anaddb : ERROR -',ch10,&
& ' The input DDB value of brav is',anaddb_dtset%brav,',',ch10,&
& ' and the one of rprim(1,2) is zero.',ch10,&
& ' These are incompatible',ch10,&
& ' Action : check the value of brav and rprim(1,2) in your DDB.'
call wrtout(std_out,message,'COLL')
call leave_new('COLL')
endif
factor=abs(rprim(1,2))*two
acell(:)=acell(:)*factor
rprim(:,:)=rprim(:,:)/factor
endif


Recompile, and test ...



Thank You!

Igor Lukacevic




Archive powered by MHonArc 2.6.16.

Top of Page