Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] precision of complex variables

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] precision of complex variables


Chronological Thread 
  • From: "Deyu Lu" <dylu@ucdavis.edu>
  • To: Xavier Gonze <gonze@pcpm.ucl.ac.be>, forum@abinit.org
  • Subject: Re: [abinit-forum] precision of complex variables
  • Date: Sat, 12 Aug 2006 15:27:14 -0700 (PDT)


Dear Dr. Gonze:
Thank you for your response. I got similar answer from the forum.
Actually, I had fixed the double decision problem in all the GW and related
routines in my own copy based on version 5.1.2 followd with careful checks.
In my impression, the error caused by datatype is acceptable. If you need,
I can provide you a comparsion on results of GW tests between single
precision and double precision code in the future.
I would like to do some help to fix this bug in abinit, but my current
revsion is based on 5.1.2 and involves changes in more than 10 routines. So
simply sending Abinit my source codes may complicate things and won't do
much help. But I would highy appreciate a full double precision code in the
official release in the future.

Best
Deyu

> Dear Deyu Lu,
>
> In most of ABINIT, double precision is used for both real and complex
> data.
> Some part of GW subroutines use simple precision, but this is the
> exception...
>
> Regards,
> Xavier
>
> On 20 May 2006, at 02:42, dylu@ucdavis.edu wrote:
>
> > Hello, I've a question regarding the precision of complex
> > variables, such as
> > omega and epsilon in a GW calculation. I'm kind of confused by the
> > way they are handled. To be specific, in the routine to evaluate
> > plasmon pole parameters "cppm1par.F90", they are declared as single
> > precision:
> >
> > complex,intent(in) :: epsm1(npwvec,npwvec,nomega,nq),omega(nomega)
> >
> > Before being written into a SCR file, however, they are converted
> > to double precision in wrscr.F90
> >
> > complex,intent(in) :: epsm1(npwsigx,npwsigx,nomega),omega(nomega)
> > complex (kind(0.0d0)),allocatable :: epsm1d(:,:),omegad(:)
> > ......
> > omegad(:) = omega(:)
> > epsm1d(:,:) = epsm1(:,:,io)
> >
> > I'm wondering if complex data are treated as single precision in
> > the main codes of abinit. If it is the case, it would deteriorate
> > the GW results.
> >
> > Thanks
> > Deyu
> >
>



Archive powered by MHonArc 2.6.16.

Top of Page