help on Berry phase calculation
Posted: Sun Jun 14, 2009 7:52 am
Dear all,
I’m doing some Berry phase calculations on BaTiO3. I first tried for tetragonal 1*1*1 BaTiO3. Everything is fine and I got a spontaneous polarization around 27 uC/cm2, which is quite accurate. Then I tried to see how supercell size will affect the results, so I increased the cell size to 2*2*2. Again, everything is OK and I got a similar value of the spontaneous polarization. Then I tried 3*3*3 cell and something really strange happened and I really don’t understand why. So please help me on this.
Here is the problem. When I use the 3*3*3 cell, the program terminated unexpectedly. The final lines of OUTCAR are:
“Berry-Phase calculation of electronic polarization
IGPAR = 1 NPPSTR = 3�
And MPI gives the error message: “mpirun noticed that process rank 3 with PID 3876 on node node13 exited on signal 11 (Segmentation fault).�
I check main.F and I think there must be something wrong with call to BERRY subroutine (in elpol.F). To test if BERRY is called, I added a write line in BERRY which looks like this:
“ !======================================================================
! Setup k-mesh
!=======================================================================
write(IUNOUT,*)'NPPSTR',IGPAR,NPPSTR,KPOINTS%NKPTS
NSTR=KPOINTS%NKPTS/NPPSTR ! Number of points per string�
Then I recompiled and run the program and it seems that BERRY was not called at all since the line that I added was not written to the OUTCAR. However, if I comment out the NSTR line,
“ !=======================================================================
! Setup k-mesh
!=======================================================================
write(IUNOUT,*)'NPPSTR',IGPAR,NPPSTR,KPOINTS%NKPTS
! NSTR=KPOINTS%NKPTS/NPPSTR ! Number of points per string�
Then BERRY was called and I can see the write line was written to OUTCAR!
“ NPPSTR 1 3 9�
Of course the program terminated after that since NSTR is not defined. Seems that something wrong with NSTR! But I really don’t know the reason and had no idea how to fix it. I’ve been playing with this for days with no luck. So could anyone help me?
<span class='smallblacktext'>[ Edited ]</span>
I’m doing some Berry phase calculations on BaTiO3. I first tried for tetragonal 1*1*1 BaTiO3. Everything is fine and I got a spontaneous polarization around 27 uC/cm2, which is quite accurate. Then I tried to see how supercell size will affect the results, so I increased the cell size to 2*2*2. Again, everything is OK and I got a similar value of the spontaneous polarization. Then I tried 3*3*3 cell and something really strange happened and I really don’t understand why. So please help me on this.
Here is the problem. When I use the 3*3*3 cell, the program terminated unexpectedly. The final lines of OUTCAR are:
“Berry-Phase calculation of electronic polarization
IGPAR = 1 NPPSTR = 3�
And MPI gives the error message: “mpirun noticed that process rank 3 with PID 3876 on node node13 exited on signal 11 (Segmentation fault).�
I check main.F and I think there must be something wrong with call to BERRY subroutine (in elpol.F). To test if BERRY is called, I added a write line in BERRY which looks like this:
“ !======================================================================
! Setup k-mesh
!=======================================================================
write(IUNOUT,*)'NPPSTR',IGPAR,NPPSTR,KPOINTS%NKPTS
NSTR=KPOINTS%NKPTS/NPPSTR ! Number of points per string�
Then I recompiled and run the program and it seems that BERRY was not called at all since the line that I added was not written to the OUTCAR. However, if I comment out the NSTR line,
“ !=======================================================================
! Setup k-mesh
!=======================================================================
write(IUNOUT,*)'NPPSTR',IGPAR,NPPSTR,KPOINTS%NKPTS
! NSTR=KPOINTS%NKPTS/NPPSTR ! Number of points per string�
Then BERRY was called and I can see the write line was written to OUTCAR!
“ NPPSTR 1 3 9�
Of course the program terminated after that since NSTR is not defined. Seems that something wrong with NSTR! But I really don’t know the reason and had no idea how to fix it. I’ve been playing with this for days with no luck. So could anyone help me?
<span class='smallblacktext'>[ Edited ]</span>