Page 1 of 1

Gamma Point Calculation

Posted: Wed May 07, 2014 2:05 pm
by martinspenke
Dear Daniele,

i am trying to run a gw calculation for an isolated molecule in a box for only gamma point (0,0,0)
but unfortunately it seems that yambo needs at least 3 K-points to let the gw calculation run !!!
The problem is when i use a (3 1 1) K-grid in QE the grid is not any more uniform and i again have trouble with yambo that does only like an uniform K-grid .

Is there now any way to run a simple GW calculation on real axis for an isolated molecule in a box for only GAMMA-POINT ???
I am using the 3.4.1 version.
Bests
Martin

Re: Gamma Point Calculation

Posted: Wed May 07, 2014 3:01 pm
by Daniele Varsano
Dear martin
Yambo need uniform grids and gamma only it is considered as uniform. What is the problem you encounter when using just 1 kpoint? Try to use standard scf and nscf inputs of qe with just 1 1 1 k grid.
Daniele

Re: Gamma Point Calculation

Posted: Wed May 07, 2014 3:22 pm
by martinspenke
Dear Daniele,

i know what you are saying, the problem is i get the following error for one k-point :

Code: Select all

At line 161 of file io_elemental.f90 (unit = 42, file = 'fort.42')
Fortran runtime error: End of file
At line 161 of file io_elemental.f90 (unit = 42, file = 'fort.42')
Fortran runtime error: End of file
--------------------------------------------------------------------------
mpirun has exited due to process rank 3 with PID 4717 on
node luca exiting without calling "finalize". This may
have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
--------------------------------------------------------------------------
But when i have a 2 2 2 grid in QE every thing works perfectly but not for a 1 1 1 grid !!!
Bests
Martin

Re: Gamma Point Calculation

Posted: Wed May 07, 2014 3:46 pm
by Daniele Varsano
Dear martin,
That look quite strange. We will have a look when possibile. Now we are all busy for a yambo school. In the meanwhile could you post your input and report files and the outcome of yambo -D
Thanks,
Best
Daniele

Re: Gamma Point Calculation

Posted: Wed May 07, 2014 3:57 pm
by martinspenke
Dear Daniele,

attached is all you need. If you need more info, let me please know.

These are the inputs and outputs of a gw calculation first for silicon at gamma point.
As i said for one k point regardless of whether it is molecule or solid, it does not work.

Bests
Martin

Re: Gamma Point Calculation

Posted: Wed May 07, 2014 3:59 pm
by Daniele Varsano
Dear Martin,
Many thanks,
Probably we will need to reproduce your error, so please post also your quantum espresso input and we will look into it as soon we can.
Thanks,
Daniele

Re: Gamma Point Calculation

Posted: Wed May 07, 2014 4:02 pm
by martinspenke
Dear Daniele,

i posted quantum espresso input in Inputs.tar.gz, too.

Bests
Martin

Re: Gamma Point Calculation

Posted: Sat May 10, 2014 1:34 pm
by Davide Sangalli
Dear Martin,
I've just released a bug-fix in the svn repository.

Try to run svn up, compile yambo (make yambo) and then redo the calculation.

If instead you downloaded the tar from the qe-forge website you should modify the file QP_secant.F as following:
(replace the lines with a minus with the lines with a plus)

@@ -57,7 +57,7 @@
use QP_m, ONLY:QP_t,QP_Vxc,QP_Vnl_xc,QP_Sc,QP_n_W_freqs,QP_W,QP_n_states,&
& QP_solver_state,QP_dSc_steps,QP_dSc,&
& QP_W_dr,QP_W_er,QP_dSc_delta,QP_W_partially_done
- use IO_m, ONLY:io_control,NONE,RD,RD_CL,OP_RD
+ use IO_m, ONLY:io_control,NONE,RD,RD_CL,OP_RD,OP_RD_CL
use stderr, ONLY:intc
use com, ONLY:warning
!
@@ -217,9 +217,10 @@
QP_Sc=(0._SP,0._SP)
do iqbz=1,q%nbz
!
- if (iqbz==1) call io_control(ACTION=OP_RD,COM=NONE,SEC=(/1,2,3/),ID=ID)
- if (iqbz> 1.and.iqbz<q%nbz) call io_control(ACTION=RD,COM=NONE,SEC=(/2+iqbz/),ID=ID)
- if (iqbz==q%nbz) call io_control(ACTION=RD_CL,COM=NONE,SEC=(/2+iqbz/),ID=ID)
+ if (iqbz==1.and.iqbz<q%nbz) call io_control(ACTION=OP_RD,COM=NONE,SEC=(/1,2,3/),ID=ID)
+ if (iqbz> 1.and.iqbz<q%nbz) call io_control(ACTION=RD,COM=NONE,SEC=(/2+iqbz/),ID=ID)
+ if (iqbz> 1.and.iqbz==q%nbz) call io_control(ACTION=RD_CL,COM=NONE,SEC=(/2+iqbz/),ID=ID)
+ if (iqbz==1.and.iqbz==q%nbz) call io_control(ACTION=OP_RD_CL,COM=NONE,SEC=(/1,2,3/),ID=ID)
io_err=ioQP('W',qp,ID)
!
Xw%er=QP_W_er

Best regards,
Davide