Implementation of the new code hp.x to compute Hubbard U from DFPT.

Iurii Timrov, Nicola Marzari, and Matteo Cococcioni,
Phys. Rev. B 98, 085127 (2018); arXiv:1805.01805
This commit is contained in:
Iurii Timrov 2018-08-29 14:18:10 +02:00
parent 912e8d8a31
commit 0bc76d8100
167 changed files with 56686 additions and 256 deletions

View File

@ -1,4 +1,7 @@
New in development version:
* New code hp.x to compute Hubbard parameters using density-functional
perturbation theory (Iurii Timrov, Nicola Marzari, and Matteo Cococcioni,
Phys. Rev. B 98, 085127 (2018); arXiv:1805.01805)
* XDM now works also for USPP and norm-conserving PP
Problems fixed in development version:

View File

@ -323,7 +323,7 @@
DO iq_irr = 1, nqc_irr
xq = xqc_irr(:,iq_irr)
CALL set_small_group_of_q(nsymq,invsymq,minus_q)
CALL sgam_ph_new (at, bg, nsym, s, irt, tau, rtau, nat)
CALL sgam_lr (at, bg, nsym, s, irt, tau, rtau, nat)
CALL set_giq (xq,s,nsymq,nsym,irotmq,minus_q,gi,gimq)
ENDDO
ENDIF ! epwread .and. .not. epbread
@ -395,7 +395,7 @@
IF(minus_q) WRITE(stdout, '(10x,a)') "in addition sym. q -> -q+G:"
!
! Finally this does some of the above again and also computes rtau...
CALL sgam_ph_new(at, bg, nsym, s, irt, tau, rtau, nat)
CALL sgam_lr(at, bg, nsym, s, irt, tau, rtau, nat)
!
! ######################### star of q #########################
!
@ -420,7 +420,7 @@
sym (isym) = .true.
ENDDO
!
CALL sgam_ph_new (at, bg, nsym, s, irt, tau, rtau, nat)
CALL sgam_lr (at, bg, nsym, s, irt, tau, rtau, nat)
!
IF ( .not. allocated(sumr) ) allocate ( sumr(2,3,nat,3) )
IF (meta_ionode) THEN

View File

@ -319,7 +319,7 @@
! allocate and calculate rtau, the bravais lattice vector associated
! to a rotation
!
call sgam_ph_new (at, bg, nsym, s, irt, tau, rtau, nat)
call sgam_lr (at, bg, nsym, s, irt, tau, rtau, nat)
!
! and calculate the vectors G associated to the symmetry Sq = q + G
! if minus_q is true calculate also irotmq and the G associated to Sq=-g+G

267
HP/Doc/INPUT_HP.def Normal file
View File

@ -0,0 +1,267 @@
input_description -distribution {Quantum Espresso} -package PWscf -program hp.x {
toc {}
intro {
@b {Input data format:} { } = optional, [ ] = it depends, # = comment
@b {Structure of the input data:}
===============================================================================
@b &INPUTHP
...
@b /
}
namelist INPUTHP {
var prefix -type CHARACTER {
default { 'pwscf' }
info {
Prepended to input/output filenames; must be the same
used in the calculation of unperturbed system.
}
}
var outdir -type CHARACTER {
default {
value of the @tt ESPRESSO_TMPDIR environment variable if set;
@br current directory ('./') otherwise
}
info {
Directory containing input, output, and scratch files;
must be the same as specified in the calculation of
the unperturbed system.
}
}
var iverbosity -type INTEGER {
default { 1 }
info {
= 1 : minimal output
= 2 : as above + symmetry matrices, final response matrices chi0 and chi1
and their inverse matrices, full U matrix
= 3 : as above + various detailed info about the NSCF calculation at k and k+q
= 4 : as above + response occupation matrices at every iteration and for
every q point in the star
}
}
vargroup -type INTEGER {
var nq1
var nq2
var nq3
default { 1,1,1 }
info {
Parameters of the Monkhorst-Pack grid (no offset).
Same meaning as for nk1, nk2, nk3 in the input of pw.x.
}
}
var start_q -type INTEGER {
default { 1 }
see { last_q, sum_pertq }
info {
Computes only the q points from start_q to last_q.
IMPORTANT: start_q must be <= nqs (number of q points found)
}
}
var last_q -type INTEGER {
default { number of q points }
see { start_q, sum_pertq }
info {
Computes only the q points from start_q to last_q.
IMPORTANT: last_q must be <= number of q points
}
}
var sum_pertq -type LOGICAL {
default { .false. }
see { start_q, last_q, perturb_only_atom }
info {
If it is set to .true. then the code will collect the
pieces of the response occupation matrices for all q points.
This variable should be used only when start_q, last_q and
perturb_only_atom are used.
}
}
var skip_equivalence_q -type LOGICAL {
default { .false. }
info {
If .true. then the code will skip the equivalence
analysis of q points, and thus the full grid of q points
will be used. Otherwise the symmetry is used to determine
equivalent q points (star of q), and then perform
calculations only for inequivalent q points.
}
}
var at_equiv_criterium -type INTEGER {
default { 1 }
info {
Method of searching for atoms to be perturbed.
1 = Find how many inequivalent Hubbard atoms there are
by analyzing the unperturbed occupations.
2 = Find how many different types of Hubbard atoms there
are (no use of symmetry). Warning: atoms which
have the same type but which are inequivalent
by symmetry will not be distinguished in this case
(use option 1 instead).
3 = Find how many inequivalent Hubbard atoms
there are using symmetry. Atoms which have the
same type but are not equivalent by symmetry will
be distinguished in this case.
}
}
var docc_thr -type REAL {
default { 5.D-5 }
info {
Threshold for the comparison of the unperturbed occupations
which is needed for the selection of atoms which must be perturbed.
Can be used only with at_equiv_criterium=1.
}
}
var conv_thr_chi -type REAL {
default { 1.D-5 }
info {
Convergence threshold for the response function chi,
which is defined as a trace of the response occupation
matrix dns.
}
}
var thresh_init -type REAL {
default { 1.D-14 }
info {
Initial threshold for the solution of the linear system
(first iteration). Needed to converge the bare
(non-interacting) response function chi0. The specified
value will be multiplied by the number of electrons in
the system.
}
}
var ethr_nscf -type REAL {
default { 1.D-11 }
info {
Threshold for the convergence of eigenvalues during the
iterative diagonalization of the Hamiltonian in the
non-self-consistent-field (NSCF) calculation at k and k+q points.
Note, this quantity is NOT extensive.
}
}
var niter_max -type INTEGER {
default { 100 }
info {
Maximum number of iterations in the iterative
solution of the linear-response Kohn-Sham equations.
}
}
var alpha_mix(i) -type REAL {
default { alpha_mix(1)=0.3 }
info {
Mixing parameter (for the i-th iteration) for updating
the response SCF potential using the modified Broyden method
D.D. Johnson, PRB 38, 12807 (1988).
}
}
var nmix -type INTEGER {
default { 4 }
info {
Number of iterations used in potential mixing
using the modified Broyden method
D.D. Johnson, PRB 38, 12807 (1988).
}
}
var background -type CHARACTER {
default { 'no' }
info {
Background for the post-processing calculation of U.
'no' = no background
'neutral' = neutralizing background
}
}
var postproc_only -type LOGICAL {
default { .false. }
info {
If .true. perform only a post-processing calculation of U
(it is meaningfull only when chi0 and chi were already computed).
}
}
var skip_type -type LOGICAL {
default { .false. }
info {
skip_type(i), where i runs over types of atoms.
If skip_type(i)=.true. then no linear-response calculation
will be performed for the i-th atomic type: in this case
merge_type(i) must be specified, otherwise the code will stop.
This option is useful if your system has atoms of the same
type but opposite spin pollarizations (anti-ferromagnetic case).
This keyword cannot be used when at_equiv_criterium=1.
}
}
var merge_type -type INTEGER {
default { 0 }
info {
merge_type(i), where i runs over types of atoms.
merge_type(i)=j, will merge type i to type j (useful when nspin=2).
Such a merging of types is done only at the post-processing stage.
This keyword cannot be used when at_equiv_criterium=1.
}
}
var perturb_only_atom -type LOGICAL {
default { .false. }
see { collect_chi }
info {
If perturb_only_atom(i)=.true. then only the i-th perturbed atom
will be considered in the run. This variable is useful when
one wants to split the whole calculation on parts, due to
the high computational cost.
Note: this variable has a higher priority than skip_atom and
skip_type.
}
}
var collect_chi -type LOGICAL {
default { .false. }
see { perturb_only_atom }
info {
If it is set to .true. then the code will collect the
pieces of the chi0 and chi1 matrices, which must have been
produced in previous runs. The code will look for files
tmp_dir/HP/prefix.chi.i.dat. Note that all files prefix.chi.i.dat
(where i runs over all perturbed atoms) must be placed in one
folder tmp_dir/HP/. See also the variable perturb_only_atom.
}
}
var determine_num_pert_only -type LOGICAL {
default { .false. }
info {
If .true. determines number of perturbations (i.e. which
atoms will be perturbed) and exits smoothly.
}
}
var max_seconds -type REAL {
default { 1.d7 }
info {
Maximum allowed run time before the job stops smoothly.
}
}
}
}

32
HP/Doc/Makefile Normal file
View File

@ -0,0 +1,32 @@
VERSION = svn
HELPDOC = ../../dev-tools/helpdoc -version $(VERSION)
doc: all
all: defs
clean:
- rm -f INPUT_*.html INPUT_*.txt INPUT_*.xml
- rm -rf input_xx.xsl
- rm -rf ../../Doc/INPUT_HP.*
defs: input_xx.xsl INPUT_HP.txt link_on_main_doc
input_xx.xsl:
@(if test ! -f input_xx.xsl; then \
(if test -f ../../dev-tools/input_xx.xsl; then \
(ln -sf ../../dev-tools/input_xx.xsl input_xx.xsl) ; \
else \
echo ; \
echo " Sorry, can not find input_xx.xsl html style file !!!" ; \
echo ; exit 1 ; \
fi) ; fi)
INPUT_HP.html: %.html: %.def input_xx.xsl
$(HELPDOC) $<
INPUT_HP.txt: %.txt: %.def input_xx.xsl
$(HELPDOC) $<
link_on_main_doc:
-( cd ../../Doc ; ln -fs ../HP/Doc/INPUT_HP.html . ; \
ln -fs ../HP/Doc/INPUT_HP.xml . ; \
ln -fs ../HP/Doc/INPUT_HP.txt . )

9
HP/Doc/README Normal file
View File

@ -0,0 +1,9 @@
The calculation of Hubbard parameters using hp.x is based
on density-functional perturbation theory (DFPT):
I. Timrov, N. Marzari and M. Cococcioni,
"Hubbard parameters from density-functional perturbation theory",
Phys. Rev. B 98, 085127 (2018); arXiv:1805.01805
The DFPT approach (as the linear-response cDFT) approach
has a limitation: it is applicable only to open-shell systems.
For more details see K. Yu and E.A. Carter, J. Chem. Phys. 140, 121105 (2014)

31
HP/Makefile Normal file
View File

@ -0,0 +1,31 @@
# Makefile for HP
sinclude ../make.inc
default: all
all: hp
hp:
( cd src ; $(MAKE) all || exit 1 )
hp-lib:
( cd src ; $(MAKE) libs-hp || exit 1 )
clean: hp_clean
hp_clean:
( cd src ; $(MAKE) clean )
examples_clean:
if test -d examples ; then \
( cd examples ; ./clean_all ) ; fi
doc:
if test -d Doc ; then \
( cd Doc ; $(MAKE) all || exit 1 ) ; fi
doc_clean:
if test -d Doc ; then \
(cd Doc ; $(MAKE) clean ) ; fi
distclean: clean doc_clean

113
HP/examples/README Normal file
View File

@ -0,0 +1,113 @@
These are instructions on how to run the examples for HP package.
To run the examples, you should follow this procedure:
1) Edit the "environment_variables" file from the main
ESPRESSO directory, setting the following variables as needed:
BIN_DIR = directory where ESPRESSO executables reside
PSEUDO_DIR = directory where pseudopotential files reside
TMP_DIR = directory to be used as temporary storage area
2) If you want to test the parallel version of ESPRESSO, you will
usually have to specify a driver program (such as "poe" or "mpirun")
and the number of processors. This can be done by editing PARA_PREFIX
and PARA_POSTFIX variables (in the "environment_variables" file).
Parallel executables will be run by a command like this:
$PARA_PREFIX hp.x $PARA_POSTFIX < file.in > file.out
For example, if the command line is like this:
mpirun -np 8 hp.x -npool 4 < file.in > file.out
you should set PARA_PREFIX="mpirun -np 8", PARA_POSTFIX="-npool 4".
See section "Running on parallel machines" of the user guide for details.
Furthermore, if your machine does not support interactive use, you
must run the commands specified below through the batch queueing
system installed on that machine. Ask your system administrator
for instructions.
3) To run a single example, go to the corresponding directory (for
instance, "example/example01") and execute:
./run_example
This will create a subdirectory "results", containing the input and
output files generated by the calculation.
4) In each example's directory, the "reference" subdirectory contains
verified output files, that you can check your results against.
The reference results were generated on a Linux PC with Intel compiler.
On different architectures the precise numbers could be slightly
different, in particular if different FFT dimensions are
automatically selected. For this reason, a plain "diff" of your
results against the reference data doesn't work, or at least, it
requires human inspection of the results.
-----------------------------------------------------------------------
Note : In the PWscf input in the ATOMIC_POSITIONS card you must first
specify atoms which have Hubbard_U \= 0, and then all other atoms
which have Hubbard_U = 0. Otherwise the HP code will stop.
LIST AND CONTENT OF THE EXAMPLES
example01:
This example shows how to calculate the Hubbard U parameter
for Co in LiCoO2 (nonmagnetic insulator) starting from the
GGA ground state.
example02:
This example shows how to calculate the Hubbard U parameter
for Ni in NiO (antiferromagnetic insulator) starting from
the GGA-sigma ground state. See also the README file inside
of this example.
example03:
This example shows how to calculate the Hubbard U parameter
for Cr in CrI3 (ferromagnetic insulator) starting from
the GGA-sigma ground state. See also the README file inside
of example03.
example04:
This example shows how to calculate the Hubbard U parameter
for Ni (ferromagnetic metal) starting from the GGA-sigma
ground state.
example05:
This example shows how to calculate the Hubbard U parameter
for Co in LiCoO2 (non-magnetic insulator) starting from the
GGA+U ground state, where U has a finite value.
example06:
This example shows how to calculate Hubbard U parameters
for Co and O in LiCoO2 (non-magnetic insulator) starting
from the GGA ground state, and by splitting the whole
calculation on 4 parts:
1) The PWscf self-consistent calculation;
2) The linear-response calculation with a perturbation of Co;
3) The linear-response calculation with a perturbation of one O;
4) The final collection of the results (chi0 and chi1) and
the postprocessing calculation of U.
example07:
This example shows how to calculate Hubbard U parameters
for Co and O in LiCoO2 (non-magnetic insulator) starting
from the GGA ground state, and by splitting the whole
calculation even more than in example07. Namely, the calculation
for a specific perturbation can be split on different groups
of q points using the keywords start_q and last_q.
example08:
This example shows how to calculate the Hubbard U parameter
for Ni in NiO2 (2D system, non-magnetic insulator) starting
from the GGA ground state and using a non-uniform q-mesh.
example09:
This example shows how to calculate the Hubbard U parameter
for Co in CoO2 (2D system, magnetic metal) starting
from the GGA ground state and using a non-uniform q-mesh.

3
HP/examples/clean_all Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
\rm -rf */results* >& /dev/null

View File

@ -0,0 +1,60 @@
# environment_variables -- settings for running Quantum ESPRESSO examples
######## YOU MUST EDIT THIS FILE TO MATCH YOUR CONFIGURATION ########
# BIN_DIR = path of compiled executables
# Usually this is $TOPDIR/bin, where $TOPDIR is the root of the
# Quantum ESPRESSO source tree.
# PSEUDO_DIR = path of pseudopotentials required by the examples
# If you have downloaded the full distribution, they should already
# be in $TOPDIR/pseudo; otherwise you may download them from:
# 1. www.quantum-espresso.org/pseudopotentials/
# 2. http://qe-forge.org/gf/project/pslibrary/
# 3. http://theossrv1.epfl.ch/Main/Pseudopotentials
# 4. other websites
# TMP_DIR = temporary directory to be used by the examples
# Make sure that it exists, is writable by you, and doesn't
# contain any valuable data (everything there will be destroyed!).
# The following should be good in many cases
PREFIX=`cd ../../.. ; pwd`
BIN_DIR=$PREFIX/bin
PSEUDO_DIR=$PREFIX/HP/examples/pseudo
# Beware: everything in $TMP_DIR will be destroyed !
TMP_DIR=$PREFIX/HP/examples/tmp
# To run the ESPRESSO programs on a parallel machine, you may have to
# add the appropriate commands (poe, mpirun, mpprun...) and/or options
# (specifying number of processors, pools...) before and after the
# executable's name. That depends on how your machine is configured.
# For example on an IBM SP4:
#
# poe pw.x -procs 4 < file.in > file.out
# ^^^ PARA_PREFIX ^^^^^^^^ PARA_POSTFIX
#
# To run on a single processor, you can usually leave them empty.
# BEWARE: most tests and examples are devised to be run serially or on
# a small number of processors; do not use tests and examples to benchmark
# parallelism, do not run on too many processors
#PARA_PREFIX="mpirun -np 8"
PARA_PREFIX=" "
PARA_POSTFIX=" "
#
# available flags for hp.x:
# -nk n number of pools (or -npool, -npools)
# -nt n number of task groups (or -ntg, -ntask_groups)
#
# function to test the exit status of a job
check_failure () {
# usage: check_failure $?
if test $1 != 0
then
$ECHO "Error condition encountered during test: exit status = $1"
$ECHO "Aborting"
exit 1
fi
}

View File

@ -0,0 +1,100 @@
=-------------------------------------------------------------------=
Hubbard U parameters:
site n. type label spin new_type new_label Hubbard U (eV)
1 1 Co 1 1 Co 8.1653
=-------------------------------------------------------------------=
chi0 matrix :
-0.480672 0.000740 0.000740 0.071274 0.000740 0.071274 0.071274 0.000055
0.000740 -0.480672 0.071274 0.000740 0.071274 0.000740 0.000055 0.071274
0.000740 0.071274 -0.480672 0.000740 0.071274 0.000055 0.000740 0.071274
0.071274 0.000740 0.000740 -0.480672 0.000055 0.071274 0.071274 0.000740
0.000740 0.071274 0.071274 0.000055 -0.480672 0.000740 0.000740 0.071274
0.071274 0.000740 0.000055 0.071274 0.000740 -0.480672 0.071274 0.000740
0.071274 0.000055 0.000740 0.071274 0.000740 0.071274 -0.480672 0.000740
0.000055 0.071274 0.071274 0.000740 0.071274 0.000740 0.000740 -0.480672
chi matrix :
-0.096170 0.000063 0.000063 0.004112 0.000063 0.004112 0.004112 -0.000002
0.000063 -0.096170 0.004112 0.000063 0.004112 0.000063 -0.000002 0.004112
0.000063 0.004112 -0.096170 0.000063 0.004112 -0.000002 0.000063 0.004112
0.004112 0.000063 0.000063 -0.096170 -0.000002 0.004112 0.004112 0.000063
0.000063 0.004112 0.004112 -0.000002 -0.096170 0.000063 0.000063 0.004112
0.004112 0.000063 -0.000002 0.004112 0.000063 -0.096170 0.004112 0.000063
0.004112 -0.000002 0.000063 0.004112 0.000063 0.004112 -0.096170 0.000063
-0.000002 0.004112 0.004112 0.000063 0.004112 0.000063 0.000063 -0.096170
chi0^{-1} matrix :
-2.295755 -0.008554 -0.008554 -0.483979 -0.008554 -0.483979 -0.483979 -0.006303
-0.008554 -2.295755 -0.483979 -0.008554 -0.483979 -0.008554 -0.006303 -0.483979
-0.008554 -0.483979 -2.295755 -0.008554 -0.483979 -0.006303 -0.008554 -0.483979
-0.483979 -0.008554 -0.008554 -2.295755 -0.006303 -0.483979 -0.483979 -0.008554
-0.008554 -0.483979 -0.483979 -0.006303 -2.295755 -0.008554 -0.008554 -0.483979
-0.483979 -0.008554 -0.006303 -0.483979 -0.008554 -2.295755 -0.483979 -0.008554
-0.483979 -0.006303 -0.008554 -0.483979 -0.008554 -0.483979 -2.295755 -0.008554
-0.006303 -0.483979 -0.483979 -0.008554 -0.483979 -0.008554 -0.008554 -2.295755
chi^{-1} matrix :
-10.461016 -0.008208 -0.008208 -0.489161 -0.008208 -0.489161 -0.489161 -0.001815
-0.008208 -10.461016 -0.489161 -0.008208 -0.489161 -0.008208 -0.001815 -0.489161
-0.008208 -0.489161 -10.461016 -0.008208 -0.489161 -0.001815 -0.008208 -0.489161
-0.489161 -0.008208 -0.008208 -10.461016 -0.001815 -0.489161 -0.489161 -0.008208
-0.008208 -0.489161 -0.489161 -0.001815 -10.461016 -0.008208 -0.008208 -0.489161
-0.489161 -0.008208 -0.001815 -0.489161 -0.008208 -10.461016 -0.489161 -0.008208
-0.489161 -0.001815 -0.008208 -0.489161 -0.008208 -0.489161 -10.461016 -0.008208
-0.001815 -0.489161 -0.489161 -0.008208 -0.489161 -0.008208 -0.008208 -10.461016
Hubbard matrix :
8.165261 -0.000345 -0.000345 0.005181 -0.000345 0.005181 0.005181 -0.004489
-0.000345 8.165261 0.005181 -0.000345 0.005181 -0.000345 -0.004489 0.005181
-0.000345 0.005181 8.165261 -0.000345 0.005181 -0.004489 -0.000345 0.005181
0.005181 -0.000345 -0.000345 8.165261 -0.004489 0.005181 0.005181 -0.000345
-0.000345 0.005181 0.005181 -0.004489 8.165261 -0.000345 -0.000345 0.005181
0.005181 -0.000345 -0.004489 0.005181 -0.000345 8.165261 0.005181 -0.000345
0.005181 -0.004489 -0.000345 0.005181 -0.000345 0.005181 8.165261 -0.000345
-0.004489 0.005181 0.005181 -0.000345 0.005181 -0.000345 -0.000345 8.165261

View File

@ -0,0 +1,7 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,36 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='LiCoO2'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 5,
celldm(1) = 9.3705,
celldm(4) = 0.83874,
nat = 4,
ntyp = 3,
ecutwfc = 50.0
ecutrho = 400.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Co 59.0 co_pbesol_v1.2.uspp.F.UPF
O 16.0 O.pbesol-n-kjpaw_psl.0.1.UPF
Li 7.0 li_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Co 0.0000000000 0.0000000000 0.0000000000
O 0.2604885000 0.2604885000 0.2604885000
O 0.7395115000 0.7395115000 0.7395115000
Li 0.5000000000 0.5000000000 0.5000000000
K_POINTS {automatic}
2 2 2 0 0 0

File diff suppressed because it is too large Load Diff

132
HP/examples/example01/run_example Executable file
View File

@ -0,0 +1,132 @@
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=`pwd`
# check whether ECHO has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi
$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and hp.x to calculate"
$ECHO "the Hubbard U parameters for Co in LiCoO2."
# set the needed environment variables
. ../environment_variables
# required executables and pseudopotentials
BIN_LIST="pw.x hp.x"
PSEUDO_LIST="co_pbesol_v1.2.uspp.F.UPF O.pbesol-n-kjpaw_psl.0.1.UPF li_pbesol_v1.4.uspp.F.UPF"
$ECHO
$ECHO " executables directory: $BIN_DIR"
$ECHO " pseudo directory: $PSEUDO_DIR"
$ECHO " temporary directory: $TMP_DIR"
$ECHO
$ECHO " checking that needed directories and files exist...\c"
$ECHO
$ECHO " Pseudopotentials were selected from the SSSP library:"
$ECHO " https://www.materialscloud.org/discover/sssp/table/precision\c"
$ECHO
# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
if test ! -d $DIR ; then
$ECHO
$ECHO "ERROR: $DIR not existent or not a directory"
$ECHO "Aborting"
exit 1
fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
if test ! -d $DIR ; then
mkdir $DIR
fi
done
cd $EXAMPLE_DIR/results
# check for executables
for FILE in $BIN_LIST ; do
if test ! -x $BIN_DIR/$FILE ; then
$ECHO
$ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
$ECHO "Aborting"
exit 1
fi
done
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
HP_COMMAND="$PARA_PREFIX $BIN_DIR/hp.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO " running hp.x as: $HP_COMMAND"
$ECHO
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"
PREFIX='LiCoO2'
# self-consistent calculation
cat > $PREFIX.scf.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 5,
celldm(1) = 9.3705,
celldm(4) = 0.83874,
nat = 4,
ntyp = 3,
ecutwfc = 50.0
ecutrho = 400.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Co 59.0 co_pbesol_v1.2.uspp.F.UPF
O 16.0 O.pbesol-n-kjpaw_psl.0.1.UPF
Li 7.0 li_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Co 0.0000000000 0.0000000000 0.0000000000
O 0.2604885000 0.2604885000 0.2604885000
O 0.7395115000 0.7395115000 0.7395115000
Li 0.5000000000 0.5000000000 0.5000000000
K_POINTS {automatic}
2 2 2 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf.in |tee $PREFIX.scf.out
$ECHO " done"
# Perform the linear-response calculation
cat > $PREFIX.hp.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.in |tee $PREFIX.hp.out
$ECHO " done"

View File

@ -0,0 +1,50 @@
In order to compute U for magnetic insulators one needs to follow
special procedure. Since we do not know a priori the magnetization
of the system, we perform a calculation with a finite
starting_magnetization (in the range from -1 to +1) which requires
to treat the system of interest as a metal (i.e. to use a smearing).
However, using the smearing can create problems in the linear-response
calculation of U, because in DFPT for metals at q=0 there is a metallic
correction which is proportional to the inverse of the DOS at the Fermi
level [see Eq.(79) in Rev. Mod. Phys. 73, 515 (2001)]. Therefore, if we
treat the system as a fake metal, then the DOS at the Fermi level might
be extremely small, which would lead to extremely large shift of the
Fermi energy and as a consequence to the numerical divergence of the
DFPT calculation. The solution to this problem is the following:
1. Perform a SCF calculation by treating the system as a fake magnetic
metal. Namely, specify occupations = 'smearing' and set up some very
small broadening parameter, and set up nspin=2 and starting_magnetization.
Moreover, use the convergence threshold conv_thr not too small, because
otherwise there might be problems to converge the SCF calculation in
the next step.
2. Perform a SCF calculation by treating the system as a magnetic insulator
using the total magnetization obtained in the previous step. Extract from
the previous calculation the total magnetization and the number of bands
(Kohn-Sham states) and use them in this SCF calculation by using the
keywords tot_magnetization and nbnd, respectively. Some details:
- set up the occupations to be fixed (this is the default in QE), namely
occupations = 'fixed';
- use nspin=2 and tot_magnetization, where the total magnetization must
be extracted from the previous step. The setup of tot_magnetization
is needed in order to let the code specify correctly the occupations
for spin up and spin down electrons (without specifying
tot_magnetization the code will set the number of spin up and spin down
electrons to be equal, which is wrong for ferromagnetic insulators);
- set up the number of bands (nbnd) equal to the number of bands in the
previous run [without specifying nbnd in this calculation, the code will
set it to be equal to half the number of electrons, while in the
previous (metallic) calculation the number of bands was determined as
half of the number of electrons plus 20% - this mismatch would lead
to numerical problems];
- in order to save CPU time in the current SCF calculation it is
recommended to start from the wavefunctions and the potential obtained
in the previous step. To do so specify in the input startingpot='file'
and startingwfc='file'. If you ignore this and try to start the SCF
calculation from scratch, it may happen that the code will not converge
at all (because it would be hard for it to find the ground state and
the correct magnetization starting just from the condition of the
constrained magnetization).
3. Perform the linear-response calculation of U using the HP code.

View File

@ -0,0 +1,261 @@
=-------------------------------------------------------------------=
Hubbard U parameters:
site n. type label spin new_type new_label Hubbard U (eV)
1 1 Ni1 1 1 Ni1 8.1274
2 2 Ni2 -1 1 Ni1 8.1274
=-------------------------------------------------------------------=
chi0 matrix :
-0.400612 0.001789 0.000826 0.053959 0.000826 0.001789 0.026924 0.001789
0.000826 0.001789 0.026924 0.001789 0.026924 0.053959 0.055037 0.001789
0.001789 -0.400612 0.053959 0.000826 0.001789 0.000826 0.001789 0.026924
0.001789 0.000826 0.001789 0.026924 0.053959 0.026924 0.001789 0.055037
0.000826 0.053959 -0.400612 0.001789 0.026924 0.001789 0.000826 0.001789
0.026924 0.001789 0.000826 0.001789 0.055037 0.001789 0.026924 0.053959
0.053959 0.000826 0.001789 -0.400612 0.001789 0.026924 0.001789 0.000826
0.001789 0.026924 0.001789 0.000826 0.001789 0.055037 0.053959 0.026924
0.000826 0.001789 0.026924 0.001789 -0.400612 0.001789 0.000826 0.053959
0.026924 0.053959 0.055037 0.001789 0.000826 0.001789 0.026924 0.001789
0.001789 0.000826 0.001789 0.026924 0.001789 -0.400612 0.053959 0.000826
0.053959 0.026924 0.001789 0.055037 0.001789 0.000826 0.001789 0.026924
0.026924 0.001789 0.000826 0.001789 0.000826 0.053959 -0.400612 0.001789
0.055037 0.001789 0.026924 0.053959 0.026924 0.001789 0.000826 0.001789
0.001789 0.026924 0.001789 0.000826 0.053959 0.000826 0.001789 -0.400612
0.001789 0.055037 0.053959 0.026924 0.001789 0.026924 0.001789 0.000826
0.000826 0.001789 0.026924 0.001789 0.026924 0.053959 0.055037 0.001789
-0.400612 0.001789 0.000826 0.053959 0.000826 0.001789 0.026924 0.001789
0.001789 0.000826 0.001789 0.026924 0.053959 0.026924 0.001789 0.055037
0.001789 -0.400612 0.053959 0.000826 0.001789 0.000826 0.001789 0.026924
0.026924 0.001789 0.000826 0.001789 0.055037 0.001789 0.026924 0.053959
0.000826 0.053959 -0.400612 0.001789 0.026924 0.001789 0.000826 0.001789
0.001789 0.026924 0.001789 0.000826 0.001789 0.055037 0.053959 0.026924
0.053959 0.000826 0.001789 -0.400612 0.001789 0.026924 0.001789 0.000826
0.026924 0.053959 0.055037 0.001789 0.000826 0.001789 0.026924 0.001789
0.000826 0.001789 0.026924 0.001789 -0.400612 0.001789 0.000826 0.053959
0.053959 0.026924 0.001789 0.055037 0.001789 0.000826 0.001789 0.026924
0.001789 0.000826 0.001789 0.026924 0.001789 -0.400612 0.053959 0.000826
0.055037 0.001789 0.026924 0.053959 0.026924 0.001789 0.000826 0.001789
0.026924 0.001789 0.000826 0.001789 0.000826 0.053959 -0.400612 0.001789
0.001789 0.055037 0.053959 0.026924 0.001789 0.026924 0.001789 0.000826
0.001789 0.026924 0.001789 0.000826 0.053959 0.000826 0.001789 -0.400612
chi matrix :
-0.092305 0.000994 0.000049 0.001066 0.000049 0.000994 0.003564 0.000994
0.000049 0.000994 0.003564 0.000994 0.003564 0.001066 0.004028 0.000994
0.000994 -0.092305 0.001066 0.000049 0.000994 0.000049 0.000994 0.003564
0.000994 0.000049 0.000994 0.003564 0.001066 0.003564 0.000994 0.004028
0.000049 0.001066 -0.092305 0.000994 0.003564 0.000994 0.000049 0.000994
0.003564 0.000994 0.000049 0.000994 0.004028 0.000994 0.003564 0.001066
0.001066 0.000049 0.000994 -0.092305 0.000994 0.003564 0.000994 0.000049
0.000994 0.003564 0.000994 0.000049 0.000994 0.004028 0.001066 0.003564
0.000049 0.000994 0.003564 0.000994 -0.092305 0.000994 0.000049 0.001066
0.003564 0.001066 0.004028 0.000994 0.000049 0.000994 0.003564 0.000994
0.000994 0.000049 0.000994 0.003564 0.000994 -0.092305 0.001066 0.000049
0.001066 0.003564 0.000994 0.004028 0.000994 0.000049 0.000994 0.003564
0.003564 0.000994 0.000049 0.000994 0.000049 0.001066 -0.092305 0.000994
0.004028 0.000994 0.003564 0.001066 0.003564 0.000994 0.000049 0.000994
0.000994 0.003564 0.000994 0.000049 0.001066 0.000049 0.000994 -0.092305
0.000994 0.004028 0.001066 0.003564 0.000994 0.003564 0.000994 0.000049
0.000049 0.000994 0.003564 0.000994 0.003564 0.001066 0.004028 0.000994
-0.092305 0.000994 0.000049 0.001066 0.000049 0.000994 0.003564 0.000994
0.000994 0.000049 0.000994 0.003564 0.001066 0.003564 0.000994 0.004028
0.000994 -0.092305 0.001066 0.000049 0.000994 0.000049 0.000994 0.003564
0.003564 0.000994 0.000049 0.000994 0.004028 0.000994 0.003564 0.001066
0.000049 0.001066 -0.092305 0.000994 0.003564 0.000994 0.000049 0.000994
0.000994 0.003564 0.000994 0.000049 0.000994 0.004028 0.001066 0.003564
0.001066 0.000049 0.000994 -0.092305 0.000994 0.003564 0.000994 0.000049
0.003564 0.001066 0.004028 0.000994 0.000049 0.000994 0.003564 0.000994
0.000049 0.000994 0.003564 0.000994 -0.092305 0.000994 0.000049 0.001066
0.001066 0.003564 0.000994 0.004028 0.000994 0.000049 0.000994 0.003564
0.000994 0.000049 0.000994 0.003564 0.000994 -0.092305 0.001066 0.000049
0.004028 0.000994 0.003564 0.001066 0.003564 0.000994 0.000049 0.000994
0.003564 0.000994 0.000049 0.000994 0.000049 0.001066 -0.092305 0.000994
0.000994 0.004028 0.001066 0.003564 0.000994 0.003564 0.000994 0.000049
0.000994 0.003564 0.000994 0.000049 0.001066 0.000049 0.000994 -0.092305
chi0^{-1} matrix :
-2.798336 -0.169443 -0.164076 -0.575492 -0.164076 -0.169443 -0.307641 -0.169443
-0.164076 -0.169443 -0.307641 -0.169443 -0.307641 -0.575492 -0.578993 -0.169443
-0.169443 -2.798336 -0.575492 -0.164076 -0.169443 -0.164076 -0.169443 -0.307641
-0.169443 -0.164076 -0.169443 -0.307641 -0.575492 -0.307641 -0.169443 -0.578993
-0.164076 -0.575492 -2.798336 -0.169443 -0.307641 -0.169443 -0.164076 -0.169443
-0.307641 -0.169443 -0.164076 -0.169443 -0.578993 -0.169443 -0.307641 -0.575492
-0.575492 -0.164076 -0.169443 -2.798336 -0.169443 -0.307641 -0.169443 -0.164076
-0.169443 -0.307641 -0.169443 -0.164076 -0.169443 -0.578993 -0.575492 -0.307641
-0.164076 -0.169443 -0.307641 -0.169443 -2.798336 -0.169443 -0.164076 -0.575492
-0.307641 -0.575492 -0.578993 -0.169443 -0.164076 -0.169443 -0.307641 -0.169443
-0.169443 -0.164076 -0.169443 -0.307641 -0.169443 -2.798336 -0.575492 -0.164076
-0.575492 -0.307641 -0.169443 -0.578993 -0.169443 -0.164076 -0.169443 -0.307641
-0.307641 -0.169443 -0.164076 -0.169443 -0.164076 -0.575492 -2.798336 -0.169443
-0.578993 -0.169443 -0.307641 -0.575492 -0.307641 -0.169443 -0.164076 -0.169443
-0.169443 -0.307641 -0.169443 -0.164076 -0.575492 -0.164076 -0.169443 -2.798336
-0.169443 -0.578993 -0.575492 -0.307641 -0.169443 -0.307641 -0.169443 -0.164076
-0.164076 -0.169443 -0.307641 -0.169443 -0.307641 -0.575492 -0.578993 -0.169443
-2.798336 -0.169443 -0.164076 -0.575492 -0.164076 -0.169443 -0.307641 -0.169443
-0.169443 -0.164076 -0.169443 -0.307641 -0.575492 -0.307641 -0.169443 -0.578993
-0.169443 -2.798336 -0.575492 -0.164076 -0.169443 -0.164076 -0.169443 -0.307641
-0.307641 -0.169443 -0.164076 -0.169443 -0.578993 -0.169443 -0.307641 -0.575492
-0.164076 -0.575492 -2.798336 -0.169443 -0.307641 -0.169443 -0.164076 -0.169443
-0.169443 -0.307641 -0.169443 -0.164076 -0.169443 -0.578993 -0.575492 -0.307641
-0.575492 -0.164076 -0.169443 -2.798336 -0.169443 -0.307641 -0.169443 -0.164076
-0.307641 -0.575492 -0.578993 -0.169443 -0.164076 -0.169443 -0.307641 -0.169443
-0.164076 -0.169443 -0.307641 -0.169443 -2.798336 -0.169443 -0.164076 -0.575492
-0.575492 -0.307641 -0.169443 -0.578993 -0.169443 -0.164076 -0.169443 -0.307641
-0.169443 -0.164076 -0.169443 -0.307641 -0.169443 -2.798336 -0.575492 -0.164076
-0.578993 -0.169443 -0.307641 -0.575492 -0.307641 -0.169443 -0.164076 -0.169443
-0.307641 -0.169443 -0.164076 -0.169443 -0.164076 -0.575492 -2.798336 -0.169443
-0.169443 -0.578993 -0.575492 -0.307641 -0.169443 -0.307641 -0.169443 -0.164076
-0.169443 -0.307641 -0.169443 -0.164076 -0.575492 -0.164076 -0.169443 -2.798336
chi^{-1} matrix :
-10.925783 -0.168565 -0.066524 -0.177080 -0.066524 -0.168565 -0.476864 -0.168565
-0.066524 -0.168565 -0.476864 -0.168565 -0.476864 -0.177080 -0.500175 -0.168565
-0.168565 -10.925783 -0.177080 -0.066524 -0.168565 -0.066524 -0.168565 -0.476864
-0.168565 -0.066524 -0.168565 -0.476864 -0.177080 -0.476864 -0.168565 -0.500175
-0.066524 -0.177080 -10.925783 -0.168565 -0.476864 -0.168565 -0.066524 -0.168565
-0.476864 -0.168565 -0.066524 -0.168565 -0.500175 -0.168565 -0.476864 -0.177080
-0.177080 -0.066524 -0.168565 -10.925783 -0.168565 -0.476864 -0.168565 -0.066524
-0.168565 -0.476864 -0.168565 -0.066524 -0.168565 -0.500175 -0.177080 -0.476864
-0.066524 -0.168565 -0.476864 -0.168565 -10.925783 -0.168565 -0.066524 -0.177080
-0.476864 -0.177080 -0.500175 -0.168565 -0.066524 -0.168565 -0.476864 -0.168565
-0.168565 -0.066524 -0.168565 -0.476864 -0.168565 -10.925783 -0.177080 -0.066524
-0.177080 -0.476864 -0.168565 -0.500175 -0.168565 -0.066524 -0.168565 -0.476864
-0.476864 -0.168565 -0.066524 -0.168565 -0.066524 -0.177080 -10.925783 -0.168565
-0.500175 -0.168565 -0.476864 -0.177080 -0.476864 -0.168565 -0.066524 -0.168565
-0.168565 -0.476864 -0.168565 -0.066524 -0.177080 -0.066524 -0.168565 -10.925783
-0.168565 -0.500175 -0.177080 -0.476864 -0.168565 -0.476864 -0.168565 -0.066524
-0.066524 -0.168565 -0.476864 -0.168565 -0.476864 -0.177080 -0.500175 -0.168565
-10.925783 -0.168565 -0.066524 -0.177080 -0.066524 -0.168565 -0.476864 -0.168565
-0.168565 -0.066524 -0.168565 -0.476864 -0.177080 -0.476864 -0.168565 -0.500175
-0.168565 -10.925783 -0.177080 -0.066524 -0.168565 -0.066524 -0.168565 -0.476864
-0.476864 -0.168565 -0.066524 -0.168565 -0.500175 -0.168565 -0.476864 -0.177080
-0.066524 -0.177080 -10.925783 -0.168565 -0.476864 -0.168565 -0.066524 -0.168565
-0.168565 -0.476864 -0.168565 -0.066524 -0.168565 -0.500175 -0.177080 -0.476864
-0.177080 -0.066524 -0.168565 -10.925783 -0.168565 -0.476864 -0.168565 -0.066524
-0.476864 -0.177080 -0.500175 -0.168565 -0.066524 -0.168565 -0.476864 -0.168565
-0.066524 -0.168565 -0.476864 -0.168565 -10.925783 -0.168565 -0.066524 -0.177080
-0.177080 -0.476864 -0.168565 -0.500175 -0.168565 -0.066524 -0.168565 -0.476864
-0.168565 -0.066524 -0.168565 -0.476864 -0.168565 -10.925783 -0.177080 -0.066524
-0.500175 -0.168565 -0.476864 -0.177080 -0.476864 -0.168565 -0.066524 -0.168565
-0.476864 -0.168565 -0.066524 -0.168565 -0.066524 -0.177080 -10.925783 -0.168565
-0.168565 -0.500175 -0.177080 -0.476864 -0.168565 -0.476864 -0.168565 -0.066524
-0.168565 -0.476864 -0.168565 -0.066524 -0.177080 -0.066524 -0.168565 -10.925783
Hubbard matrix :
8.127446 -0.000878 -0.097551 -0.398413 -0.097551 -0.000878 0.169223 -0.000878
-0.097551 -0.000878 0.169223 -0.000878 0.169223 -0.398413 -0.078818 -0.000878
-0.000878 8.127446 -0.398413 -0.097551 -0.000878 -0.097551 -0.000878 0.169223
-0.000878 -0.097551 -0.000878 0.169223 -0.398413 0.169223 -0.000878 -0.078818
-0.097551 -0.398413 8.127446 -0.000878 0.169223 -0.000878 -0.097551 -0.000878
0.169223 -0.000878 -0.097551 -0.000878 -0.078818 -0.000878 0.169223 -0.398413
-0.398413 -0.097551 -0.000878 8.127446 -0.000878 0.169223 -0.000878 -0.097551
-0.000878 0.169223 -0.000878 -0.097551 -0.000878 -0.078818 -0.398413 0.169223
-0.097551 -0.000878 0.169223 -0.000878 8.127446 -0.000878 -0.097551 -0.398413
0.169223 -0.398413 -0.078818 -0.000878 -0.097551 -0.000878 0.169223 -0.000878
-0.000878 -0.097551 -0.000878 0.169223 -0.000878 8.127446 -0.398413 -0.097551
-0.398413 0.169223 -0.000878 -0.078818 -0.000878 -0.097551 -0.000878 0.169223
0.169223 -0.000878 -0.097551 -0.000878 -0.097551 -0.398413 8.127446 -0.000878
-0.078818 -0.000878 0.169223 -0.398413 0.169223 -0.000878 -0.097551 -0.000878
-0.000878 0.169223 -0.000878 -0.097551 -0.398413 -0.097551 -0.000878 8.127446
-0.000878 -0.078818 -0.398413 0.169223 -0.000878 0.169223 -0.000878 -0.097551
-0.097551 -0.000878 0.169223 -0.000878 0.169223 -0.398413 -0.078818 -0.000878
8.127446 -0.000878 -0.097551 -0.398413 -0.097551 -0.000878 0.169223 -0.000878
-0.000878 -0.097551 -0.000878 0.169223 -0.398413 0.169223 -0.000878 -0.078818
-0.000878 8.127446 -0.398413 -0.097551 -0.000878 -0.097551 -0.000878 0.169223
0.169223 -0.000878 -0.097551 -0.000878 -0.078818 -0.000878 0.169223 -0.398413
-0.097551 -0.398413 8.127446 -0.000878 0.169223 -0.000878 -0.097551 -0.000878
-0.000878 0.169223 -0.000878 -0.097551 -0.000878 -0.078818 -0.398413 0.169223
-0.398413 -0.097551 -0.000878 8.127446 -0.000878 0.169223 -0.000878 -0.097551
0.169223 -0.398413 -0.078818 -0.000878 -0.097551 -0.000878 0.169223 -0.000878
-0.097551 -0.000878 0.169223 -0.000878 8.127446 -0.000878 -0.097551 -0.398413
-0.398413 0.169223 -0.000878 -0.078818 -0.000878 -0.097551 -0.000878 0.169223
-0.000878 -0.097551 -0.000878 0.169223 -0.000878 8.127446 -0.398413 -0.097551
-0.078818 -0.000878 0.169223 -0.398413 0.169223 -0.000878 -0.097551 -0.000878
0.169223 -0.000878 -0.097551 -0.000878 -0.097551 -0.398413 8.127446 -0.000878
-0.000878 -0.078818 -0.398413 0.169223 -0.000878 0.169223 -0.000878 -0.097551
-0.000878 0.169223 -0.000878 -0.097551 -0.398413 -0.097551 -0.000878 8.127446

View File

@ -0,0 +1,7 @@
&inputhp
prefix = 'NiO',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,46 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='NiO'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 0,
celldm(1) = 7.88,
nat = 4,
ntyp = 3,
ecutwfc = 50.0,
ecutrho = 400.0,
occupations = 'smearing',
smearing = 'gauss',
degauss = 0.001,
nspin = 2,
starting_magnetization(1) = 0.5,
starting_magnetization(2) = -0.5,
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
/
&electrons
conv_thr = 1.d-10
mixing_beta = 0.7
/
ATOMIC_SPECIES
Ni1 58.693 ni_pbesol_v1.4.uspp.F.UPF
Ni2 58.693 ni_pbesol_v1.4.uspp.F.UPF
O 16.000 O.pbesol-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS {alat}
Ni1 0.0000000 0.0000000 0.0000000
Ni2 0.5000000 0.5000000 0.0000000
O 0.5000000 0.0000000 0.0000000
O 1.0000000 0.5000000 0.0000000
CELL_PARAMETERS
1.00000000 0.50000000 0.50000000
0.50000000 1.00000000 0.50000000
0.50000000 0.50000000 1.00000000
K_POINTS {automatic}
2 2 2 0 0 0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,46 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='NiO'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 0,
celldm(1) = 7.88,
nat = 4,
ntyp = 3,
ecutwfc = 50.0,
ecutrho = 400.0,
nbnd = 29
occupations = 'fixed'
nspin = 2,
tot_magnetization = -0.00
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
startingpot = 'file'
startingwfc = 'file'
/
ATOMIC_SPECIES
Ni1 58.693 ni_pbesol_v1.4.uspp.F.UPF
Ni2 58.693 ni_pbesol_v1.4.uspp.F.UPF
O 16.000 O.pbesol-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS {alat}
Ni1 0.0000000 0.0000000 0.0000000
Ni2 0.5000000 0.5000000 0.0000000
O 0.5000000 0.0000000 0.0000000
O 1.0000000 0.5000000 0.0000000
CELL_PARAMETERS
1.00000000 0.50000000 0.50000000
0.50000000 1.00000000 0.50000000
0.50000000 0.50000000 1.00000000
K_POINTS {automatic}
2 2 2 0 0 0

File diff suppressed because it is too large Load Diff

200
HP/examples/example02/run_example Executable file
View File

@ -0,0 +1,200 @@
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=`pwd`
# check whether ECHO has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi
$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and hp.x to calculate"
$ECHO "the Hubbard U parameter for Ni in NiO."
# set the needed environment variables
. ../environment_variables
# required executables and pseudopotentials
BIN_LIST="pw.x hp.x"
PSEUDO_LIST="ni_pbesol_v1.4.uspp.F.UPF O.pbesol-n-kjpaw_psl.0.1.UPF"
$ECHO
$ECHO " executables directory: $BIN_DIR"
$ECHO " pseudo directory: $PSEUDO_DIR"
$ECHO " temporary directory: $TMP_DIR"
$ECHO
$ECHO " checking that needed directories and files exist...\c"
$ECHO
$ECHO " Pseudopotentials were selected from the SSSP library:"
$ECHO " https://www.materialscloud.org/discover/sssp/table/precision\c"
$ECHO
# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
if test ! -d $DIR ; then
$ECHO
$ECHO "ERROR: $DIR not existent or not a directory"
$ECHO "Aborting"
exit 1
fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
if test ! -d $DIR ; then
mkdir $DIR
fi
done
cd $EXAMPLE_DIR/results
# check for executables
for FILE in $BIN_LIST ; do
if test ! -x $BIN_DIR/$FILE ; then
$ECHO
$ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
$ECHO "Aborting"
exit 1
fi
done
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
HP_COMMAND="$PARA_PREFIX $BIN_DIR/hp.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO " running hp.x as: $HP_COMMAND"
$ECHO
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"
PREFIX='NiO'
# First self-consistent calculation
cat > $PREFIX.scf1.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 0,
celldm(1) = 7.88,
nat = 4,
ntyp = 3,
ecutwfc = 50.0,
ecutrho = 400.0,
occupations = 'smearing',
smearing = 'gauss',
degauss = 0.001,
nspin = 2,
starting_magnetization(1) = 0.5,
starting_magnetization(2) = -0.5,
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
/
&electrons
conv_thr = 1.d-10
mixing_beta = 0.7
/
ATOMIC_SPECIES
Ni1 58.693 ni_pbesol_v1.4.uspp.F.UPF
Ni2 58.693 ni_pbesol_v1.4.uspp.F.UPF
O 16.000 O.pbesol-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS {alat}
Ni1 0.0000000 0.0000000 0.0000000
Ni2 0.5000000 0.5000000 0.0000000
O 0.5000000 0.0000000 0.0000000
O 1.0000000 0.5000000 0.0000000
CELL_PARAMETERS
1.00000000 0.50000000 0.50000000
0.50000000 1.00000000 0.50000000
0.50000000 0.50000000 1.00000000
K_POINTS {automatic}
2 2 2 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf1.in |tee $PREFIX.scf1.out
$ECHO " done"
# Extract the number of Kohn-Sham states from the previous run
nstates=`grep 'number of Kohn-Sham states' $PREFIX.scf1.out | awk '{print $5}'`
# Extract the value of the total magnetization from the previous run
totmagn=`grep 'total magnetization' $PREFIX.scf1.out | tail -1 | awk '{print $4}'`
# Second self-consistent calculation
cat > $PREFIX.scf2.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 0,
celldm(1) = 7.88,
nat = 4,
ntyp = 3,
ecutwfc = 50.0,
ecutrho = 400.0,
nbnd = $nstates
occupations = 'fixed'
nspin = 2,
tot_magnetization = $totmagn
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
startingpot = 'file'
startingwfc = 'file'
/
ATOMIC_SPECIES
Ni1 58.693 ni_pbesol_v1.4.uspp.F.UPF
Ni2 58.693 ni_pbesol_v1.4.uspp.F.UPF
O 16.000 O.pbesol-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS {alat}
Ni1 0.0000000 0.0000000 0.0000000
Ni2 0.5000000 0.5000000 0.0000000
O 0.5000000 0.0000000 0.0000000
O 1.0000000 0.5000000 0.0000000
CELL_PARAMETERS
1.00000000 0.50000000 0.50000000
0.50000000 1.00000000 0.50000000
0.50000000 0.50000000 1.00000000
K_POINTS {automatic}
2 2 2 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf2.in |tee $PREFIX.scf2.out
$ECHO " done"
# Perform the linear-response calculation
cat > $PREFIX.hp.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.in |tee $PREFIX.hp.out
$ECHO " done"

View File

@ -0,0 +1,261 @@
=-------------------------------------------------------------------=
Hubbard U parameters:
site n. type label spin new_type new_label Hubbard U (eV)
1 1 Cr 1 1 Cr 6.1637
2 1 Cr 1 1 Cr 6.1637
=-------------------------------------------------------------------=
chi0 matrix :
-0.530345 0.000581 0.002742 0.007707 0.002742 0.007707 0.004349 0.001066
0.002742 0.007707 0.004349 0.001066 0.004349 0.001066 0.000309 0.002581
0.000581 -0.530345 0.007707 0.002742 0.007707 0.002742 0.001066 0.004349
0.007707 0.002742 0.001066 0.004349 0.001066 0.004349 0.002581 0.000309
0.002742 0.007707 -0.530345 0.000581 0.004349 0.001066 0.002742 0.007707
0.004349 0.001066 0.002742 0.007707 0.000309 0.002581 0.004349 0.001066
0.007707 0.002742 0.000581 -0.530345 0.001066 0.004349 0.007707 0.002742
0.001066 0.004349 0.007707 0.002742 0.002581 0.000309 0.001066 0.004349
0.002742 0.007707 0.004349 0.001066 -0.530345 0.000581 0.002742 0.007707
0.004349 0.001066 0.000309 0.002581 0.002742 0.007707 0.004349 0.001066
0.007707 0.002742 0.001066 0.004349 0.000581 -0.530345 0.007707 0.002742
0.001066 0.004349 0.002581 0.000309 0.007707 0.002742 0.001066 0.004349
0.004349 0.001066 0.002742 0.007707 0.002742 0.007707 -0.530345 0.000581
0.000309 0.002581 0.004349 0.001066 0.004349 0.001066 0.002742 0.007707
0.001066 0.004349 0.007707 0.002742 0.007707 0.002742 0.000581 -0.530345
0.002581 0.000309 0.001066 0.004349 0.001066 0.004349 0.007707 0.002742
0.002742 0.007707 0.004349 0.001066 0.004349 0.001066 0.000309 0.002581
-0.530345 0.000581 0.002742 0.007707 0.002742 0.007707 0.004349 0.001066
0.007707 0.002742 0.001066 0.004349 0.001066 0.004349 0.002581 0.000309
0.000581 -0.530345 0.007707 0.002742 0.007707 0.002742 0.001066 0.004349
0.004349 0.001066 0.002742 0.007707 0.000309 0.002581 0.004349 0.001066
0.002742 0.007707 -0.530345 0.000581 0.004349 0.001066 0.002742 0.007707
0.001066 0.004349 0.007707 0.002742 0.002581 0.000309 0.001066 0.004349
0.007707 0.002742 0.000581 -0.530345 0.001066 0.004349 0.007707 0.002742
0.004349 0.001066 0.000309 0.002581 0.002742 0.007707 0.004349 0.001066
0.002742 0.007707 0.004349 0.001066 -0.530345 0.000581 0.002742 0.007707
0.001066 0.004349 0.002581 0.000309 0.007707 0.002742 0.001066 0.004349
0.007707 0.002742 0.001066 0.004349 0.000581 -0.530345 0.007707 0.002742
0.000309 0.002581 0.004349 0.001066 0.004349 0.001066 0.002742 0.007707
0.004349 0.001066 0.002742 0.007707 0.002742 0.007707 -0.530345 0.000581
0.002581 0.000309 0.001066 0.004349 0.001066 0.004349 0.007707 0.002742
0.001066 0.004349 0.007707 0.002742 0.007707 0.002742 0.000581 -0.530345
chi matrix :
-0.124207 -0.000016 0.000033 0.000252 0.000033 0.000252 0.000134 -0.000041
0.000033 0.000252 0.000134 -0.000041 0.000134 -0.000041 -0.000008 0.000012
-0.000016 -0.124207 0.000252 0.000033 0.000252 0.000033 -0.000041 0.000134
0.000252 0.000033 -0.000041 0.000134 -0.000041 0.000134 0.000012 -0.000008
0.000033 0.000252 -0.124207 -0.000016 0.000134 -0.000041 0.000033 0.000252
0.000134 -0.000041 0.000033 0.000252 -0.000008 0.000012 0.000134 -0.000041
0.000252 0.000033 -0.000016 -0.124207 -0.000041 0.000134 0.000252 0.000033
-0.000041 0.000134 0.000252 0.000033 0.000012 -0.000008 -0.000041 0.000134
0.000033 0.000252 0.000134 -0.000041 -0.124207 -0.000016 0.000033 0.000252
0.000134 -0.000041 -0.000008 0.000012 0.000033 0.000252 0.000134 -0.000041
0.000252 0.000033 -0.000041 0.000134 -0.000016 -0.124207 0.000252 0.000033
-0.000041 0.000134 0.000012 -0.000008 0.000252 0.000033 -0.000041 0.000134
0.000134 -0.000041 0.000033 0.000252 0.000033 0.000252 -0.124207 -0.000016
-0.000008 0.000012 0.000134 -0.000041 0.000134 -0.000041 0.000033 0.000252
-0.000041 0.000134 0.000252 0.000033 0.000252 0.000033 -0.000016 -0.124207
0.000012 -0.000008 -0.000041 0.000134 -0.000041 0.000134 0.000252 0.000033
0.000033 0.000252 0.000134 -0.000041 0.000134 -0.000041 -0.000008 0.000012
-0.124207 -0.000016 0.000033 0.000252 0.000033 0.000252 0.000134 -0.000041
0.000252 0.000033 -0.000041 0.000134 -0.000041 0.000134 0.000012 -0.000008
-0.000016 -0.124207 0.000252 0.000033 0.000252 0.000033 -0.000041 0.000134
0.000134 -0.000041 0.000033 0.000252 -0.000008 0.000012 0.000134 -0.000041
0.000033 0.000252 -0.124207 -0.000016 0.000134 -0.000041 0.000033 0.000252
-0.000041 0.000134 0.000252 0.000033 0.000012 -0.000008 -0.000041 0.000134
0.000252 0.000033 -0.000016 -0.124207 -0.000041 0.000134 0.000252 0.000033
0.000134 -0.000041 -0.000008 0.000012 0.000033 0.000252 0.000134 -0.000041
0.000033 0.000252 0.000134 -0.000041 -0.124207 -0.000016 0.000033 0.000252
-0.000041 0.000134 0.000012 -0.000008 0.000252 0.000033 -0.000041 0.000134
0.000252 0.000033 -0.000041 0.000134 -0.000016 -0.124207 0.000252 0.000033
-0.000008 0.000012 0.000134 -0.000041 0.000134 -0.000041 0.000033 0.000252
0.000134 -0.000041 0.000033 0.000252 0.000033 0.000252 -0.124207 -0.000016
0.000012 -0.000008 -0.000041 0.000134 -0.000041 0.000134 0.000252 0.000033
-0.000041 0.000134 0.000252 0.000033 0.000252 0.000033 -0.000016 -0.124207
chi0^{-1} matrix :
-1.887482 -0.003207 -0.010510 -0.028694 -0.010510 -0.028694 -0.017042 -0.004739
-0.010510 -0.028694 -0.017042 -0.004739 -0.017042 -0.004739 -0.002030 -0.010776
-0.003207 -1.887482 -0.028694 -0.010510 -0.028694 -0.010510 -0.004739 -0.017042
-0.028694 -0.010510 -0.004739 -0.017042 -0.004739 -0.017042 -0.010776 -0.002030
-0.010510 -0.028694 -1.887482 -0.003207 -0.017042 -0.004739 -0.010510 -0.028694
-0.017042 -0.004739 -0.010510 -0.028694 -0.002030 -0.010776 -0.017042 -0.004739
-0.028694 -0.010510 -0.003207 -1.887482 -0.004739 -0.017042 -0.028694 -0.010510
-0.004739 -0.017042 -0.028694 -0.010510 -0.010776 -0.002030 -0.004739 -0.017042
-0.010510 -0.028694 -0.017042 -0.004739 -1.887482 -0.003207 -0.010510 -0.028694
-0.017042 -0.004739 -0.002030 -0.010776 -0.010510 -0.028694 -0.017042 -0.004739
-0.028694 -0.010510 -0.004739 -0.017042 -0.003207 -1.887482 -0.028694 -0.010510
-0.004739 -0.017042 -0.010776 -0.002030 -0.028694 -0.010510 -0.004739 -0.017042
-0.017042 -0.004739 -0.010510 -0.028694 -0.010510 -0.028694 -1.887482 -0.003207
-0.002030 -0.010776 -0.017042 -0.004739 -0.017042 -0.004739 -0.010510 -0.028694
-0.004739 -0.017042 -0.028694 -0.010510 -0.028694 -0.010510 -0.003207 -1.887482
-0.010776 -0.002030 -0.004739 -0.017042 -0.004739 -0.017042 -0.028694 -0.010510
-0.010510 -0.028694 -0.017042 -0.004739 -0.017042 -0.004739 -0.002030 -0.010776
-1.887482 -0.003207 -0.010510 -0.028694 -0.010510 -0.028694 -0.017042 -0.004739
-0.028694 -0.010510 -0.004739 -0.017042 -0.004739 -0.017042 -0.010776 -0.002030
-0.003207 -1.887482 -0.028694 -0.010510 -0.028694 -0.010510 -0.004739 -0.017042
-0.017042 -0.004739 -0.010510 -0.028694 -0.002030 -0.010776 -0.017042 -0.004739
-0.010510 -0.028694 -1.887482 -0.003207 -0.017042 -0.004739 -0.010510 -0.028694
-0.004739 -0.017042 -0.028694 -0.010510 -0.010776 -0.002030 -0.004739 -0.017042
-0.028694 -0.010510 -0.003207 -1.887482 -0.004739 -0.017042 -0.028694 -0.010510
-0.017042 -0.004739 -0.002030 -0.010776 -0.010510 -0.028694 -0.017042 -0.004739
-0.010510 -0.028694 -0.017042 -0.004739 -1.887482 -0.003207 -0.010510 -0.028694
-0.004739 -0.017042 -0.010776 -0.002030 -0.028694 -0.010510 -0.004739 -0.017042
-0.028694 -0.010510 -0.004739 -0.017042 -0.003207 -1.887482 -0.028694 -0.010510
-0.002030 -0.010776 -0.017042 -0.004739 -0.017042 -0.004739 -0.010510 -0.028694
-0.017042 -0.004739 -0.010510 -0.028694 -0.010510 -0.028694 -1.887482 -0.003207
-0.010776 -0.002030 -0.004739 -0.017042 -0.004739 -0.017042 -0.028694 -0.010510
-0.004739 -0.017042 -0.028694 -0.010510 -0.028694 -0.010510 -0.003207 -1.887482
chi^{-1} matrix :
-8.051210 0.001059 -0.002103 -0.016399 -0.002103 -0.016399 -0.008798 0.002680
-0.002103 -0.016399 -0.008798 0.002680 -0.008798 0.002680 0.000534 -0.000903
0.001059 -8.051210 -0.016399 -0.002103 -0.016399 -0.002103 0.002680 -0.008798
-0.016399 -0.002103 0.002680 -0.008798 0.002680 -0.008798 -0.000903 0.000534
-0.002103 -0.016399 -8.051210 0.001059 -0.008798 0.002680 -0.002103 -0.016399
-0.008798 0.002680 -0.002103 -0.016399 0.000534 -0.000903 -0.008798 0.002680
-0.016399 -0.002103 0.001059 -8.051210 0.002680 -0.008798 -0.016399 -0.002103
0.002680 -0.008798 -0.016399 -0.002103 -0.000903 0.000534 0.002680 -0.008798
-0.002103 -0.016399 -0.008798 0.002680 -8.051210 0.001059 -0.002103 -0.016399
-0.008798 0.002680 0.000534 -0.000903 -0.002103 -0.016399 -0.008798 0.002680
-0.016399 -0.002103 0.002680 -0.008798 0.001059 -8.051210 -0.016399 -0.002103
0.002680 -0.008798 -0.000903 0.000534 -0.016399 -0.002103 0.002680 -0.008798
-0.008798 0.002680 -0.002103 -0.016399 -0.002103 -0.016399 -8.051210 0.001059
0.000534 -0.000903 -0.008798 0.002680 -0.008798 0.002680 -0.002103 -0.016399
0.002680 -0.008798 -0.016399 -0.002103 -0.016399 -0.002103 0.001059 -8.051210
-0.000903 0.000534 0.002680 -0.008798 0.002680 -0.008798 -0.016399 -0.002103
-0.002103 -0.016399 -0.008798 0.002680 -0.008798 0.002680 0.000534 -0.000903
-8.051210 0.001059 -0.002103 -0.016399 -0.002103 -0.016399 -0.008798 0.002680
-0.016399 -0.002103 0.002680 -0.008798 0.002680 -0.008798 -0.000903 0.000534
0.001059 -8.051210 -0.016399 -0.002103 -0.016399 -0.002103 0.002680 -0.008798
-0.008798 0.002680 -0.002103 -0.016399 0.000534 -0.000903 -0.008798 0.002680
-0.002103 -0.016399 -8.051210 0.001059 -0.008798 0.002680 -0.002103 -0.016399
0.002680 -0.008798 -0.016399 -0.002103 -0.000903 0.000534 0.002680 -0.008798
-0.016399 -0.002103 0.001059 -8.051210 0.002680 -0.008798 -0.016399 -0.002103
-0.008798 0.002680 0.000534 -0.000903 -0.002103 -0.016399 -0.008798 0.002680
-0.002103 -0.016399 -0.008798 0.002680 -8.051210 0.001059 -0.002103 -0.016399
0.002680 -0.008798 -0.000903 0.000534 -0.016399 -0.002103 0.002680 -0.008798
-0.016399 -0.002103 0.002680 -0.008798 0.001059 -8.051210 -0.016399 -0.002103
0.000534 -0.000903 -0.008798 0.002680 -0.008798 0.002680 -0.002103 -0.016399
-0.008798 0.002680 -0.002103 -0.016399 -0.002103 -0.016399 -8.051210 0.001059
-0.000903 0.000534 0.002680 -0.008798 0.002680 -0.008798 -0.016399 -0.002103
0.002680 -0.008798 -0.016399 -0.002103 -0.016399 -0.002103 0.001059 -8.051210
Hubbard matrix :
6.163728 -0.004266 -0.008407 -0.012295 -0.008407 -0.012295 -0.008244 -0.007420
-0.008407 -0.012295 -0.008244 -0.007420 -0.008244 -0.007420 -0.002565 -0.009873
-0.004266 6.163728 -0.012295 -0.008407 -0.012295 -0.008407 -0.007420 -0.008244
-0.012295 -0.008407 -0.007420 -0.008244 -0.007420 -0.008244 -0.009873 -0.002565
-0.008407 -0.012295 6.163728 -0.004266 -0.008244 -0.007420 -0.008407 -0.012295
-0.008244 -0.007420 -0.008407 -0.012295 -0.002565 -0.009873 -0.008244 -0.007420
-0.012295 -0.008407 -0.004266 6.163728 -0.007420 -0.008244 -0.012295 -0.008407
-0.007420 -0.008244 -0.012295 -0.008407 -0.009873 -0.002565 -0.007420 -0.008244
-0.008407 -0.012295 -0.008244 -0.007420 6.163728 -0.004266 -0.008407 -0.012295
-0.008244 -0.007420 -0.002565 -0.009873 -0.008407 -0.012295 -0.008244 -0.007420
-0.012295 -0.008407 -0.007420 -0.008244 -0.004266 6.163728 -0.012295 -0.008407
-0.007420 -0.008244 -0.009873 -0.002565 -0.012295 -0.008407 -0.007420 -0.008244
-0.008244 -0.007420 -0.008407 -0.012295 -0.008407 -0.012295 6.163728 -0.004266
-0.002565 -0.009873 -0.008244 -0.007420 -0.008244 -0.007420 -0.008407 -0.012295
-0.007420 -0.008244 -0.012295 -0.008407 -0.012295 -0.008407 -0.004266 6.163728
-0.009873 -0.002565 -0.007420 -0.008244 -0.007420 -0.008244 -0.012295 -0.008407
-0.008407 -0.012295 -0.008244 -0.007420 -0.008244 -0.007420 -0.002565 -0.009873
6.163728 -0.004266 -0.008407 -0.012295 -0.008407 -0.012295 -0.008244 -0.007420
-0.012295 -0.008407 -0.007420 -0.008244 -0.007420 -0.008244 -0.009873 -0.002565
-0.004266 6.163728 -0.012295 -0.008407 -0.012295 -0.008407 -0.007420 -0.008244
-0.008244 -0.007420 -0.008407 -0.012295 -0.002565 -0.009873 -0.008244 -0.007420
-0.008407 -0.012295 6.163728 -0.004266 -0.008244 -0.007420 -0.008407 -0.012295
-0.007420 -0.008244 -0.012295 -0.008407 -0.009873 -0.002565 -0.007420 -0.008244
-0.012295 -0.008407 -0.004266 6.163728 -0.007420 -0.008244 -0.012295 -0.008407
-0.008244 -0.007420 -0.002565 -0.009873 -0.008407 -0.012295 -0.008244 -0.007420
-0.008407 -0.012295 -0.008244 -0.007420 6.163728 -0.004266 -0.008407 -0.012295
-0.007420 -0.008244 -0.009873 -0.002565 -0.012295 -0.008407 -0.007420 -0.008244
-0.012295 -0.008407 -0.007420 -0.008244 -0.004266 6.163728 -0.012295 -0.008407
-0.002565 -0.009873 -0.008244 -0.007420 -0.008244 -0.007420 -0.008407 -0.012295
-0.008244 -0.007420 -0.008407 -0.012295 -0.008407 -0.012295 6.163728 -0.004266
-0.009873 -0.002565 -0.007420 -0.008244 -0.007420 -0.008244 -0.012295 -0.008407
-0.007420 -0.008244 -0.012295 -0.008407 -0.012295 -0.008407 -0.004266 6.163728

View File

@ -0,0 +1,7 @@
&inputhp
prefix = 'CrI3',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,47 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='CrI3'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 0,
celldm(1) = 14.5533,
nat = 8,
ntyp = 2,
ecutwfc = 45.0,
ecutrho = 360.0,
occupations = 'smearing',
smearing = 'gauss',
degauss = 0.001,
nspin = 2,
starting_magnetization(1) = 0.5,
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-10
mixing_beta = 0.7
/
ATOMIC_SPECIES
Cr 51.996 cr_pbesol_v1.5.uspp.F.UPF
I 126.9045 I.pbesol-n-kjpaw_psl.0.2.UPF
ATOMIC_POSITIONS {crystal}
Cr 0.3337100000 0.3337100000 0.3337100000
Cr 0.6662900000 0.6662900000 0.6662900000
I 0.7290700000 0.4299600000 0.0777700000
I 0.2709300000 0.5700400000 0.9222300000
I 0.5700400000 0.9222300000 0.2709300000
I 0.4299600000 0.0777700000 0.7290700000
I 0.0777700000 0.7290700000 0.4299600000
I 0.9222300000 0.2709300000 0.5700400000
CELL_PARAMETERS {alat}
0.4458362755 0.2574036937 0.8573058695
-0.4458362755 0.2574036937 0.8573058695
0.0000000000 -0.5148073874 0.8573058695
K_POINTS {automatic}
2 2 2 0 0 0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,48 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='CrI3'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 0,
celldm(1) = 14.5533,
nat = 8,
ntyp = 2,
ecutwfc = 45.0,
ecutrho = 360.0,
nbnd = 42
occupations = 'fixed'
nspin = 2,
tot_magnetization = 6.00
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
startingpot = 'file'
startingwfc = 'file'
/
ATOMIC_SPECIES
Cr 51.996 cr_pbesol_v1.5.uspp.F.UPF
I 126.9045 I.pbesol-n-kjpaw_psl.0.2.UPF
ATOMIC_POSITIONS {crystal}
Cr 0.3337100000 0.3337100000 0.3337100000
Cr 0.6662900000 0.6662900000 0.6662900000
I 0.7290700000 0.4299600000 0.0777700000
I 0.2709300000 0.5700400000 0.9222300000
I 0.5700400000 0.9222300000 0.2709300000
I 0.4299600000 0.0777700000 0.7290700000
I 0.0777700000 0.7290700000 0.4299600000
I 0.9222300000 0.2709300000 0.5700400000
CELL_PARAMETERS {alat}
0.4458362755 0.2574036937 0.8573058695
-0.4458362755 0.2574036937 0.8573058695
0.0000000000 -0.5148073874 0.8573058695
K_POINTS {automatic}
2 2 2 0 0 0

File diff suppressed because it is too large Load Diff

203
HP/examples/example03/run_example Executable file
View File

@ -0,0 +1,203 @@
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=`pwd`
# check whether ECHO has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi
$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and hp.x to calculate"
$ECHO "the Hubbard U parameter for Cr in CrI3."
# set the needed environment variables
. ../environment_variables
# required executables and pseudopotentials
BIN_LIST="pw.x hp.x"
PSEUDO_LIST="cr_pbesol_v1.5.uspp.F.UPF I.pbesol-n-kjpaw_psl.0.2.UPF"
$ECHO
$ECHO " executables directory: $BIN_DIR"
$ECHO " pseudo directory: $PSEUDO_DIR"
$ECHO " temporary directory: $TMP_DIR"
$ECHO
$ECHO " checking that needed directories and files exist...\c"
$ECHO
$ECHO " Pseudopotentials were selected from the SSSP library:"
$ECHO " https://www.materialscloud.org/discover/sssp/table/precision\c"
$ECHO
# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
if test ! -d $DIR ; then
$ECHO
$ECHO "ERROR: $DIR not existent or not a directory"
$ECHO "Aborting"
exit 1
fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
if test ! -d $DIR ; then
mkdir $DIR
fi
done
cd $EXAMPLE_DIR/results
# check for executables
for FILE in $BIN_LIST ; do
if test ! -x $BIN_DIR/$FILE ; then
$ECHO
$ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
$ECHO "Aborting"
exit 1
fi
done
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
HP_COMMAND="$PARA_PREFIX $BIN_DIR/hp.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO " running hp.x as: $HP_COMMAND"
$ECHO
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"
PREFIX='CrI3'
# First self-consistent calculation
cat > $PREFIX.scf1.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 0,
celldm(1) = 14.5533,
nat = 8,
ntyp = 2,
ecutwfc = 45.0,
ecutrho = 360.0,
occupations = 'smearing',
smearing = 'gauss',
degauss = 0.001,
nspin = 2,
starting_magnetization(1) = 0.5,
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-10
mixing_beta = 0.7
/
ATOMIC_SPECIES
Cr 51.996 cr_pbesol_v1.5.uspp.F.UPF
I 126.9045 I.pbesol-n-kjpaw_psl.0.2.UPF
ATOMIC_POSITIONS {crystal}
Cr 0.3337100000 0.3337100000 0.3337100000
Cr 0.6662900000 0.6662900000 0.6662900000
I 0.7290700000 0.4299600000 0.0777700000
I 0.2709300000 0.5700400000 0.9222300000
I 0.5700400000 0.9222300000 0.2709300000
I 0.4299600000 0.0777700000 0.7290700000
I 0.0777700000 0.7290700000 0.4299600000
I 0.9222300000 0.2709300000 0.5700400000
CELL_PARAMETERS {alat}
0.4458362755 0.2574036937 0.8573058695
-0.4458362755 0.2574036937 0.8573058695
0.0000000000 -0.5148073874 0.8573058695
K_POINTS {automatic}
2 2 2 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf1.in |tee $PREFIX.scf1.out
$ECHO " done"
# Extract the number of Kohn-Sham states from the previous run
nstates=`grep 'number of Kohn-Sham states' $PREFIX.scf1.out | awk '{print $5}'`
# Extract the value of the total magnetization from the previous run
totmagn=`grep 'total magnetization' $PREFIX.scf1.out | tail -1 | awk '{print $4}'`
# Second self-consistent calculation
cat > $PREFIX.scf2.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 0,
celldm(1) = 14.5533,
nat = 8,
ntyp = 2,
ecutwfc = 45.0,
ecutrho = 360.0,
nbnd = $nstates
occupations = 'fixed'
nspin = 2,
tot_magnetization = $totmagn
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
startingpot = 'file'
startingwfc = 'file'
/
ATOMIC_SPECIES
Cr 51.996 cr_pbesol_v1.5.uspp.F.UPF
I 126.9045 I.pbesol-n-kjpaw_psl.0.2.UPF
ATOMIC_POSITIONS {crystal}
Cr 0.3337100000 0.3337100000 0.3337100000
Cr 0.6662900000 0.6662900000 0.6662900000
I 0.7290700000 0.4299600000 0.0777700000
I 0.2709300000 0.5700400000 0.9222300000
I 0.5700400000 0.9222300000 0.2709300000
I 0.4299600000 0.0777700000 0.7290700000
I 0.0777700000 0.7290700000 0.4299600000
I 0.9222300000 0.2709300000 0.5700400000
CELL_PARAMETERS {alat}
0.4458362755 0.2574036937 0.8573058695
-0.4458362755 0.2574036937 0.8573058695
0.0000000000 -0.5148073874 0.8573058695
K_POINTS {automatic}
2 2 2 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf2.in |tee $PREFIX.scf2.out
$ECHO " done"
# Perform the linear-response calculation
cat > $PREFIX.hp.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.in |tee $PREFIX.hp.out
$ECHO " done"

View File

@ -0,0 +1,100 @@
=-------------------------------------------------------------------=
Hubbard U parameters:
site n. type label spin new_type new_label Hubbard U (eV)
1 1 Ni 1 1 Ni 6.6446
=-------------------------------------------------------------------=
chi0 matrix :
-1.800652 0.191939 0.191939 0.191939 0.191939 0.191939 0.191939 0.607043
0.191939 -1.800652 0.191939 0.191939 0.191939 0.191939 0.607043 0.191939
0.191939 0.191939 -1.800652 0.191939 0.191939 0.607043 0.191939 0.191939
0.191939 0.191939 0.191939 -1.800652 0.607043 0.191939 0.191939 0.191939
0.191939 0.191939 0.191939 0.607043 -1.800652 0.191939 0.191939 0.191939
0.191939 0.191939 0.607043 0.191939 0.191939 -1.800652 0.191939 0.191939
0.191939 0.607043 0.191939 0.191939 0.191939 0.191939 -1.800652 0.191939
0.607043 0.191939 0.191939 0.191939 0.191939 0.191939 0.191939 -1.800652
chi matrix :
-0.134319 0.013429 0.013429 0.013429 0.013429 0.013429 0.013429 0.023810
0.013429 -0.134319 0.013429 0.013429 0.013429 0.013429 0.023810 0.013429
0.013429 0.013429 -0.134319 0.013429 0.013429 0.023810 0.013429 0.013429
0.013429 0.013429 0.013429 -0.134319 0.023810 0.013429 0.013429 0.013429
0.013429 0.013429 0.013429 0.023810 -0.134319 0.013429 0.013429 0.013429
0.013429 0.013429 0.023810 0.013429 0.013429 -0.134319 0.013429 0.013429
0.013429 0.023810 0.013429 0.013429 0.013429 0.013429 -0.134319 0.013429
0.023810 0.013429 0.013429 0.013429 0.013429 0.013429 0.013429 -0.134319
chi0^{-1} matrix :
-3.423176 -2.898548 -2.898548 -2.898548 -2.898548 -2.898548 -2.898548 -3.007841
-2.898548 -3.423176 -2.898548 -2.898548 -2.898548 -2.898548 -3.007841 -2.898548
-2.898548 -2.898548 -3.423176 -2.898548 -2.898548 -3.007841 -2.898548 -2.898548
-2.898548 -2.898548 -2.898548 -3.423176 -3.007841 -2.898548 -2.898548 -2.898548
-2.898548 -2.898548 -2.898548 -3.007841 -3.423176 -2.898548 -2.898548 -2.898548
-2.898548 -2.898548 -3.007841 -2.898548 -2.898548 -3.423176 -2.898548 -2.898548
-2.898548 -3.007841 -2.898548 -2.898548 -2.898548 -2.898548 -3.423176 -2.898548
-3.007841 -2.898548 -2.898548 -2.898548 -2.898548 -2.898548 -2.898548 -3.423176
chi^{-1} matrix :
-10.067823 -3.265980 -3.265980 -3.265980 -3.265980 -3.265980 -3.265980 -3.743864
-3.265980 -10.067823 -3.265980 -3.265980 -3.265980 -3.265980 -3.743864 -3.265980
-3.265980 -3.265980 -10.067823 -3.265980 -3.265980 -3.743864 -3.265980 -3.265980
-3.265980 -3.265980 -3.265980 -10.067823 -3.743864 -3.265980 -3.265980 -3.265980
-3.265980 -3.265980 -3.265980 -3.743864 -10.067823 -3.265980 -3.265980 -3.265980
-3.265980 -3.265980 -3.743864 -3.265980 -3.265980 -10.067823 -3.265980 -3.265980
-3.265980 -3.743864 -3.265980 -3.265980 -3.265980 -3.265980 -10.067823 -3.265980
-3.743864 -3.265980 -3.265980 -3.265980 -3.265980 -3.265980 -3.265980 -10.067823
Hubbard matrix :
6.644648 0.367432 0.367432 0.367432 0.367432 0.367432 0.367432 0.736024
0.367432 6.644648 0.367432 0.367432 0.367432 0.367432 0.736024 0.367432
0.367432 0.367432 6.644648 0.367432 0.367432 0.736024 0.367432 0.367432
0.367432 0.367432 0.367432 6.644648 0.736024 0.367432 0.367432 0.367432
0.367432 0.367432 0.367432 0.736024 6.644648 0.367432 0.367432 0.367432
0.367432 0.367432 0.736024 0.367432 0.367432 6.644648 0.367432 0.367432
0.367432 0.736024 0.367432 0.367432 0.367432 0.367432 6.644648 0.367432
0.736024 0.367432 0.367432 0.367432 0.367432 0.367432 0.367432 6.644648

View File

@ -0,0 +1,7 @@
&inputhp
prefix = 'Ni',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='Ni'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 2,
celldm(1) = 6.48,
nat = 1,
ntyp = 1,
ecutwfc = 50.0,
ecutrho = 400.0,
occupations = 'smearing',
smearing = 'mv',
degauss = 0.02,
nspin = 2,
starting_magnetization(1) = 0.5,
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Ni 58.693 ni_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Ni 0.0000000000 0.000000000 0.000000000
K_POINTS {automatic}
2 2 2 0 0 0

File diff suppressed because it is too large Load Diff

131
HP/examples/example04/run_example Executable file
View File

@ -0,0 +1,131 @@
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=`pwd`
# check whether ECHO has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi
$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and hp.x to calculate"
$ECHO "the Hubbard U parameter for Ni."
# set the needed environment variables
. ../environment_variables
# required executables and pseudopotentials
BIN_LIST="pw.x hp.x"
PSEUDO_LIST="ni_pbesol_v1.4.uspp.F.UPF"
$ECHO
$ECHO " executables directory: $BIN_DIR"
$ECHO " pseudo directory: $PSEUDO_DIR"
$ECHO " temporary directory: $TMP_DIR"
$ECHO
$ECHO " checking that needed directories and files exist...\c"
$ECHO
$ECHO " Pseudopotentials were selected from the SSSP library:"
$ECHO " https://www.materialscloud.org/discover/sssp/table/precision\c"
$ECHO
# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
if test ! -d $DIR ; then
$ECHO
$ECHO "ERROR: $DIR not existent or not a directory"
$ECHO "Aborting"
exit 1
fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
if test ! -d $DIR ; then
mkdir $DIR
fi
done
cd $EXAMPLE_DIR/results
# check for executables
for FILE in $BIN_LIST ; do
if test ! -x $BIN_DIR/$FILE ; then
$ECHO
$ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
$ECHO "Aborting"
exit 1
fi
done
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
HP_COMMAND="$PARA_PREFIX $BIN_DIR/hp.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO " running hp.x as: $HP_COMMAND"
$ECHO
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"
PREFIX='Ni'
# self-consistent calculation
cat > $PREFIX.scf.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 2,
celldm(1) = 6.48,
nat = 1,
ntyp = 1,
ecutwfc = 50.0,
ecutrho = 400.0,
occupations = 'smearing',
smearing = 'mv',
degauss = 0.02,
nspin = 2,
starting_magnetization(1) = 0.5,
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Ni 58.693 ni_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Ni 0.0000000000 0.000000000 0.000000000
K_POINTS {automatic}
2 2 2 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf.in |tee $PREFIX.scf.out
$ECHO " done"
# Perform the linear-response calculation
cat > $PREFIX.hp.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.in |tee $PREFIX.hp.out
$ECHO " done"

View File

@ -0,0 +1,100 @@
=-------------------------------------------------------------------=
Hubbard U parameters:
site n. type label spin new_type new_label Hubbard U (eV)
1 1 Co 1 1 Co 7.6053
=-------------------------------------------------------------------=
chi0 matrix :
-0.271725 0.000236 0.000236 0.006057 0.000236 0.006057 0.006057 0.000897
0.000236 -0.271725 0.006057 0.000236 0.006057 0.000236 0.000897 0.006057
0.000236 0.006057 -0.271725 0.000236 0.006057 0.000897 0.000236 0.006057
0.006057 0.000236 0.000236 -0.271725 0.000897 0.006057 0.006057 0.000236
0.000236 0.006057 0.006057 0.000897 -0.271725 0.000236 0.000236 0.006057
0.006057 0.000236 0.000897 0.006057 0.000236 -0.271725 0.006057 0.000236
0.006057 0.000897 0.000236 0.006057 0.000236 0.006057 -0.271725 0.000236
0.000897 0.006057 0.006057 0.000236 0.006057 0.000236 0.000236 -0.271725
chi matrix :
-0.088625 0.000004 0.000004 0.001331 0.000004 0.001331 0.001331 0.000124
0.000004 -0.088625 0.001331 0.000004 0.001331 0.000004 0.000124 0.001331
0.000004 0.001331 -0.088625 0.000004 0.001331 0.000124 0.000004 0.001331
0.001331 0.000004 0.000004 -0.088625 0.000124 0.001331 0.001331 0.000004
0.000004 0.001331 0.001331 0.000124 -0.088625 0.000004 0.000004 0.001331
0.001331 0.000004 0.000124 0.001331 0.000004 -0.088625 0.001331 0.000004
0.001331 0.000124 0.000004 0.001331 0.000004 0.001331 -0.088625 0.000004
0.000124 0.001331 0.001331 0.000004 0.001331 0.000004 0.000004 -0.088625
chi0^{-1} matrix :
-3.685994 -0.004094 -0.004094 -0.086034 -0.004094 -0.086034 -0.086034 -0.012659
-0.004094 -3.685994 -0.086034 -0.004094 -0.086034 -0.004094 -0.012659 -0.086034
-0.004094 -0.086034 -3.685994 -0.004094 -0.086034 -0.012659 -0.004094 -0.086034
-0.086034 -0.004094 -0.004094 -3.685994 -0.012659 -0.086034 -0.086034 -0.004094
-0.004094 -0.086034 -0.086034 -0.012659 -3.685994 -0.004094 -0.004094 -0.086034
-0.086034 -0.004094 -0.012659 -0.086034 -0.004094 -3.685994 -0.086034 -0.004094
-0.086034 -0.012659 -0.004094 -0.086034 -0.004094 -0.086034 -3.685994 -0.004094
-0.012659 -0.086034 -0.086034 -0.004094 -0.086034 -0.004094 -0.004094 -3.685994
chi^{-1} matrix :
-11.291342 -0.001069 -0.001069 -0.174865 -0.001069 -0.174865 -0.174865 -0.015911
-0.001069 -11.291342 -0.174865 -0.001069 -0.174865 -0.001069 -0.015911 -0.174865
-0.001069 -0.174865 -11.291342 -0.001069 -0.174865 -0.015911 -0.001069 -0.174865
-0.174865 -0.001069 -0.001069 -11.291342 -0.015911 -0.174865 -0.174865 -0.001069
-0.001069 -0.174865 -0.174865 -0.015911 -11.291342 -0.001069 -0.001069 -0.174865
-0.174865 -0.001069 -0.015911 -0.174865 -0.001069 -11.291342 -0.174865 -0.001069
-0.174865 -0.015911 -0.001069 -0.174865 -0.001069 -0.174865 -11.291342 -0.001069
-0.015911 -0.174865 -0.174865 -0.001069 -0.174865 -0.001069 -0.001069 -11.291342
Hubbard matrix :
7.605348 -0.003025 -0.003025 0.088831 -0.003025 0.088831 0.088831 0.003252
-0.003025 7.605348 0.088831 -0.003025 0.088831 -0.003025 0.003252 0.088831
-0.003025 0.088831 7.605348 -0.003025 0.088831 0.003252 -0.003025 0.088831
0.088831 -0.003025 -0.003025 7.605348 0.003252 0.088831 0.088831 -0.003025
-0.003025 0.088831 0.088831 0.003252 7.605348 -0.003025 -0.003025 0.088831
0.088831 -0.003025 0.003252 0.088831 -0.003025 7.605348 0.088831 -0.003025
0.088831 0.003252 -0.003025 0.088831 -0.003025 0.088831 7.605348 -0.003025
0.003252 0.088831 0.088831 -0.003025 0.088831 -0.003025 -0.003025 7.605348

View File

@ -0,0 +1,7 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,36 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='LiCoO2'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 5,
celldm(1) = 9.3705,
celldm(4) = 0.83874,
nat = 4,
ntyp = 3,
ecutwfc = 50.0
ecutrho = 400.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 8.17
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Co 59.0 co_pbesol_v1.2.uspp.F.UPF
O 16.0 O.pbesol-n-kjpaw_psl.0.1.UPF
Li 7.0 li_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Co 0.0000000000 0.0000000000 0.0000000000
O 0.2604885000 0.2604885000 0.2604885000
O 0.7395115000 0.7395115000 0.7395115000
Li 0.5000000000 0.5000000000 0.5000000000
K_POINTS {automatic}
2 2 2 0 0 0

File diff suppressed because it is too large Load Diff

132
HP/examples/example05/run_example Executable file
View File

@ -0,0 +1,132 @@
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=`pwd`
# check whether ECHO has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi
$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and hp.x to calculate"
$ECHO "the Hubbard U parameters for Co in LiCoO2."
# set the needed environment variables
. ../environment_variables
# required executables and pseudopotentials
BIN_LIST="pw.x hp.x"
PSEUDO_LIST="co_pbesol_v1.2.uspp.F.UPF O.pbesol-n-kjpaw_psl.0.1.UPF li_pbesol_v1.4.uspp.F.UPF"
$ECHO
$ECHO " executables directory: $BIN_DIR"
$ECHO " pseudo directory: $PSEUDO_DIR"
$ECHO " temporary directory: $TMP_DIR"
$ECHO
$ECHO " checking that needed directories and files exist...\c"
$ECHO
$ECHO " Pseudopotentials were selected from the SSSP library:"
$ECHO " https://www.materialscloud.org/discover/sssp/table/precision\c"
$ECHO
# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
if test ! -d $DIR ; then
$ECHO
$ECHO "ERROR: $DIR not existent or not a directory"
$ECHO "Aborting"
exit 1
fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
if test ! -d $DIR ; then
mkdir $DIR
fi
done
cd $EXAMPLE_DIR/results
# check for executables
for FILE in $BIN_LIST ; do
if test ! -x $BIN_DIR/$FILE ; then
$ECHO
$ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
$ECHO "Aborting"
exit 1
fi
done
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
HP_COMMAND="$PARA_PREFIX $BIN_DIR/hp.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO " running hp.x as: $HP_COMMAND"
$ECHO
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"
PREFIX='LiCoO2'
# self-consistent calculation
cat > $PREFIX.scf.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 5,
celldm(1) = 9.3705,
celldm(4) = 0.83874,
nat = 4,
ntyp = 3,
ecutwfc = 50.0
ecutrho = 400.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 8.17
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Co 59.0 co_pbesol_v1.2.uspp.F.UPF
O 16.0 O.pbesol-n-kjpaw_psl.0.1.UPF
Li 7.0 li_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Co 0.0000000000 0.0000000000 0.0000000000
O 0.2604885000 0.2604885000 0.2604885000
O 0.7395115000 0.7395115000 0.7395115000
Li 0.5000000000 0.5000000000 0.5000000000
K_POINTS {automatic}
2 2 2 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf.in |tee $PREFIX.scf.out
$ECHO " done"
# Perform the linear-response calculation
cat > $PREFIX.hp.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.in |tee $PREFIX.hp.out
$ECHO " done"

View File

@ -0,0 +1,502 @@
=-------------------------------------------------------------------=
Hubbard U parameters:
site n. type label spin new_type new_label Hubbard U (eV)
1 1 Co 1 1 Co 7.9082
2 2 O 1 2 O 8.9110
3 2 O 1 2 O 8.9110
=-------------------------------------------------------------------=
chi0 matrix :
-0.480672 0.000150 0.017107 0.000740 0.035930 0.000054 0.000740 0.035930
0.000054 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 0.071274
0.000054 0.035930 0.071274 0.000054 0.035930 0.000055 0.017107 0.000150
0.000150 -0.231713 0.000062 0.035930 0.000132 0.006453 0.035930 0.000132
0.006453 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.000054
0.000380 -0.000050 0.000054 0.000380 -0.000050 0.017107 -0.000089 0.034878
0.017107 0.000062 -0.231713 0.000054 0.006453 0.000132 0.000054 0.006453
0.000132 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.035930
-0.000050 0.000380 0.035930 -0.000050 0.000380 0.000150 0.034878 -0.000089
0.000740 0.035930 0.000054 -0.480672 0.000150 0.017107 0.071274 0.000054
0.035930 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 0.000740
0.035930 0.000054 0.000055 0.017107 0.000150 0.071274 0.000054 0.035930
0.035930 0.000132 0.006453 0.000150 -0.231713 0.000062 0.000054 0.000380
-0.000050 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.035930
0.000132 0.006453 0.017107 -0.000089 0.034878 0.000054 0.000380 -0.000050
0.000054 0.006453 0.000132 0.017107 0.000062 -0.231713 0.035930 -0.000050
0.000380 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.000054
0.006453 0.000132 0.000150 0.034878 -0.000089 0.035930 -0.000050 0.000380
0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 -0.480672 0.000150
0.017107 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 0.000055
0.017107 0.000150 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930
0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.000150 -0.231713
0.000062 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.017107
-0.000089 0.034878 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050
0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.017107 0.000062
-0.231713 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.000150
0.034878 -0.000089 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380
0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 0.000740 0.035930
0.000054 -0.480672 0.000150 0.017107 0.000055 0.017107 0.000150 0.071274
0.000054 0.035930 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054
0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.035930 0.000132
0.006453 0.000150 -0.231713 0.000062 0.017107 -0.000089 0.034878 0.000054
0.000380 -0.000050 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453
0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.000054 0.006453
0.000132 0.017107 0.000062 -0.231713 0.000150 0.034878 -0.000089 0.035930
-0.000050 0.000380 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132
0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 0.071274 0.000054
0.035930 0.000055 0.017107 0.000150 -0.480672 0.000150 0.017107 0.000740
0.035930 0.000054 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930
0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.000054 0.000380
-0.000050 0.017107 -0.000089 0.034878 0.000150 -0.231713 0.000062 0.035930
0.000132 0.006453 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050
0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.035930 -0.000050
0.000380 0.000150 0.034878 -0.000089 0.017107 0.000062 -0.231713 0.000054
0.006453 0.000132 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380
0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 0.000055 0.017107
0.000150 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 -0.480672
0.000150 0.017107 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054
0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.017107 -0.000089
0.034878 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.000150
-0.231713 0.000062 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453
0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.000150 0.034878
-0.000089 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.017107
0.000062 -0.231713 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132
0.071274 0.000054 0.035930 0.000055 0.017107 0.000150 0.000740 0.035930
0.000054 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 0.071274
0.000054 0.035930 -0.480672 0.000150 0.017107 0.000740 0.035930 0.000054
0.000054 0.000380 -0.000050 0.017107 -0.000089 0.034878 0.035930 0.000132
0.006453 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.000054
0.000380 -0.000050 0.000150 -0.231713 0.000062 0.035930 0.000132 0.006453
0.035930 -0.000050 0.000380 0.000150 0.034878 -0.000089 0.000054 0.006453
0.000132 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.035930
-0.000050 0.000380 0.017107 0.000062 -0.231713 0.000054 0.006453 0.000132
0.000055 0.017107 0.000150 0.071274 0.000054 0.035930 0.071274 0.000054
0.035930 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 0.000740
0.035930 0.000054 0.000740 0.035930 0.000054 -0.480672 0.000150 0.017107
0.017107 -0.000089 0.034878 0.000054 0.000380 -0.000050 0.000054 0.000380
-0.000050 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.035930
0.000132 0.006453 0.035930 0.000132 0.006453 0.000150 -0.231713 0.000062
0.000150 0.034878 -0.000089 0.035930 -0.000050 0.000380 0.035930 -0.000050
0.000380 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.000054
0.006453 0.000132 0.000054 0.006453 0.000132 0.017107 0.000062 -0.231713
chi matrix :
-0.096170 0.000191 0.001904 0.000063 0.008864 -0.000035 0.000063 0.008864
-0.000035 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 0.004112
-0.000035 0.008864 0.004112 -0.000035 0.008864 -0.000002 0.001904 0.000191
0.000191 -0.074278 0.000068 0.008864 -0.000715 0.001626 0.008864 -0.000715
0.001626 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 -0.000035
0.002809 0.000742 -0.000035 0.002809 0.000742 0.001904 -0.000600 0.003140
0.001904 0.000068 -0.074278 -0.000035 0.001626 -0.000715 -0.000035 0.001626
-0.000715 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 0.008864
0.000742 0.002809 0.008864 0.000742 0.002809 0.000191 0.003140 -0.000600
0.000063 0.008864 -0.000035 -0.096170 0.000191 0.001904 0.004112 -0.000035
0.008864 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 0.000063
0.008864 -0.000035 -0.000002 0.001904 0.000191 0.004112 -0.000035 0.008864
0.008864 -0.000715 0.001626 0.000191 -0.074278 0.000068 -0.000035 0.002809
0.000742 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 0.008864
-0.000715 0.001626 0.001904 -0.000600 0.003140 -0.000035 0.002809 0.000742
-0.000035 0.001626 -0.000715 0.001904 0.000068 -0.074278 0.008864 0.000742
0.002809 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 -0.000035
0.001626 -0.000715 0.000191 0.003140 -0.000600 0.008864 0.000742 0.002809
0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 -0.096170 0.000191
0.001904 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 -0.000002
0.001904 0.000191 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864
0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 0.000191 -0.074278
0.000068 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 0.001904
-0.000600 0.003140 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742
-0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 0.001904 0.000068
-0.074278 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 0.000191
0.003140 -0.000600 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809
0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 0.000063 0.008864
-0.000035 -0.096170 0.000191 0.001904 -0.000002 0.001904 0.000191 0.004112
-0.000035 0.008864 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035
-0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 0.008864 -0.000715
0.001626 0.000191 -0.074278 0.000068 0.001904 -0.000600 0.003140 -0.000035
0.002809 0.000742 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626
0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 -0.000035 0.001626
-0.000715 0.001904 0.000068 -0.074278 0.000191 0.003140 -0.000600 0.008864
0.000742 0.002809 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715
0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 0.004112 -0.000035
0.008864 -0.000002 0.001904 0.000191 -0.096170 0.000191 0.001904 0.000063
0.008864 -0.000035 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864
0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 -0.000035 0.002809
0.000742 0.001904 -0.000600 0.003140 0.000191 -0.074278 0.000068 0.008864
-0.000715 0.001626 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742
-0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 0.008864 0.000742
0.002809 0.000191 0.003140 -0.000600 0.001904 0.000068 -0.074278 -0.000035
0.001626 -0.000715 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809
0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 -0.000002 0.001904
0.000191 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 -0.096170
0.000191 0.001904 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035
-0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 0.001904 -0.000600
0.003140 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 0.000191
-0.074278 0.000068 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626
0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 0.000191 0.003140
-0.000600 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 0.001904
0.000068 -0.074278 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715
0.004112 -0.000035 0.008864 -0.000002 0.001904 0.000191 0.000063 0.008864
-0.000035 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 0.004112
-0.000035 0.008864 -0.096170 0.000191 0.001904 0.000063 0.008864 -0.000035
-0.000035 0.002809 0.000742 0.001904 -0.000600 0.003140 0.008864 -0.000715
0.001626 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 -0.000035
0.002809 0.000742 0.000191 -0.074278 0.000068 0.008864 -0.000715 0.001626
0.008864 0.000742 0.002809 0.000191 0.003140 -0.000600 -0.000035 0.001626
-0.000715 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 0.008864
0.000742 0.002809 0.001904 0.000068 -0.074278 -0.000035 0.001626 -0.000715
-0.000002 0.001904 0.000191 0.004112 -0.000035 0.008864 0.004112 -0.000035
0.008864 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 0.000063
0.008864 -0.000035 0.000063 0.008864 -0.000035 -0.096170 0.000191 0.001904
0.001904 -0.000600 0.003140 -0.000035 0.002809 0.000742 -0.000035 0.002809
0.000742 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 0.008864
-0.000715 0.001626 0.008864 -0.000715 0.001626 0.000191 -0.074278 0.000068
0.000191 0.003140 -0.000600 0.008864 0.000742 0.002809 0.008864 0.000742
0.002809 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 -0.000035
0.001626 -0.000715 -0.000035 0.001626 -0.000715 0.001904 0.000068 -0.074278
chi0^{-1} matrix :
-4.151734 -0.082226 -1.846012 -0.105087 -2.014524 -0.081053 -0.105087 -2.014524
-0.081053 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -2.328464
-0.081053 -2.014524 -2.328464 -0.081053 -2.014524 -0.102684 -1.846012 -0.082226
-0.082226 -5.837391 -0.063794 -2.014524 -0.065289 -1.529437 -2.014524 -0.065289
-1.529437 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -0.081053
-1.447592 -0.062847 -0.081053 -1.447592 -0.062847 -1.846012 -0.061325 -2.080738
-1.846012 -0.063794 -5.837391 -0.081053 -1.529437 -0.065289 -0.081053 -1.529437
-0.065289 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -2.014524
-0.062847 -1.447592 -2.014524 -0.062847 -1.447592 -0.082226 -2.080738 -0.061325
-0.105087 -2.014524 -0.081053 -4.151734 -0.082226 -1.846012 -2.328464 -0.081053
-2.014524 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -0.105087
-2.014524 -0.081053 -0.102684 -1.846012 -0.082226 -2.328464 -0.081053 -2.014524
-2.014524 -0.065289 -1.529437 -0.082226 -5.837391 -0.063794 -0.081053 -1.447592
-0.062847 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -2.014524
-0.065289 -1.529437 -1.846012 -0.061325 -2.080738 -0.081053 -1.447592 -0.062847
-0.081053 -1.529437 -0.065289 -1.846012 -0.063794 -5.837391 -2.014524 -0.062847
-1.447592 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -0.081053
-1.529437 -0.065289 -0.082226 -2.080738 -0.061325 -2.014524 -0.062847 -1.447592
-0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -4.151734 -0.082226
-1.846012 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -0.102684
-1.846012 -0.082226 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524
-2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -0.082226 -5.837391
-0.063794 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -1.846012
-0.061325 -2.080738 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847
-0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -1.846012 -0.063794
-5.837391 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -0.082226
-2.080738 -0.061325 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592
-2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -0.105087 -2.014524
-0.081053 -4.151734 -0.082226 -1.846012 -0.102684 -1.846012 -0.082226 -2.328464
-0.081053 -2.014524 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053
-0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -2.014524 -0.065289
-1.529437 -0.082226 -5.837391 -0.063794 -1.846012 -0.061325 -2.080738 -0.081053
-1.447592 -0.062847 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437
-2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -0.081053 -1.529437
-0.065289 -1.846012 -0.063794 -5.837391 -0.082226 -2.080738 -0.061325 -2.014524
-0.062847 -1.447592 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289
-0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -2.328464 -0.081053
-2.014524 -0.102684 -1.846012 -0.082226 -4.151734 -0.082226 -1.846012 -0.105087
-2.014524 -0.081053 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524
-2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -0.081053 -1.447592
-0.062847 -1.846012 -0.061325 -2.080738 -0.082226 -5.837391 -0.063794 -2.014524
-0.065289 -1.529437 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847
-0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -2.014524 -0.062847
-1.447592 -0.082226 -2.080738 -0.061325 -1.846012 -0.063794 -5.837391 -0.081053
-1.529437 -0.065289 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592
-2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -0.102684 -1.846012
-0.082226 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -4.151734
-0.082226 -1.846012 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053
-0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -1.846012 -0.061325
-2.080738 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -0.082226
-5.837391 -0.063794 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437
-2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -0.082226 -2.080738
-0.061325 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -1.846012
-0.063794 -5.837391 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289
-2.328464 -0.081053 -2.014524 -0.102684 -1.846012 -0.082226 -0.105087 -2.014524
-0.081053 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -2.328464
-0.081053 -2.014524 -4.151734 -0.082226 -1.846012 -0.105087 -2.014524 -0.081053
-0.081053 -1.447592 -0.062847 -1.846012 -0.061325 -2.080738 -2.014524 -0.065289
-1.529437 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -0.081053
-1.447592 -0.062847 -0.082226 -5.837391 -0.063794 -2.014524 -0.065289 -1.529437
-2.014524 -0.062847 -1.447592 -0.082226 -2.080738 -0.061325 -0.081053 -1.529437
-0.065289 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -2.014524
-0.062847 -1.447592 -1.846012 -0.063794 -5.837391 -0.081053 -1.529437 -0.065289
-0.102684 -1.846012 -0.082226 -2.328464 -0.081053 -2.014524 -2.328464 -0.081053
-2.014524 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -0.105087
-2.014524 -0.081053 -0.105087 -2.014524 -0.081053 -4.151734 -0.082226 -1.846012
-1.846012 -0.061325 -2.080738 -0.081053 -1.447592 -0.062847 -0.081053 -1.447592
-0.062847 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -2.014524
-0.065289 -1.529437 -2.014524 -0.065289 -1.529437 -0.082226 -5.837391 -0.063794
-0.082226 -2.080738 -0.061325 -2.014524 -0.062847 -1.447592 -2.014524 -0.062847
-1.447592 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -0.081053
-1.529437 -0.065289 -0.081053 -1.529437 -0.065289 -1.846012 -0.063794 -5.837391
chi^{-1} matrix :
-12.059969 -0.024006 -1.511456 -0.015194 -2.442057 0.014556 -0.015194 -2.442057
0.014556 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 -1.958759
0.014556 -2.442057 -1.958759 0.014556 -2.442057 0.000829 -1.511456 -0.024006
-0.024006 -14.748431 -0.001807 -2.442057 0.142363 -1.465052 -2.442057 0.142363
-1.465052 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 0.014556
-1.684238 -0.121600 0.014556 -1.684238 -0.121600 -1.511456 0.134471 -1.805401
-1.511456 -0.001807 -14.748431 0.014556 -1.465052 0.142363 0.014556 -1.465052
0.142363 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 -2.442057
-0.121600 -1.684238 -2.442057 -0.121600 -1.684238 -0.024006 -1.805401 0.134471
-0.015194 -2.442057 0.014556 -12.059969 -0.024006 -1.511456 -1.958759 0.014556
-2.442057 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 -0.015194
-2.442057 0.014556 0.000829 -1.511456 -0.024006 -1.958759 0.014556 -2.442057
-2.442057 0.142363 -1.465052 -0.024006 -14.748431 -0.001807 0.014556 -1.684238
-0.121600 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 -2.442057
0.142363 -1.465052 -1.511456 0.134471 -1.805401 0.014556 -1.684238 -0.121600
0.014556 -1.465052 0.142363 -1.511456 -0.001807 -14.748431 -2.442057 -0.121600
-1.684238 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 0.014556
-1.465052 0.142363 -0.024006 -1.805401 0.134471 -2.442057 -0.121600 -1.684238
-0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 -12.059969 -0.024006
-1.511456 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 0.000829
-1.511456 -0.024006 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057
-2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 -0.024006 -14.748431
-0.001807 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 -1.511456
0.134471 -1.805401 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600
0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 -1.511456 -0.001807
-14.748431 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 -0.024006
-1.805401 0.134471 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238
-1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 -0.015194 -2.442057
0.014556 -12.059969 -0.024006 -1.511456 0.000829 -1.511456 -0.024006 -1.958759
0.014556 -2.442057 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556
0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 -2.442057 0.142363
-1.465052 -0.024006 -14.748431 -0.001807 -1.511456 0.134471 -1.805401 0.014556
-1.684238 -0.121600 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052
-2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 0.014556 -1.465052
0.142363 -1.511456 -0.001807 -14.748431 -0.024006 -1.805401 0.134471 -2.442057
-0.121600 -1.684238 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363
-0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 -1.958759 0.014556
-2.442057 0.000829 -1.511456 -0.024006 -12.059969 -0.024006 -1.511456 -0.015194
-2.442057 0.014556 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057
-2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 0.014556 -1.684238
-0.121600 -1.511456 0.134471 -1.805401 -0.024006 -14.748431 -0.001807 -2.442057
0.142363 -1.465052 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600
0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 -2.442057 -0.121600
-1.684238 -0.024006 -1.805401 0.134471 -1.511456 -0.001807 -14.748431 0.014556
-1.465052 0.142363 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238
-1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 0.000829 -1.511456
-0.024006 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 -12.059969
-0.024006 -1.511456 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556
0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 -1.511456 0.134471
-1.805401 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 -0.024006
-14.748431 -0.001807 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052
-2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 -0.024006 -1.805401
0.134471 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 -1.511456
-0.001807 -14.748431 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363
-1.958759 0.014556 -2.442057 0.000829 -1.511456 -0.024006 -0.015194 -2.442057
0.014556 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 -1.958759
0.014556 -2.442057 -12.059969 -0.024006 -1.511456 -0.015194 -2.442057 0.014556
0.014556 -1.684238 -0.121600 -1.511456 0.134471 -1.805401 -2.442057 0.142363
-1.465052 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 0.014556
-1.684238 -0.121600 -0.024006 -14.748431 -0.001807 -2.442057 0.142363 -1.465052
-2.442057 -0.121600 -1.684238 -0.024006 -1.805401 0.134471 0.014556 -1.465052
0.142363 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 -2.442057
-0.121600 -1.684238 -1.511456 -0.001807 -14.748431 0.014556 -1.465052 0.142363
0.000829 -1.511456 -0.024006 -1.958759 0.014556 -2.442057 -1.958759 0.014556
-2.442057 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 -0.015194
-2.442057 0.014556 -0.015194 -2.442057 0.014556 -12.059969 -0.024006 -1.511456
-1.511456 0.134471 -1.805401 0.014556 -1.684238 -0.121600 0.014556 -1.684238
-0.121600 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 -2.442057
0.142363 -1.465052 -2.442057 0.142363 -1.465052 -0.024006 -14.748431 -0.001807
-0.024006 -1.805401 0.134471 -2.442057 -0.121600 -1.684238 -2.442057 -0.121600
-1.684238 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 0.014556
-1.465052 0.142363 0.014556 -1.465052 0.142363 -1.511456 -0.001807 -14.748431
Hubbard matrix :
7.908234 -0.058221 -0.334557 -0.089894 0.427533 -0.095609 -0.089894 0.427533
-0.095609 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 -0.369705
-0.095609 0.427533 -0.369705 -0.095609 0.427533 -0.103513 -0.334557 -0.058221
-0.058221 8.911041 -0.061988 0.427533 -0.207652 -0.064385 0.427533 -0.207652
-0.064385 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 -0.095609
0.236646 0.058752 -0.095609 0.236646 0.058752 -0.334557 -0.195796 -0.275337
-0.334557 -0.061988 8.911041 -0.095609 -0.064385 -0.207652 -0.095609 -0.064385
-0.207652 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 0.427533
0.058752 0.236646 0.427533 0.058752 0.236646 -0.058221 -0.275337 -0.195796
-0.089894 0.427533 -0.095609 7.908234 -0.058221 -0.334557 -0.369705 -0.095609
0.427533 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 -0.089894
0.427533 -0.095609 -0.103513 -0.334557 -0.058221 -0.369705 -0.095609 0.427533
0.427533 -0.207652 -0.064385 -0.058221 8.911041 -0.061988 -0.095609 0.236646
0.058752 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 0.427533
-0.207652 -0.064385 -0.334557 -0.195796 -0.275337 -0.095609 0.236646 0.058752
-0.095609 -0.064385 -0.207652 -0.334557 -0.061988 8.911041 0.427533 0.058752
0.236646 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 -0.095609
-0.064385 -0.207652 -0.058221 -0.275337 -0.195796 0.427533 0.058752 0.236646
-0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 7.908234 -0.058221
-0.334557 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 -0.103513
-0.334557 -0.058221 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533
0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 -0.058221 8.911041
-0.061988 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 -0.334557
-0.195796 -0.275337 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752
-0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 -0.334557 -0.061988
8.911041 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 -0.058221
-0.275337 -0.195796 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646
-0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 -0.089894 0.427533
-0.095609 7.908234 -0.058221 -0.334557 -0.103513 -0.334557 -0.058221 -0.369705
-0.095609 0.427533 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609
-0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 0.427533 -0.207652
-0.064385 -0.058221 8.911041 -0.061988 -0.334557 -0.195796 -0.275337 -0.095609
0.236646 0.058752 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385
0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 -0.095609 -0.064385
-0.207652 -0.334557 -0.061988 8.911041 -0.058221 -0.275337 -0.195796 0.427533
0.058752 0.236646 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652
-0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 -0.369705 -0.095609
0.427533 -0.103513 -0.334557 -0.058221 7.908234 -0.058221 -0.334557 -0.089894
0.427533 -0.095609 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533
0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 -0.095609 0.236646
0.058752 -0.334557 -0.195796 -0.275337 -0.058221 8.911041 -0.061988 0.427533
-0.207652 -0.064385 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752
-0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 0.427533 0.058752
0.236646 -0.058221 -0.275337 -0.195796 -0.334557 -0.061988 8.911041 -0.095609
-0.064385 -0.207652 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646
-0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 -0.103513 -0.334557
-0.058221 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 7.908234
-0.058221 -0.334557 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609
-0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 -0.334557 -0.195796
-0.275337 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 -0.058221
8.911041 -0.061988 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385
0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 -0.058221 -0.275337
-0.195796 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 -0.334557
-0.061988 8.911041 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652
-0.369705 -0.095609 0.427533 -0.103513 -0.334557 -0.058221 -0.089894 0.427533
-0.095609 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 -0.369705
-0.095609 0.427533 7.908234 -0.058221 -0.334557 -0.089894 0.427533 -0.095609
-0.095609 0.236646 0.058752 -0.334557 -0.195796 -0.275337 0.427533 -0.207652
-0.064385 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 -0.095609
0.236646 0.058752 -0.058221 8.911041 -0.061988 0.427533 -0.207652 -0.064385
0.427533 0.058752 0.236646 -0.058221 -0.275337 -0.195796 -0.095609 -0.064385
-0.207652 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 0.427533
0.058752 0.236646 -0.334557 -0.061988 8.911041 -0.095609 -0.064385 -0.207652
-0.103513 -0.334557 -0.058221 -0.369705 -0.095609 0.427533 -0.369705 -0.095609
0.427533 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 -0.089894
0.427533 -0.095609 -0.089894 0.427533 -0.095609 7.908234 -0.058221 -0.334557
-0.334557 -0.195796 -0.275337 -0.095609 0.236646 0.058752 -0.095609 0.236646
0.058752 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 0.427533
-0.207652 -0.064385 0.427533 -0.207652 -0.064385 -0.058221 8.911041 -0.061988
-0.058221 -0.275337 -0.195796 0.427533 0.058752 0.236646 0.427533 0.058752
0.236646 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 -0.095609
-0.064385 -0.207652 -0.095609 -0.064385 -0.207652 -0.334557 -0.061988 8.911041

View File

@ -0,0 +1,8 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
perturb_only_atom(1) = .true.
iverbosity = 2
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
perturb_only_atom(2) = .true.
iverbosity = 2
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
collect_chi = .true.
iverbosity = 2
/

View File

@ -0,0 +1,102 @@
Program HP v.6.3 starts on 29Aug2018 at 13:36:53
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
"P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 8 processors
MPI processes distributed on 1 nodes
R & G space division: proc/nbgrp/npool/nimage = 8
=--------------------------------------------------------------------------=
Calculation of Hubbard parameters from DFPT; please cite this program as
I. Timrov, N. Marzari, and M. Cococcioni, Phys. Rev. B 98, 085127 (2018)
=--------------------------------------------------------------------------=
Reading data from directory:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/LiCoO2.save/
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
Message from routine read_upf::
Pseudo file /scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF has been successfully fixed on the fly.
To avoid this message in the future you can permanently fix
your pseudo files following instructions given in:
https://gitlab.com/QEF/q-e/blob/master/upftools/how_to_fix_upf.md
file O.pbesol-n-kjpaw_psl.0.1.UPF: wavefunction(s) 2P renormalized
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 28 3658 1285 218
Max 190 95 29 3660 1286 219
Sum 1517 755 229 29271 10281 1749
Check: negative/imaginary core charge= -0.000017 0.000000
--- in v_hubbard ---
Hubbard energy 0.0000
-------
bravais-lattice index = 5
lattice parameter (alat) = 9.3705 (a.u.)
unit-cell volume = 217.1091 (a.u.)^3
number of atoms/cell = 4
number of atomic types = 3
kinetic-energy cut-off = 50.00 (Ry)
charge density cut-off = 400.00 (Ry)
conv. thresh. for NSCF = 1.0E-11
conv. thresh. for chi = 1.0E-08
Input Hubbard parameters (in eV):
U ( 1) = 1.00000E-08
U ( 2) = 1.00000E-08
celldm(1) = 9.37050 celldm(2) = 0.00000 celldm(3) = 0.00000
celldm(4) = 0.83874 celldm(5) = 0.00000 celldm(6) = 0.00000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 0.2840 -0.1639 0.9447 )
a(2) = ( 0.0000 0.3279 0.9447 )
a(3) = ( -0.2840 -0.1639 0.9447 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.7608 -1.0166 0.3528 )
b(2) = ( 0.0000 2.0333 0.3528 )
b(3) = ( -1.7608 -1.0166 0.3528 )
Atoms inside the unit cell (Cartesian axes):
site n. atom mass positions (alat units)
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
3 O 16.0000 tau( 3) = ( 0.00000 -0.00000 2.09589 )
4 Li 7.0000 tau( 4) = ( 0.00000 -0.00000 1.41708 )
List of 2 atoms which will be perturbed (one at a time):
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
Post-processing calculation of Hubbard parameters ...
HP : 0.50s CPU 0.52s WALL
This run was terminated on: 13:36:53 29Aug2018
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

View File

@ -0,0 +1,37 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='LiCoO2'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 5,
celldm(1) = 9.3705,
celldm(4) = 0.83874,
nat = 4,
ntyp = 3,
ecutwfc = 50.0
ecutrho = 400.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Co 59.0 co_pbesol_v1.2.uspp.F.UPF
O 16.0 O.pbesol-n-kjpaw_psl.0.1.UPF
Li 7.0 li_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Co 0.0000000000 0.0000000000 0.0000000000
O 0.2604885000 0.2604885000 0.2604885000
O 0.7395115000 0.7395115000 0.7395115000
Li 0.5000000000 0.5000000000 0.5000000000
K_POINTS {automatic}
2 2 2 0 0 0

File diff suppressed because it is too large Load Diff

166
HP/examples/example06/run_example Executable file
View File

@ -0,0 +1,166 @@
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=`pwd`
# check whether ECHO has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi
$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and hp.x to calculate"
$ECHO "the Hubbard U parameters for Co and O in LiCoO2."
# set the needed environment variables
. ../environment_variables
# required executables and pseudopotentials
BIN_LIST="pw.x hp.x"
PSEUDO_LIST="co_pbesol_v1.2.uspp.F.UPF O.pbesol-n-kjpaw_psl.0.1.UPF li_pbesol_v1.4.uspp.F.UPF"
$ECHO
$ECHO " executables directory: $BIN_DIR"
$ECHO " pseudo directory: $PSEUDO_DIR"
$ECHO " temporary directory: $TMP_DIR"
$ECHO
$ECHO " checking that needed directories and files exist...\c"
$ECHO
$ECHO " Pseudopotentials were selected from the SSSP library:"
$ECHO " https://www.materialscloud.org/discover/sssp/table/precision\c"
$ECHO
# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
if test ! -d $DIR ; then
$ECHO
$ECHO "ERROR: $DIR not existent or not a directory"
$ECHO "Aborting"
exit 1
fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
if test ! -d $DIR ; then
mkdir $DIR
fi
done
cd $EXAMPLE_DIR/results
# check for executables
for FILE in $BIN_LIST ; do
if test ! -x $BIN_DIR/$FILE ; then
$ECHO
$ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
$ECHO "Aborting"
exit 1
fi
done
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
HP_COMMAND="$PARA_PREFIX $BIN_DIR/hp.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO " running hp.x as: $HP_COMMAND"
$ECHO
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"
PREFIX='LiCoO2'
# 1. The PWscf self-consistent calculation
cat > $PREFIX.scf.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 5,
celldm(1) = 9.3705,
celldm(4) = 0.83874,
nat = 4,
ntyp = 3,
ecutwfc = 50.0
ecutrho = 400.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Co 59.0 co_pbesol_v1.2.uspp.F.UPF
O 16.0 O.pbesol-n-kjpaw_psl.0.1.UPF
Li 7.0 li_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Co 0.0000000000 0.0000000000 0.0000000000
O 0.2604885000 0.2604885000 0.2604885000
O 0.7395115000 0.7395115000 0.7395115000
Li 0.5000000000 0.5000000000 0.5000000000
K_POINTS {automatic}
2 2 2 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf.in |tee $PREFIX.scf.out
$ECHO " done"
# 2. Perform the linear-response calculation: perturb Co
cat > $PREFIX.hp.Co.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
perturb_only_atom(1) = .true.
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.Co.in |tee $PREFIX.hp.Co.out
$ECHO " done"
# 3. Perform the linear-response calculation: perturb O
cat > $PREFIX.hp.O.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
perturb_only_atom(2) = .true.
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.O.in |tee $PREFIX.hp.O.out
$ECHO " done"
# 4. The final collection of the results and calculation of U
cat > $PREFIX.hp.final.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
collect_chi = .true.
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.final.in |tee $PREFIX.hp.final.out
$ECHO " done"

View File

@ -0,0 +1,502 @@
=-------------------------------------------------------------------=
Hubbard U parameters:
site n. type label spin new_type new_label Hubbard U (eV)
1 1 Co 1 1 Co 7.9082
2 2 O 1 2 O 8.9110
3 2 O 1 2 O 8.9110
=-------------------------------------------------------------------=
chi0 matrix :
-0.480672 0.000150 0.017107 0.000740 0.035930 0.000054 0.000740 0.035930
0.000054 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 0.071274
0.000054 0.035930 0.071274 0.000054 0.035930 0.000055 0.017107 0.000150
0.000150 -0.231713 0.000062 0.035930 0.000132 0.006453 0.035930 0.000132
0.006453 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.000054
0.000380 -0.000050 0.000054 0.000380 -0.000050 0.017107 -0.000089 0.034878
0.017107 0.000062 -0.231713 0.000054 0.006453 0.000132 0.000054 0.006453
0.000132 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.035930
-0.000050 0.000380 0.035930 -0.000050 0.000380 0.000150 0.034878 -0.000089
0.000740 0.035930 0.000054 -0.480672 0.000150 0.017107 0.071274 0.000054
0.035930 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 0.000740
0.035930 0.000054 0.000055 0.017107 0.000150 0.071274 0.000054 0.035930
0.035930 0.000132 0.006453 0.000150 -0.231713 0.000062 0.000054 0.000380
-0.000050 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.035930
0.000132 0.006453 0.017107 -0.000089 0.034878 0.000054 0.000380 -0.000050
0.000054 0.006453 0.000132 0.017107 0.000062 -0.231713 0.035930 -0.000050
0.000380 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.000054
0.006453 0.000132 0.000150 0.034878 -0.000089 0.035930 -0.000050 0.000380
0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 -0.480672 0.000150
0.017107 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 0.000055
0.017107 0.000150 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930
0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.000150 -0.231713
0.000062 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.017107
-0.000089 0.034878 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050
0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.017107 0.000062
-0.231713 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.000150
0.034878 -0.000089 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380
0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 0.000740 0.035930
0.000054 -0.480672 0.000150 0.017107 0.000055 0.017107 0.000150 0.071274
0.000054 0.035930 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054
0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.035930 0.000132
0.006453 0.000150 -0.231713 0.000062 0.017107 -0.000089 0.034878 0.000054
0.000380 -0.000050 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453
0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.000054 0.006453
0.000132 0.017107 0.000062 -0.231713 0.000150 0.034878 -0.000089 0.035930
-0.000050 0.000380 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132
0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 0.071274 0.000054
0.035930 0.000055 0.017107 0.000150 -0.480672 0.000150 0.017107 0.000740
0.035930 0.000054 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930
0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.000054 0.000380
-0.000050 0.017107 -0.000089 0.034878 0.000150 -0.231713 0.000062 0.035930
0.000132 0.006453 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050
0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.035930 -0.000050
0.000380 0.000150 0.034878 -0.000089 0.017107 0.000062 -0.231713 0.000054
0.006453 0.000132 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380
0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 0.000055 0.017107
0.000150 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 -0.480672
0.000150 0.017107 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054
0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.017107 -0.000089
0.034878 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.000150
-0.231713 0.000062 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453
0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.000150 0.034878
-0.000089 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.017107
0.000062 -0.231713 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132
0.071274 0.000054 0.035930 0.000055 0.017107 0.000150 0.000740 0.035930
0.000054 0.071274 0.000054 0.035930 0.000740 0.035930 0.000054 0.071274
0.000054 0.035930 -0.480672 0.000150 0.017107 0.000740 0.035930 0.000054
0.000054 0.000380 -0.000050 0.017107 -0.000089 0.034878 0.035930 0.000132
0.006453 0.000054 0.000380 -0.000050 0.035930 0.000132 0.006453 0.000054
0.000380 -0.000050 0.000150 -0.231713 0.000062 0.035930 0.000132 0.006453
0.035930 -0.000050 0.000380 0.000150 0.034878 -0.000089 0.000054 0.006453
0.000132 0.035930 -0.000050 0.000380 0.000054 0.006453 0.000132 0.035930
-0.000050 0.000380 0.017107 0.000062 -0.231713 0.000054 0.006453 0.000132
0.000055 0.017107 0.000150 0.071274 0.000054 0.035930 0.071274 0.000054
0.035930 0.000740 0.035930 0.000054 0.071274 0.000054 0.035930 0.000740
0.035930 0.000054 0.000740 0.035930 0.000054 -0.480672 0.000150 0.017107
0.017107 -0.000089 0.034878 0.000054 0.000380 -0.000050 0.000054 0.000380
-0.000050 0.035930 0.000132 0.006453 0.000054 0.000380 -0.000050 0.035930
0.000132 0.006453 0.035930 0.000132 0.006453 0.000150 -0.231713 0.000062
0.000150 0.034878 -0.000089 0.035930 -0.000050 0.000380 0.035930 -0.000050
0.000380 0.000054 0.006453 0.000132 0.035930 -0.000050 0.000380 0.000054
0.006453 0.000132 0.000054 0.006453 0.000132 0.017107 0.000062 -0.231713
chi matrix :
-0.096170 0.000191 0.001904 0.000063 0.008864 -0.000035 0.000063 0.008864
-0.000035 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 0.004112
-0.000035 0.008864 0.004112 -0.000035 0.008864 -0.000002 0.001904 0.000191
0.000191 -0.074278 0.000068 0.008864 -0.000715 0.001626 0.008864 -0.000715
0.001626 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 -0.000035
0.002809 0.000742 -0.000035 0.002809 0.000742 0.001904 -0.000600 0.003140
0.001904 0.000068 -0.074278 -0.000035 0.001626 -0.000715 -0.000035 0.001626
-0.000715 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 0.008864
0.000742 0.002809 0.008864 0.000742 0.002809 0.000191 0.003140 -0.000600
0.000063 0.008864 -0.000035 -0.096170 0.000191 0.001904 0.004112 -0.000035
0.008864 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 0.000063
0.008864 -0.000035 -0.000002 0.001904 0.000191 0.004112 -0.000035 0.008864
0.008864 -0.000715 0.001626 0.000191 -0.074278 0.000068 -0.000035 0.002809
0.000742 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 0.008864
-0.000715 0.001626 0.001904 -0.000600 0.003140 -0.000035 0.002809 0.000742
-0.000035 0.001626 -0.000715 0.001904 0.000068 -0.074278 0.008864 0.000742
0.002809 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 -0.000035
0.001626 -0.000715 0.000191 0.003140 -0.000600 0.008864 0.000742 0.002809
0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 -0.096170 0.000191
0.001904 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 -0.000002
0.001904 0.000191 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864
0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 0.000191 -0.074278
0.000068 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 0.001904
-0.000600 0.003140 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742
-0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 0.001904 0.000068
-0.074278 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 0.000191
0.003140 -0.000600 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809
0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 0.000063 0.008864
-0.000035 -0.096170 0.000191 0.001904 -0.000002 0.001904 0.000191 0.004112
-0.000035 0.008864 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035
-0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 0.008864 -0.000715
0.001626 0.000191 -0.074278 0.000068 0.001904 -0.000600 0.003140 -0.000035
0.002809 0.000742 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626
0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 -0.000035 0.001626
-0.000715 0.001904 0.000068 -0.074278 0.000191 0.003140 -0.000600 0.008864
0.000742 0.002809 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715
0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 0.004112 -0.000035
0.008864 -0.000002 0.001904 0.000191 -0.096170 0.000191 0.001904 0.000063
0.008864 -0.000035 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864
0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 -0.000035 0.002809
0.000742 0.001904 -0.000600 0.003140 0.000191 -0.074278 0.000068 0.008864
-0.000715 0.001626 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742
-0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 0.008864 0.000742
0.002809 0.000191 0.003140 -0.000600 0.001904 0.000068 -0.074278 -0.000035
0.001626 -0.000715 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809
0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 -0.000002 0.001904
0.000191 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 -0.096170
0.000191 0.001904 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035
-0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 0.001904 -0.000600
0.003140 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 0.000191
-0.074278 0.000068 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626
0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 0.000191 0.003140
-0.000600 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 0.001904
0.000068 -0.074278 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715
0.004112 -0.000035 0.008864 -0.000002 0.001904 0.000191 0.000063 0.008864
-0.000035 0.004112 -0.000035 0.008864 0.000063 0.008864 -0.000035 0.004112
-0.000035 0.008864 -0.096170 0.000191 0.001904 0.000063 0.008864 -0.000035
-0.000035 0.002809 0.000742 0.001904 -0.000600 0.003140 0.008864 -0.000715
0.001626 -0.000035 0.002809 0.000742 0.008864 -0.000715 0.001626 -0.000035
0.002809 0.000742 0.000191 -0.074278 0.000068 0.008864 -0.000715 0.001626
0.008864 0.000742 0.002809 0.000191 0.003140 -0.000600 -0.000035 0.001626
-0.000715 0.008864 0.000742 0.002809 -0.000035 0.001626 -0.000715 0.008864
0.000742 0.002809 0.001904 0.000068 -0.074278 -0.000035 0.001626 -0.000715
-0.000002 0.001904 0.000191 0.004112 -0.000035 0.008864 0.004112 -0.000035
0.008864 0.000063 0.008864 -0.000035 0.004112 -0.000035 0.008864 0.000063
0.008864 -0.000035 0.000063 0.008864 -0.000035 -0.096170 0.000191 0.001904
0.001904 -0.000600 0.003140 -0.000035 0.002809 0.000742 -0.000035 0.002809
0.000742 0.008864 -0.000715 0.001626 -0.000035 0.002809 0.000742 0.008864
-0.000715 0.001626 0.008864 -0.000715 0.001626 0.000191 -0.074278 0.000068
0.000191 0.003140 -0.000600 0.008864 0.000742 0.002809 0.008864 0.000742
0.002809 -0.000035 0.001626 -0.000715 0.008864 0.000742 0.002809 -0.000035
0.001626 -0.000715 -0.000035 0.001626 -0.000715 0.001904 0.000068 -0.074278
chi0^{-1} matrix :
-4.151734 -0.082226 -1.846012 -0.105087 -2.014524 -0.081053 -0.105087 -2.014524
-0.081053 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -2.328464
-0.081053 -2.014524 -2.328464 -0.081053 -2.014524 -0.102684 -1.846012 -0.082226
-0.082226 -5.837391 -0.063794 -2.014524 -0.065289 -1.529437 -2.014524 -0.065289
-1.529437 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -0.081053
-1.447592 -0.062847 -0.081053 -1.447592 -0.062847 -1.846012 -0.061325 -2.080738
-1.846012 -0.063794 -5.837391 -0.081053 -1.529437 -0.065289 -0.081053 -1.529437
-0.065289 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -2.014524
-0.062847 -1.447592 -2.014524 -0.062847 -1.447592 -0.082226 -2.080738 -0.061325
-0.105087 -2.014524 -0.081053 -4.151734 -0.082226 -1.846012 -2.328464 -0.081053
-2.014524 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -0.105087
-2.014524 -0.081053 -0.102684 -1.846012 -0.082226 -2.328464 -0.081053 -2.014524
-2.014524 -0.065289 -1.529437 -0.082226 -5.837391 -0.063794 -0.081053 -1.447592
-0.062847 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -2.014524
-0.065289 -1.529437 -1.846012 -0.061325 -2.080738 -0.081053 -1.447592 -0.062847
-0.081053 -1.529437 -0.065289 -1.846012 -0.063794 -5.837391 -2.014524 -0.062847
-1.447592 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -0.081053
-1.529437 -0.065289 -0.082226 -2.080738 -0.061325 -2.014524 -0.062847 -1.447592
-0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -4.151734 -0.082226
-1.846012 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -0.102684
-1.846012 -0.082226 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524
-2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -0.082226 -5.837391
-0.063794 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -1.846012
-0.061325 -2.080738 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847
-0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -1.846012 -0.063794
-5.837391 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -0.082226
-2.080738 -0.061325 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592
-2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -0.105087 -2.014524
-0.081053 -4.151734 -0.082226 -1.846012 -0.102684 -1.846012 -0.082226 -2.328464
-0.081053 -2.014524 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053
-0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -2.014524 -0.065289
-1.529437 -0.082226 -5.837391 -0.063794 -1.846012 -0.061325 -2.080738 -0.081053
-1.447592 -0.062847 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437
-2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -0.081053 -1.529437
-0.065289 -1.846012 -0.063794 -5.837391 -0.082226 -2.080738 -0.061325 -2.014524
-0.062847 -1.447592 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289
-0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -2.328464 -0.081053
-2.014524 -0.102684 -1.846012 -0.082226 -4.151734 -0.082226 -1.846012 -0.105087
-2.014524 -0.081053 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524
-2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -0.081053 -1.447592
-0.062847 -1.846012 -0.061325 -2.080738 -0.082226 -5.837391 -0.063794 -2.014524
-0.065289 -1.529437 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847
-0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -2.014524 -0.062847
-1.447592 -0.082226 -2.080738 -0.061325 -1.846012 -0.063794 -5.837391 -0.081053
-1.529437 -0.065289 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592
-2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -0.102684 -1.846012
-0.082226 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -4.151734
-0.082226 -1.846012 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053
-0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -1.846012 -0.061325
-2.080738 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -0.082226
-5.837391 -0.063794 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437
-2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -0.082226 -2.080738
-0.061325 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -1.846012
-0.063794 -5.837391 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289
-2.328464 -0.081053 -2.014524 -0.102684 -1.846012 -0.082226 -0.105087 -2.014524
-0.081053 -2.328464 -0.081053 -2.014524 -0.105087 -2.014524 -0.081053 -2.328464
-0.081053 -2.014524 -4.151734 -0.082226 -1.846012 -0.105087 -2.014524 -0.081053
-0.081053 -1.447592 -0.062847 -1.846012 -0.061325 -2.080738 -2.014524 -0.065289
-1.529437 -0.081053 -1.447592 -0.062847 -2.014524 -0.065289 -1.529437 -0.081053
-1.447592 -0.062847 -0.082226 -5.837391 -0.063794 -2.014524 -0.065289 -1.529437
-2.014524 -0.062847 -1.447592 -0.082226 -2.080738 -0.061325 -0.081053 -1.529437
-0.065289 -2.014524 -0.062847 -1.447592 -0.081053 -1.529437 -0.065289 -2.014524
-0.062847 -1.447592 -1.846012 -0.063794 -5.837391 -0.081053 -1.529437 -0.065289
-0.102684 -1.846012 -0.082226 -2.328464 -0.081053 -2.014524 -2.328464 -0.081053
-2.014524 -0.105087 -2.014524 -0.081053 -2.328464 -0.081053 -2.014524 -0.105087
-2.014524 -0.081053 -0.105087 -2.014524 -0.081053 -4.151734 -0.082226 -1.846012
-1.846012 -0.061325 -2.080738 -0.081053 -1.447592 -0.062847 -0.081053 -1.447592
-0.062847 -2.014524 -0.065289 -1.529437 -0.081053 -1.447592 -0.062847 -2.014524
-0.065289 -1.529437 -2.014524 -0.065289 -1.529437 -0.082226 -5.837391 -0.063794
-0.082226 -2.080738 -0.061325 -2.014524 -0.062847 -1.447592 -2.014524 -0.062847
-1.447592 -0.081053 -1.529437 -0.065289 -2.014524 -0.062847 -1.447592 -0.081053
-1.529437 -0.065289 -0.081053 -1.529437 -0.065289 -1.846012 -0.063794 -5.837391
chi^{-1} matrix :
-12.059968 -0.024006 -1.511456 -0.015194 -2.442057 0.014556 -0.015194 -2.442057
0.014556 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 -1.958759
0.014556 -2.442057 -1.958759 0.014556 -2.442057 0.000829 -1.511456 -0.024006
-0.024006 -14.748431 -0.001807 -2.442057 0.142363 -1.465052 -2.442057 0.142363
-1.465052 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 0.014556
-1.684238 -0.121600 0.014556 -1.684238 -0.121600 -1.511456 0.134471 -1.805401
-1.511456 -0.001807 -14.748431 0.014556 -1.465052 0.142363 0.014556 -1.465052
0.142363 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 -2.442057
-0.121600 -1.684238 -2.442057 -0.121600 -1.684238 -0.024006 -1.805401 0.134471
-0.015194 -2.442057 0.014556 -12.059968 -0.024006 -1.511456 -1.958759 0.014556
-2.442057 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 -0.015194
-2.442057 0.014556 0.000829 -1.511456 -0.024006 -1.958759 0.014556 -2.442057
-2.442057 0.142363 -1.465052 -0.024006 -14.748431 -0.001807 0.014556 -1.684238
-0.121600 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 -2.442057
0.142363 -1.465052 -1.511456 0.134471 -1.805401 0.014556 -1.684238 -0.121600
0.014556 -1.465052 0.142363 -1.511456 -0.001807 -14.748431 -2.442057 -0.121600
-1.684238 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 0.014556
-1.465052 0.142363 -0.024006 -1.805401 0.134471 -2.442057 -0.121600 -1.684238
-0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 -12.059968 -0.024006
-1.511456 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 0.000829
-1.511456 -0.024006 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057
-2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 -0.024006 -14.748431
-0.001807 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 -1.511456
0.134471 -1.805401 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600
0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 -1.511456 -0.001807
-14.748431 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 -0.024006
-1.805401 0.134471 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238
-1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 -0.015194 -2.442057
0.014556 -12.059968 -0.024006 -1.511456 0.000829 -1.511456 -0.024006 -1.958759
0.014556 -2.442057 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556
0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 -2.442057 0.142363
-1.465052 -0.024006 -14.748431 -0.001807 -1.511456 0.134471 -1.805401 0.014556
-1.684238 -0.121600 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052
-2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 0.014556 -1.465052
0.142363 -1.511456 -0.001807 -14.748431 -0.024006 -1.805401 0.134471 -2.442057
-0.121600 -1.684238 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363
-0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 -1.958759 0.014556
-2.442057 0.000829 -1.511456 -0.024006 -12.059968 -0.024006 -1.511456 -0.015194
-2.442057 0.014556 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057
-2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 0.014556 -1.684238
-0.121600 -1.511456 0.134471 -1.805401 -0.024006 -14.748431 -0.001807 -2.442057
0.142363 -1.465052 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600
0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 -2.442057 -0.121600
-1.684238 -0.024006 -1.805401 0.134471 -1.511456 -0.001807 -14.748431 0.014556
-1.465052 0.142363 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238
-1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 0.000829 -1.511456
-0.024006 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 -12.059968
-0.024006 -1.511456 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556
0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 -1.511456 0.134471
-1.805401 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 -0.024006
-14.748431 -0.001807 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052
-2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 -0.024006 -1.805401
0.134471 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 -1.511456
-0.001807 -14.748431 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363
-1.958759 0.014556 -2.442057 0.000829 -1.511456 -0.024006 -0.015194 -2.442057
0.014556 -1.958759 0.014556 -2.442057 -0.015194 -2.442057 0.014556 -1.958759
0.014556 -2.442057 -12.059968 -0.024006 -1.511456 -0.015194 -2.442057 0.014556
0.014556 -1.684238 -0.121600 -1.511456 0.134471 -1.805401 -2.442057 0.142363
-1.465052 0.014556 -1.684238 -0.121600 -2.442057 0.142363 -1.465052 0.014556
-1.684238 -0.121600 -0.024006 -14.748431 -0.001807 -2.442057 0.142363 -1.465052
-2.442057 -0.121600 -1.684238 -0.024006 -1.805401 0.134471 0.014556 -1.465052
0.142363 -2.442057 -0.121600 -1.684238 0.014556 -1.465052 0.142363 -2.442057
-0.121600 -1.684238 -1.511456 -0.001807 -14.748431 0.014556 -1.465052 0.142363
0.000829 -1.511456 -0.024006 -1.958759 0.014556 -2.442057 -1.958759 0.014556
-2.442057 -0.015194 -2.442057 0.014556 -1.958759 0.014556 -2.442057 -0.015194
-2.442057 0.014556 -0.015194 -2.442057 0.014556 -12.059968 -0.024006 -1.511456
-1.511456 0.134471 -1.805401 0.014556 -1.684238 -0.121600 0.014556 -1.684238
-0.121600 -2.442057 0.142363 -1.465052 0.014556 -1.684238 -0.121600 -2.442057
0.142363 -1.465052 -2.442057 0.142363 -1.465052 -0.024006 -14.748431 -0.001807
-0.024006 -1.805401 0.134471 -2.442057 -0.121600 -1.684238 -2.442057 -0.121600
-1.684238 0.014556 -1.465052 0.142363 -2.442057 -0.121600 -1.684238 0.014556
-1.465052 0.142363 0.014556 -1.465052 0.142363 -1.511456 -0.001807 -14.748431
Hubbard matrix :
7.908234 -0.058221 -0.334557 -0.089894 0.427533 -0.095609 -0.089894 0.427533
-0.095609 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 -0.369705
-0.095609 0.427533 -0.369705 -0.095609 0.427533 -0.103513 -0.334557 -0.058221
-0.058221 8.911041 -0.061988 0.427533 -0.207652 -0.064385 0.427533 -0.207652
-0.064385 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 -0.095609
0.236646 0.058752 -0.095609 0.236646 0.058752 -0.334557 -0.195796 -0.275337
-0.334557 -0.061988 8.911041 -0.095609 -0.064385 -0.207652 -0.095609 -0.064385
-0.207652 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 0.427533
0.058752 0.236646 0.427533 0.058752 0.236646 -0.058221 -0.275337 -0.195796
-0.089894 0.427533 -0.095609 7.908234 -0.058221 -0.334557 -0.369705 -0.095609
0.427533 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 -0.089894
0.427533 -0.095609 -0.103513 -0.334557 -0.058221 -0.369705 -0.095609 0.427533
0.427533 -0.207652 -0.064385 -0.058221 8.911041 -0.061988 -0.095609 0.236646
0.058752 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 0.427533
-0.207652 -0.064385 -0.334557 -0.195796 -0.275337 -0.095609 0.236646 0.058752
-0.095609 -0.064385 -0.207652 -0.334557 -0.061988 8.911041 0.427533 0.058752
0.236646 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 -0.095609
-0.064385 -0.207652 -0.058221 -0.275337 -0.195796 0.427533 0.058752 0.236646
-0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 7.908234 -0.058221
-0.334557 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 -0.103513
-0.334557 -0.058221 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533
0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 -0.058221 8.911041
-0.061988 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 -0.334557
-0.195796 -0.275337 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752
-0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 -0.334557 -0.061988
8.911041 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 -0.058221
-0.275337 -0.195796 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646
-0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 -0.089894 0.427533
-0.095609 7.908234 -0.058221 -0.334557 -0.103513 -0.334557 -0.058221 -0.369705
-0.095609 0.427533 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609
-0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 0.427533 -0.207652
-0.064385 -0.058221 8.911041 -0.061988 -0.334557 -0.195796 -0.275337 -0.095609
0.236646 0.058752 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385
0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 -0.095609 -0.064385
-0.207652 -0.334557 -0.061988 8.911041 -0.058221 -0.275337 -0.195796 0.427533
0.058752 0.236646 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652
-0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 -0.369705 -0.095609
0.427533 -0.103513 -0.334557 -0.058221 7.908234 -0.058221 -0.334557 -0.089894
0.427533 -0.095609 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533
0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 -0.095609 0.236646
0.058752 -0.334557 -0.195796 -0.275337 -0.058221 8.911041 -0.061988 0.427533
-0.207652 -0.064385 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752
-0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 0.427533 0.058752
0.236646 -0.058221 -0.275337 -0.195796 -0.334557 -0.061988 8.911041 -0.095609
-0.064385 -0.207652 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646
-0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 -0.103513 -0.334557
-0.058221 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 7.908234
-0.058221 -0.334557 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609
-0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 -0.334557 -0.195796
-0.275337 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 -0.058221
8.911041 -0.061988 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385
0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 -0.058221 -0.275337
-0.195796 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 -0.334557
-0.061988 8.911041 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652
-0.369705 -0.095609 0.427533 -0.103513 -0.334557 -0.058221 -0.089894 0.427533
-0.095609 -0.369705 -0.095609 0.427533 -0.089894 0.427533 -0.095609 -0.369705
-0.095609 0.427533 7.908234 -0.058221 -0.334557 -0.089894 0.427533 -0.095609
-0.095609 0.236646 0.058752 -0.334557 -0.195796 -0.275337 0.427533 -0.207652
-0.064385 -0.095609 0.236646 0.058752 0.427533 -0.207652 -0.064385 -0.095609
0.236646 0.058752 -0.058221 8.911041 -0.061988 0.427533 -0.207652 -0.064385
0.427533 0.058752 0.236646 -0.058221 -0.275337 -0.195796 -0.095609 -0.064385
-0.207652 0.427533 0.058752 0.236646 -0.095609 -0.064385 -0.207652 0.427533
0.058752 0.236646 -0.334557 -0.061988 8.911041 -0.095609 -0.064385 -0.207652
-0.103513 -0.334557 -0.058221 -0.369705 -0.095609 0.427533 -0.369705 -0.095609
0.427533 -0.089894 0.427533 -0.095609 -0.369705 -0.095609 0.427533 -0.089894
0.427533 -0.095609 -0.089894 0.427533 -0.095609 7.908234 -0.058221 -0.334557
-0.334557 -0.195796 -0.275337 -0.095609 0.236646 0.058752 -0.095609 0.236646
0.058752 0.427533 -0.207652 -0.064385 -0.095609 0.236646 0.058752 0.427533
-0.207652 -0.064385 0.427533 -0.207652 -0.064385 -0.058221 8.911041 -0.061988
-0.058221 -0.275337 -0.195796 0.427533 0.058752 0.236646 0.427533 0.058752
0.236646 -0.095609 -0.064385 -0.207652 0.427533 0.058752 0.236646 -0.095609
-0.064385 -0.207652 -0.095609 -0.064385 -0.207652 -0.334557 -0.061988 8.911041

View File

@ -0,0 +1,10 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(1) = .true.
start_q = 1
last_q = 3
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(1) = .true.
start_q = 4
last_q = 6
/

View File

@ -0,0 +1,757 @@
Program HP v.6.3 starts on 29Aug2018 at 13:38:29
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
"P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 8 processors
MPI processes distributed on 1 nodes
R & G space division: proc/nbgrp/npool/nimage = 8
=--------------------------------------------------------------------------=
Calculation of Hubbard parameters from DFPT; please cite this program as
I. Timrov, N. Marzari, and M. Cococcioni, Phys. Rev. B 98, 085127 (2018)
=--------------------------------------------------------------------------=
Reading data from directory:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/LiCoO2.save/
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
Message from routine read_upf::
Pseudo file /scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF has been successfully fixed on the fly.
To avoid this message in the future you can permanently fix
your pseudo files following instructions given in:
https://gitlab.com/QEF/q-e/blob/master/upftools/how_to_fix_upf.md
file O.pbesol-n-kjpaw_psl.0.1.UPF: wavefunction(s) 2P renormalized
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 28 3658 1285 218
Max 190 95 29 3660 1286 219
Sum 1517 755 229 29271 10281 1749
Check: negative/imaginary core charge= -0.000017 0.000000
--- in v_hubbard ---
Hubbard energy 0.0000
-------
bravais-lattice index = 5
lattice parameter (alat) = 9.3705 (a.u.)
unit-cell volume = 217.1091 (a.u.)^3
number of atoms/cell = 4
number of atomic types = 3
kinetic-energy cut-off = 50.00 (Ry)
charge density cut-off = 400.00 (Ry)
conv. thresh. for NSCF = 1.0E-11
conv. thresh. for chi = 1.0E-08
Input Hubbard parameters (in eV):
U ( 1) = 1.00000E-08
U ( 2) = 1.00000E-08
celldm(1) = 9.37050 celldm(2) = 0.00000 celldm(3) = 0.00000
celldm(4) = 0.83874 celldm(5) = 0.00000 celldm(6) = 0.00000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 0.2840 -0.1639 0.9447 )
a(2) = ( 0.0000 0.3279 0.9447 )
a(3) = ( -0.2840 -0.1639 0.9447 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.7608 -1.0166 0.3528 )
b(2) = ( 0.0000 2.0333 0.3528 )
b(3) = ( -1.7608 -1.0166 0.3528 )
Atoms inside the unit cell (Cartesian axes):
site n. atom mass positions (alat units)
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
3 O 16.0000 tau( 3) = ( 0.00000 -0.00000 2.09589 )
4 Li 7.0000 tau( 4) = ( 0.00000 -0.00000 1.41708 )
Atom which will be perturbed:
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
=====================================================================
PERTURBED ATOM # 1
site n. atom mass positions (alat units)
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
=====================================================================
The perturbed atom has a type which is unique!
The grid of q-points ( 2, 2, 2) ( 4 q-points ) :
N xq(1) xq(2) xq(3) wq
1 0.000000000 0.000000000 0.000000000 0.125000000
2 0.880423607 0.508312806 -0.176419367 0.375000000
3 0.880423607 -0.508312806 -0.352838734 0.375000000
4 0.000000000 0.000000000 -0.529258101 0.125000000
=-------------------------------------------------------------=
Calculation for q # 4 = ( 0.0000000 0.0000000 -0.5292581 )
=-------------------------------------------------------------=
Performing NSCF calculation at all points k and k+q...
Subspace diagonalization in iterative solution of the eigenvalue problem:
a serial algorithm will be used
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 30 3658 1285 233
Max 190 95 31 3660 1286 234
Sum 1517 755 241 29271 10281 1865
bravais-lattice index = 5
lattice parameter (alat) = 9.3705 a.u.
unit-cell volume = 217.1091 (a.u.)^3
number of atoms/cell = 4
number of atomic types = 3
number of electrons = 32.00
number of Kohn-Sham states= 16
kinetic-energy cutoff = 50.0000 Ry
charge density cutoff = 400.0000 Ry
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
celldm(1)= 9.370500 celldm(2)= 0.000000 celldm(3)= 0.000000
celldm(4)= 0.838740 celldm(5)= 0.000000 celldm(6)= 0.000000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 0.283954 -0.163941 0.944719 )
a(2) = ( 0.000000 0.327882 0.944719 )
a(3) = ( -0.283954 -0.163941 0.944719 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.760847 -1.016626 0.352839 )
b(2) = ( 0.000000 2.033251 0.352839 )
b(3) = ( -1.760847 -1.016626 0.352839 )
PseudoPot. # 1 for Co read from file:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/co_pbesol_v1.2.uspp.F.UPF
MD5 check sum: 3b4cd4e7cc7df4da9fdede0fd33e2193
Pseudo is Ultrasoft + core correction, Zval = 17.0
Generated by new atomic code, or converted to UPF format
Using radial grid of 863 points, 6 beta functions with:
l(1) = 0
l(2) = 0
l(3) = 1
l(4) = 1
l(5) = 2
l(6) = 2
Q(r) pseudized with 8 coefficients, rinner = 1.200 1.200 1.200
1.200 1.200
PseudoPot. # 2 for O read from file:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF
MD5 check sum: 433e5d6bca876f33b592d2bdaf67ea28
Pseudo is Projector augmented-wave + core cor, Zval = 6.0
Generated using "atomic" code by A. Dal Corso v.5.0.99 svn rev. 10869
Shape of augmentation charge: BESSEL
Using radial grid of 1095 points, 4 beta functions with:
l(1) = 0
l(2) = 0
l(3) = 1
l(4) = 1
Q(r) pseudized with 0 coefficients
PseudoPot. # 3 for Li read from file:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/li_pbesol_v1.4.uspp.F.UPF
MD5 check sum: aa28d9aeea6a965f2dc95ee9517b3536
Pseudo is Ultrasoft, Zval = 3.0
Generated by new atomic code, or converted to UPF format
Using radial grid of 751 points, 5 beta functions with:
l(1) = 0
l(2) = 0
l(3) = 0
l(4) = 1
l(5) = 1
Q(r) pseudized with 10 coefficients, rinner = 1.150 1.150 1.150
atomic species valence mass pseudopotential
Co 17.00 59.00000 Co( 1.00)
O 6.00 16.00000 O ( 1.00)
Li 3.00 7.00000 Li( 1.00)
Simplified LDA+U calculation (l_max = 2) with parameters (eV):
atomic species L U alpha J0 beta
Co 2 0.0000 0.0000 0.0000 0.0000
O 1 0.0000 0.0000 0.0000 0.0000
12 Sym. Ops., with inversion, found
Cartesian axes
site n. atom positions (alat units)
1 Co tau( 1) = ( 0.0000000 0.0000000 0.0000000 )
2 O tau( 2) = ( 0.0000000 -0.0000000 0.7382650 )
3 O tau( 3) = ( 0.0000000 -0.0000000 2.0958909 )
4 Li tau( 4) = ( 0.0000000 -0.0000000 1.4170780 )
number of k points= 8
cart. coord. in units 2pi/alat
k( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.2500000
k( 2) = ( 0.0000000 0.0000000 -0.5292581), wk = 0.0000000
k( 3) = ( 0.8804236 0.5083128 -0.1764194), wk = 0.7500000
k( 4) = ( 0.8804236 0.5083128 -0.7056775), wk = 0.0000000
k( 5) = ( 0.8804236 -0.5083128 -0.3528387), wk = 0.7500000
k( 6) = ( 0.8804236 -0.5083128 -0.8820968), wk = 0.0000000
k( 7) = ( 0.0000000 0.0000000 -0.5292581), wk = 0.2500000
k( 8) = ( 0.0000000 0.0000000 -1.0585162), wk = 0.0000000
Dense grid: 29271 G-vectors FFT dimensions: ( 60, 60, 60)
Smooth grid: 10281 G-vectors FFT dimensions: ( 45, 45, 45)
Estimated max dynamical RAM per process > 20.55 MB
Estimated total dynamical RAM > 164.40 MB
Check: negative/imaginary core charge= -0.000017 0.000000
The potential is recalculated from file :
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/HP/LiCoO2.save/charge-density
Number of +U iterations with fixed ns = 0
Starting occupations:
--- enter write_ns ---
LDA+U parameters:
U( 1) = 0.00000001
alpha( 1) = 0.00000000
U( 2) = 0.00000001
alpha( 2) = 0.00000000
atom 1 Tr[ns(na)] = 7.45591
eigenvalues:
0.415 0.415 0.966 0.966 0.967
eigenvectors:
0.000 0.000 0.000 0.000 1.000
0.474 0.174 0.021 0.331 0.000
0.174 0.474 0.331 0.021 0.000
0.094 0.258 0.609 0.039 0.000
0.258 0.094 0.039 0.609 0.000
occupations:
0.967 0.000 0.000 0.000 0.000
0.000 0.609 0.000 -0.000 -0.263
0.000 0.000 0.609 -0.263 0.000
0.000 -0.000 -0.263 0.772 -0.000
0.000 -0.263 0.000 -0.000 0.772
atom 2 Tr[ns(na)] = 4.68374
eigenvalues:
0.769 0.769 0.804
eigenvectors:
0.000 0.000 1.000
0.944 0.056 0.000
0.056 0.944 0.000
occupations:
0.804 -0.000 0.000
-0.000 0.769 -0.000
0.000 -0.000 0.769
atom 3 Tr[ns(na)] = 4.68374
eigenvalues:
0.769 0.769 0.804
eigenvectors:
0.000 0.000 1.000
0.944 0.056 0.000
0.056 0.944 0.000
occupations:
0.804 -0.000 0.000
-0.000 0.769 -0.000
0.000 -0.000 0.769
N of occupied +U levels = 16.823396
--- exit write_ns ---
Atomic wfc used for LDA+U Projector are orthogonalized
Starting wfcs are 26 atomic wfcs
Checking if some PAW data can be deallocated...
Band Structure Calculation
Davidson diagonalization with overlap
ethr = 1.00E-11, avg # of iterations = 12.8
total cpu time spent up to now is -1.0 secs
End of band structure calculation
k = 0.0000 0.0000 0.0000 ( 1273 PWs) bands (ev):
-83.8483 -47.2771 -47.2771 -47.2537 -33.5254 -9.4631 -7.6968 3.5684
5.5153 5.5153 8.3714 8.5165 8.5165 9.6828 9.6828 10.6060
k = 0.0000 0.0000-0.5293 ( 1268 PWs) bands (ev):
-83.8483 -47.2771 -47.2771 -47.2537 -33.5251 -9.3288 -7.9185 4.6231
5.5478 5.5478 6.8005 8.4419 8.4419 9.6865 9.6865 10.7213
k = 0.8804 0.5083-0.1764 ( 1296 PWs) bands (ev):
-83.8406 -47.3560 -47.2960 -47.2412 -33.4862 -7.8380 -7.6827 3.3512
4.9028 5.3852 5.7234 6.9794 7.2201 9.7334 10.3680 10.6880
k = 0.8804 0.5083-0.7057 ( 1284 PWs) bands (ev):
-83.8406 -47.3560 -47.2960 -47.2411 -33.4862 -7.8064 -7.7034 3.2202
4.1637 5.8851 6.4326 6.9614 7.1234 9.5075 10.3697 10.6699
k = 0.8804-0.5083-0.3528 ( 1284 PWs) bands (ev):
-83.8406 -47.3560 -47.2960 -47.2411 -33.4862 -7.8064 -7.7034 3.2202
4.1637 5.8851 6.4326 6.9614 7.1234 9.5075 10.3697 10.6699
k = 0.8804-0.5083-0.8821 ( 1296 PWs) bands (ev):
-83.8406 -47.3560 -47.2960 -47.2412 -33.4862 -7.8380 -7.6827 3.3512
4.9028 5.3852 5.7234 6.9794 7.2201 9.7334 10.3680 10.6880
k = 0.0000 0.0000-0.5293 ( 1268 PWs) bands (ev):
-83.8483 -47.2771 -47.2771 -47.2537 -33.5251 -9.3288 -7.9185 4.6231
5.5478 5.5478 6.8005 8.4419 8.4419 9.6865 9.6865 10.7213
k = 0.0000 0.0000-1.0585 ( 1273 PWs) bands (ev):
-83.8483 -47.2771 -47.2771 -47.2537 -33.5254 -9.4631 -7.6968 3.5684
5.5153 5.5153 8.3714 8.5165 8.5165 9.6828 9.6828 10.6060
highest occupied level (ev): 10.7213
Writing output data file LiCoO2.save/
Done!
WRITING LINEAR-RESPONSE SUMMARY:
Number of symmetries in the small group of q, nsymq = 12
+ the symmetry q -> -q+G
Symmetry matrices (and vectors of fractional translations if f/=0):
isym = 1 identity
cryst. s( 1) = ( 1 0 0 )
( 0 1 0 )
( 0 0 1 )
cart. s( 1) = ( 1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 2 180 deg rotation - cart. axis [1,0,0]
cryst. s( 2) = ( 0 0 -1 )
( 0 -1 0 )
( -1 0 0 )
cart. s( 2) = ( 1.0000000 0.0000000 0.0000000 )
( 0.0000000 -1.0000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 3 120 deg rotation - cryst. axis [0,0,1]
cryst. s( 3) = ( 0 1 0 )
( 0 0 1 )
( 1 0 0 )
cart. s( 3) = ( -0.5000000 -0.8660254 -0.0000000 )
( 0.8660254 -0.5000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 4 120 deg rotation - cryst. axis [0,0,-1]
cryst. s( 4) = ( 0 0 1 )
( 1 0 0 )
( 0 1 0 )
cart. s( 4) = ( -0.5000000 0.8660254 0.0000000 )
( -0.8660254 -0.5000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 5 180 deg rotation - cryst. axis [0,1,0]
cryst. s( 5) = ( 0 -1 0 )
( -1 0 0 )
( 0 0 -1 )
cart. s( 5) = ( -0.5000000 -0.8660254 -0.0000000 )
( -0.8660254 0.5000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 6 180 deg rotation - cryst. axis [1,1,0]
cryst. s( 6) = ( -1 0 0 )
( 0 0 -1 )
( 0 -1 0 )
cart. s( 6) = ( -0.5000000 0.8660254 0.0000000 )
( 0.8660254 0.5000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 7 inversion
cryst. s( 7) = ( -1 0 0 )
( 0 -1 0 )
( 0 0 -1 )
cart. s( 7) = ( -1.0000000 0.0000000 0.0000000 )
( 0.0000000 -1.0000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 8 inv. 180 deg rotation - cart. axis [1,0,0]
cryst. s( 8) = ( 0 0 1 )
( 0 1 0 )
( 1 0 0 )
cart. s( 8) = ( -1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 9 inv. 120 deg rotation - cryst. axis [0,0,1]
cryst. s( 9) = ( 0 -1 0 )
( 0 0 -1 )
( -1 0 0 )
cart. s( 9) = ( 0.5000000 0.8660254 0.0000000 )
( -0.8660254 0.5000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 10 inv. 120 deg rotation - cryst. axis [0,0,-1]
cryst. s(10) = ( 0 0 -1 )
( -1 0 0 )
( 0 -1 0 )
cart. s(10) = ( 0.5000000 -0.8660254 -0.0000000 )
( 0.8660254 0.5000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 11 inv. 180 deg rotation - cryst. axis [0,1,0]
cryst. s(11) = ( 0 1 0 )
( 1 0 0 )
( 0 0 1 )
cart. s(11) = ( 0.5000000 0.8660254 0.0000000 )
( 0.8660254 -0.5000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 12 inv. 180 deg rotation - cryst. axis [1,1,0]
cryst. s(12) = ( 1 0 0 )
( 0 0 1 )
( 0 1 0 )
cart. s(12) = ( 0.5000000 -0.8660254 -0.0000000 )
( -0.8660254 -0.5000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
This transformation sends q -> -q+G
isym = 13 identity
cryst. s(13) = ( 1 0 0 )
( 0 1 0 )
( 0 0 1 )
cart. s(13) = ( 1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
G cutoff = 889.6635 ( 3659 G-vectors) FFT grid: ( 60, 60, 60)
G cutoff = 444.8318 ( 1286 G-vectors) smooth grid: ( 45, 45, 45)
Number of k (and k+q if q/=0) points = 8
cart. coord. (in units 2pi/alat)
k ( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.2500000
k ( 2) = ( 0.0000000 0.0000000 -0.5292581), wk = 0.0000000
k ( 3) = ( 0.8804236 0.5083128 -0.1764194), wk = 0.7500000
k ( 4) = ( 0.8804236 0.5083128 -0.7056775), wk = 0.0000000
k ( 5) = ( 0.8804236 -0.5083128 -0.3528387), wk = 0.7500000
k ( 6) = ( 0.8804236 -0.5083128 -0.8820968), wk = 0.0000000
k ( 7) = ( 0.0000000 0.0000000 -0.5292581), wk = 0.2500000
k ( 8) = ( 0.0000000 0.0000000 -1.0585162), wk = 0.0000000
cryst. coord.
k ( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.2500000
k ( 2) = ( -0.5000000 -0.5000000 -0.5000000), wk = 0.0000000
k ( 3) = ( -0.0000000 0.0000000 -0.5000000), wk = 0.7500000
k ( 4) = ( -0.5000000 -0.5000000 -1.0000000), wk = 0.0000000
k ( 5) = ( 0.0000000 -0.5000000 -0.5000000), wk = 0.7500000
k ( 6) = ( -0.5000000 -1.0000000 -1.0000000), wk = 0.0000000
k ( 7) = ( -0.5000000 -0.5000000 -0.5000000), wk = 0.2500000
k ( 8) = ( -1.0000000 -1.0000000 -1.0000000), wk = 0.0000000
Atomic wfc used for the DFT+U projector are orthogonalized
Total time spent up to now is:
HP : 1.34s CPU 1.37s WALL
=--------------------------------------------=
START SOLVING THE LINEAR SYSTEM
=--------------------------------------------=
atom # 1 q point # 4 iter # 1
chi: 1 -0.2691261988
chi: 2 -0.1245877074
chi: 3 0.1245877074
Average number of iter. to solve lin. system: 16.2
Total CPU time : 2.0 s
atom # 1 q point # 4 iter # 2
chi: 1 0.1371288802 residue: 0.4062550791
chi: 2 0.0866151629 residue: 0.2112028703
chi: 3 -0.0866151629 residue: 0.2112028703
Average number of iter. to solve lin. system: 12.0
Total CPU time : 2.6 s
atom # 1 q point # 4 iter # 3
chi: 1 -0.0921740819 residue: 0.2293029621
chi: 2 -0.0323938060 residue: 0.1190089689
chi: 3 0.0323938060 residue: 0.1190089689
Average number of iter. to solve lin. system: 12.5
Total CPU time : 3.2 s
atom # 1 q point # 4 iter # 4
chi: 1 -0.0867779534 residue: 0.0053961284
chi: 2 -0.0296314139 residue: 0.0027623921
chi: 3 0.0296314139 residue: 0.0027623921
Average number of iter. to solve lin. system: 13.0
Total CPU time : 3.8 s
atom # 1 q point # 4 iter # 5
chi: 1 -0.0838960444 residue: 0.0028819090
chi: 2 -0.0282567858 residue: 0.0013746281
chi: 3 0.0282567858 residue: 0.0013746281
Average number of iter. to solve lin. system: 13.8
Total CPU time : 4.4 s
atom # 1 q point # 4 iter # 6
chi: 1 -0.0840703061 residue: 0.0001742617
chi: 2 -0.0284414738 residue: 0.0001846881
chi: 3 0.0284414738 residue: 0.0001846881
Average number of iter. to solve lin. system: 14.5
Total CPU time : 5.1 s
atom # 1 q point # 4 iter # 7
chi: 1 -0.0840390623 residue: 0.0000312438
chi: 2 -0.0284177518 residue: 0.0000237220
chi: 3 0.0284177518 residue: 0.0000237220
Average number of iter. to solve lin. system: 15.0
Total CPU time : 5.7 s
atom # 1 q point # 4 iter # 8
chi: 1 -0.0839859583 residue: 0.0000531040
chi: 2 -0.0283898447 residue: 0.0000279071
chi: 3 0.0283898447 residue: 0.0000279071
Average number of iter. to solve lin. system: 14.8
Total CPU time : 6.4 s
atom # 1 q point # 4 iter # 9
chi: 1 -0.0840211508 residue: 0.0000351925
chi: 2 -0.0284080250 residue: 0.0000181803
chi: 3 0.0284080250 residue: 0.0000181803
Average number of iter. to solve lin. system: 13.2
Total CPU time : 7.1 s
atom # 1 q point # 4 iter # 10
chi: 1 -0.0840209277 residue: 0.0000002231
chi: 2 -0.0284080895 residue: 0.0000000645
chi: 3 0.0284080895 residue: 0.0000000645
Average number of iter. to solve lin. system: 14.0
Total CPU time : 7.8 s
atom # 1 q point # 4 iter # 11
chi: 1 -0.0840197718 residue: 0.0000011559
chi: 2 -0.0284077594 residue: 0.0000003300
chi: 3 0.0284077594 residue: 0.0000003300
Average number of iter. to solve lin. system: 14.0
Total CPU time : 8.4 s
atom # 1 q point # 4 iter # 12
chi: 1 -0.0840187726 residue: 0.0000009992
chi: 2 -0.0284072939 residue: 0.0000004655
chi: 3 0.0284072939 residue: 0.0000004655
Average number of iter. to solve lin. system: 15.2
Total CPU time : 9.0 s
atom # 1 q point # 4 iter # 13
chi: 1 -0.0840189820 residue: 0.0000002094
chi: 2 -0.0284074326 residue: 0.0000001387
chi: 3 0.0284074326 residue: 0.0000001387
Average number of iter. to solve lin. system: 13.2
Total CPU time : 9.6 s
atom # 1 q point # 4 iter # 14
chi: 1 -0.0840190743 residue: 0.0000000924
chi: 2 -0.0284074852 residue: 0.0000000526
chi: 3 0.0284074852 residue: 0.0000000526
Average number of iter. to solve lin. system: 14.0
Total CPU time : 10.2 s
atom # 1 q point # 4 iter # 15
chi: 1 -0.0840190836 residue: 0.0000000093
chi: 2 -0.0284074893 residue: 0.0000000041
chi: 3 0.0284074893 residue: 0.0000000041
Average number of iter. to solve lin. system: 15.0
Total CPU time : 10.8 s
=--------------------------------------------=
CONVERGENCE HAS BEEN REACHED
=--------------------------------------------=
Not all q points were considered. Stopping smoothly...
PRINTING TIMING FROM PWSCF ROUTINES:
init_run : 0.25s CPU 0.26s WALL ( 1 calls)
electrons : 0.52s CPU 0.53s WALL ( 1 calls)
Called by init_run:
wfcinit : 0.01s CPU 0.01s WALL ( 1 calls)
wfcinit:atom : 0.00s CPU 0.00s WALL ( 8 calls)
wfcinit:wfcr : 0.06s CPU 0.06s WALL ( 8 calls)
potinit : 0.03s CPU 0.03s WALL ( 1 calls)
hinit0 : 0.17s CPU 0.17s WALL ( 1 calls)
Called by electrons:
c_bands : 0.52s CPU 0.53s WALL ( 1 calls)
v_of_rho : 0.03s CPU 0.03s WALL ( 2 calls)
v_h : 0.00s CPU 0.00s WALL ( 2 calls)
v_xc : 0.03s CPU 0.03s WALL ( 2 calls)
newd : 0.03s CPU 0.04s WALL ( 2 calls)
PAW_pot : 0.04s CPU 0.04s WALL ( 2 calls)
Called by c_bands:
init_us_2 : 0.01s CPU 0.01s WALL ( 88 calls)
cegterg : 0.45s CPU 0.46s WALL ( 8 calls)
Called by sum_band:
Called by *egterg:
h_psi : 4.63s CPU 4.70s WALL ( 1473 calls)
s_psi : 0.08s CPU 0.08s WALL ( 2904 calls)
g_psi : 0.00s CPU 0.00s WALL ( 102 calls)
cdiaghg : 0.07s CPU 0.07s WALL ( 110 calls)
cegterg:over : 0.01s CPU 0.01s WALL ( 102 calls)
cegterg:upda : 0.00s CPU 0.00s WALL ( 102 calls)
cegterg:last : 0.00s CPU 0.00s WALL ( 24 calls)
Called by h_psi:
h_psi:pot : 4.57s CPU 4.63s WALL ( 1473 calls)
h_psi:calbec : 0.07s CPU 0.06s WALL ( 1473 calls)
vloc_psi : 4.47s CPU 4.53s WALL ( 1473 calls)
add_vuspsi : 0.03s CPU 0.04s WALL ( 1473 calls)
vhpsi : 0.05s CPU 0.05s WALL ( 1473 calls)
General routines
calbec : 0.16s CPU 0.15s WALL ( 4441 calls)
fft : 0.15s CPU 0.15s WALL ( 255 calls)
ffts : 0.01s CPU 0.01s WALL ( 32 calls)
fftw : 4.67s CPU 4.67s WALL ( 34280 calls)
interpolate : 0.02s CPU 0.03s WALL ( 32 calls)
davcio : 0.04s CPU 0.06s WALL ( 2097 calls)
Parallel routines
fft_scatt_xy : 0.51s CPU 0.59s WALL ( 34567 calls)
fft_scatt_yz : 1.14s CPU 1.11s WALL ( 34567 calls)
Hubbard U routines
vhpsi : 0.05s CPU 0.05s WALL ( 1473 calls)
PAW routines
PAW_pot : 0.04s CPU 0.04s WALL ( 2 calls)
init_vloc : 0.05s CPU 0.05s WALL ( 2 calls)
init_us_1 : 0.19s CPU 0.19s WALL ( 2 calls)
newd : 0.03s CPU 0.04s WALL ( 2 calls)
add_vuspsi : 0.03s CPU 0.04s WALL ( 1473 calls)
PRINTING TIMING FROM HP ROUTINES:
hp_setup_q : 0.04s CPU 0.04s WALL ( 1 calls)
hp_init_q : 0.01s CPU 0.01s WALL ( 1 calls)
hp_solve_lin : 9.27s CPU 9.46s WALL ( 1 calls)
hp_dvpsi_per : 0.00s CPU 0.00s WALL ( 60 calls)
hp_dnsq : 0.01s CPU 0.01s WALL ( 15 calls)
hp_symdnsq : 0.00s CPU 0.00s WALL ( 15 calls)
hp_vpsifft : 0.26s CPU 0.27s WALL ( 56 calls)
hp_sphi : 0.00s CPU 0.00s WALL ( 1 calls)
hp_run_nscf : 0.78s CPU 0.80s WALL ( 1 calls)
hp_psymdvscf : 1.88s CPU 1.88s WALL ( 15 calls)
PRINTING TIMING FROM LR MODULE:
ortho : 0.01s CPU 0.01s WALL ( 60 calls)
cgsolve : 4.46s CPU 4.53s WALL ( 60 calls)
ch_psi : 4.42s CPU 4.49s WALL ( 1355 calls)
incdrhoscf : 0.31s CPU 0.31s WALL ( 60 calls)
dv_of_drho : 0.15s CPU 0.15s WALL ( 15 calls)
mix_pot : 0.04s CPU 0.06s WALL ( 15 calls)
setup_dgc : 0.03s CPU 0.03s WALL ( 1 calls)
setup_dmuxc : 0.00s CPU 0.00s WALL ( 1 calls)
setup_nbnd_o : 0.00s CPU 0.00s WALL ( 1 calls)
cft_wave : 0.24s CPU 0.25s WALL ( 1792 calls)
USPP ROUTINES:
newdq : 0.29s CPU 0.29s WALL ( 15 calls)
adddvscf : 0.01s CPU 0.01s WALL ( 56 calls)
addusdbec : 0.00s CPU 0.00s WALL ( 60 calls)
HP : 10.61s CPU 10.83s WALL
This run was terminated on: 13:38:40 29Aug2018
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

View File

@ -0,0 +1,9 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(1) = .true.
sum_pertq = .true.
/

View File

@ -0,0 +1,147 @@
Program HP v.6.3 starts on 29Aug2018 at 13:38:40
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
"P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 8 processors
MPI processes distributed on 1 nodes
R & G space division: proc/nbgrp/npool/nimage = 8
=--------------------------------------------------------------------------=
Calculation of Hubbard parameters from DFPT; please cite this program as
I. Timrov, N. Marzari, and M. Cococcioni, Phys. Rev. B 98, 085127 (2018)
=--------------------------------------------------------------------------=
Reading data from directory:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/LiCoO2.save/
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
Message from routine read_upf::
Pseudo file /scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF has been successfully fixed on the fly.
To avoid this message in the future you can permanently fix
your pseudo files following instructions given in:
https://gitlab.com/QEF/q-e/blob/master/upftools/how_to_fix_upf.md
file O.pbesol-n-kjpaw_psl.0.1.UPF: wavefunction(s) 2P renormalized
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 28 3658 1285 218
Max 190 95 29 3660 1286 219
Sum 1517 755 229 29271 10281 1749
Check: negative/imaginary core charge= -0.000017 0.000000
--- in v_hubbard ---
Hubbard energy 0.0000
-------
bravais-lattice index = 5
lattice parameter (alat) = 9.3705 (a.u.)
unit-cell volume = 217.1091 (a.u.)^3
number of atoms/cell = 4
number of atomic types = 3
kinetic-energy cut-off = 50.00 (Ry)
charge density cut-off = 400.00 (Ry)
conv. thresh. for NSCF = 1.0E-11
conv. thresh. for chi = 1.0E-08
Input Hubbard parameters (in eV):
U ( 1) = 1.00000E-08
U ( 2) = 1.00000E-08
celldm(1) = 9.37050 celldm(2) = 0.00000 celldm(3) = 0.00000
celldm(4) = 0.83874 celldm(5) = 0.00000 celldm(6) = 0.00000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 0.2840 -0.1639 0.9447 )
a(2) = ( 0.0000 0.3279 0.9447 )
a(3) = ( -0.2840 -0.1639 0.9447 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.7608 -1.0166 0.3528 )
b(2) = ( 0.0000 2.0333 0.3528 )
b(3) = ( -1.7608 -1.0166 0.3528 )
Atoms inside the unit cell (Cartesian axes):
site n. atom mass positions (alat units)
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
3 O 16.0000 tau( 3) = ( 0.00000 -0.00000 2.09589 )
4 Li 7.0000 tau( 4) = ( 0.00000 -0.00000 1.41708 )
Atom which will be perturbed:
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
=====================================================================
PERTURBED ATOM # 1
site n. atom mass positions (alat units)
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
=====================================================================
The perturbed atom has a type which is unique!
The grid of q-points ( 2, 2, 2) ( 4 q-points ) :
N xq(1) xq(2) xq(3) wq
1 0.000000000 0.000000000 0.000000000 0.125000000
2 0.880423607 0.508312806 -0.176419367 0.375000000
3 0.880423607 -0.508312806 -0.352838734 0.375000000
4 0.000000000 0.000000000 -0.529258101 0.125000000
Computing the sum over q of the response occupation matrices...
q # 1 = 0.000000000 0.000000000 0.000000000
Number of q in the star = 1
List of q in the star:
1 0.000000000 0.000000000 0.000000000
q # 2 = 0.880423607 0.508312806 -0.176419367
Number of q in the star = 3
List of q in the star:
1 0.880423607 0.508312806 -0.176419367
2 0.880423607 -0.508312806 0.176419367
3 0.000000000 1.016625613 0.176419367
q # 3 = 0.880423607 -0.508312806 -0.352838734
Number of q in the star = 3
List of q in the star:
1 0.880423607 -0.508312806 -0.352838734
2 0.880423607 0.508312806 0.352838734
3 0.000000000 -1.016625613 0.352838734
q # 4 = 0.000000000 0.000000000 -0.529258101
Number of q in the star = 1
List of q in the star:
1 0.000000000 0.000000000 -0.529258101
HP : 0.51s CPU 0.53s WALL
This run was terminated on: 13:38:41 29Aug2018
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

View File

@ -0,0 +1,10 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(2) = .true.
start_q = 1
last_q = 3
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(2) = .true.
start_q = 4
last_q = 6
/

View File

@ -0,0 +1,737 @@
Program HP v.6.3 starts on 29Aug2018 at 13:39:31
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
"P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 8 processors
MPI processes distributed on 1 nodes
R & G space division: proc/nbgrp/npool/nimage = 8
=--------------------------------------------------------------------------=
Calculation of Hubbard parameters from DFPT; please cite this program as
I. Timrov, N. Marzari, and M. Cococcioni, Phys. Rev. B 98, 085127 (2018)
=--------------------------------------------------------------------------=
Reading data from directory:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/LiCoO2.save/
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
Message from routine read_upf::
Pseudo file /scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF has been successfully fixed on the fly.
To avoid this message in the future you can permanently fix
your pseudo files following instructions given in:
https://gitlab.com/QEF/q-e/blob/master/upftools/how_to_fix_upf.md
file O.pbesol-n-kjpaw_psl.0.1.UPF: wavefunction(s) 2P renormalized
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 28 3658 1285 218
Max 190 95 29 3660 1286 219
Sum 1517 755 229 29271 10281 1749
Check: negative/imaginary core charge= -0.000017 0.000000
--- in v_hubbard ---
Hubbard energy 0.0000
-------
bravais-lattice index = 5
lattice parameter (alat) = 9.3705 (a.u.)
unit-cell volume = 217.1091 (a.u.)^3
number of atoms/cell = 4
number of atomic types = 3
kinetic-energy cut-off = 50.00 (Ry)
charge density cut-off = 400.00 (Ry)
conv. thresh. for NSCF = 1.0E-11
conv. thresh. for chi = 1.0E-08
Input Hubbard parameters (in eV):
U ( 1) = 1.00000E-08
U ( 2) = 1.00000E-08
celldm(1) = 9.37050 celldm(2) = 0.00000 celldm(3) = 0.00000
celldm(4) = 0.83874 celldm(5) = 0.00000 celldm(6) = 0.00000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 0.2840 -0.1639 0.9447 )
a(2) = ( 0.0000 0.3279 0.9447 )
a(3) = ( -0.2840 -0.1639 0.9447 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.7608 -1.0166 0.3528 )
b(2) = ( 0.0000 2.0333 0.3528 )
b(3) = ( -1.7608 -1.0166 0.3528 )
Atoms inside the unit cell (Cartesian axes):
site n. atom mass positions (alat units)
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
3 O 16.0000 tau( 3) = ( 0.00000 -0.00000 2.09589 )
4 Li 7.0000 tau( 4) = ( 0.00000 -0.00000 1.41708 )
Atom which will be perturbed:
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
Reading data from directory:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/LiCoO2.save/
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
Message from routine read_upf::
Pseudo file /scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF has been successfully fixed on the fly.
To avoid this message in the future you can permanently fix
your pseudo files following instructions given in:
https://gitlab.com/QEF/q-e/blob/master/upftools/how_to_fix_upf.md
file O.pbesol-n-kjpaw_psl.0.1.UPF: wavefunction(s) 2P renormalized
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 28 3658 1285 218
Max 190 95 29 3660 1286 219
Sum 1517 755 229 29271 10281 1749
Check: negative/imaginary core charge= -0.000017 0.000000
--- in v_hubbard ---
Hubbard energy 0.0000
-------
=====================================================================
PERTURBED ATOM # 2
site n. atom mass positions (alat units)
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
=====================================================================
The perturbed atom has a type which is not unique!
Changing the type of the perturbed atom and recomputing the symmetries...
The number of symmetries is reduced :
nsym = 6 nsym_PWscf = 12
Changing the type of the perturbed atom back to its original type...
The grid of q-points ( 2, 2, 2) ( 4 q-points ) :
N xq(1) xq(2) xq(3) wq
1 0.000000000 0.000000000 0.000000000 0.125000000
2 0.880423607 0.508312806 -0.176419367 0.375000000
3 0.880423607 -0.508312806 -0.352838734 0.375000000
4 0.000000000 0.000000000 -0.529258101 0.125000000
=-------------------------------------------------------------=
Calculation for q # 4 = ( 0.0000000 0.0000000 -0.5292581 )
=-------------------------------------------------------------=
Performing NSCF calculation at all points k and k+q...
Subspace diagonalization in iterative solution of the eigenvalue problem:
a serial algorithm will be used
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 30 3658 1285 233
Max 190 95 31 3660 1286 234
Sum 1517 755 241 29271 10281 1865
bravais-lattice index = 5
lattice parameter (alat) = 9.3705 a.u.
unit-cell volume = 217.1091 (a.u.)^3
number of atoms/cell = 4
number of atomic types = 3
number of electrons = 32.00
number of Kohn-Sham states= 16
kinetic-energy cutoff = 50.0000 Ry
charge density cutoff = 400.0000 Ry
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
celldm(1)= 9.370500 celldm(2)= 0.000000 celldm(3)= 0.000000
celldm(4)= 0.838740 celldm(5)= 0.000000 celldm(6)= 0.000000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 0.283954 -0.163941 0.944719 )
a(2) = ( 0.000000 0.327882 0.944719 )
a(3) = ( -0.283954 -0.163941 0.944719 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.760847 -1.016626 0.352839 )
b(2) = ( 0.000000 2.033251 0.352839 )
b(3) = ( -1.760847 -1.016626 0.352839 )
PseudoPot. # 1 for Co read from file:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/co_pbesol_v1.2.uspp.F.UPF
MD5 check sum: 3b4cd4e7cc7df4da9fdede0fd33e2193
Pseudo is Ultrasoft + core correction, Zval = 17.0
Generated by new atomic code, or converted to UPF format
Using radial grid of 863 points, 6 beta functions with:
l(1) = 0
l(2) = 0
l(3) = 1
l(4) = 1
l(5) = 2
l(6) = 2
Q(r) pseudized with 8 coefficients, rinner = 1.200 1.200 1.200
1.200 1.200
PseudoPot. # 2 for O read from file:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF
MD5 check sum: 433e5d6bca876f33b592d2bdaf67ea28
Pseudo is Projector augmented-wave + core cor, Zval = 6.0
Generated using "atomic" code by A. Dal Corso v.5.0.99 svn rev. 10869
Shape of augmentation charge: BESSEL
Using radial grid of 1095 points, 4 beta functions with:
l(1) = 0
l(2) = 0
l(3) = 1
l(4) = 1
Q(r) pseudized with 0 coefficients
PseudoPot. # 3 for Li read from file:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/li_pbesol_v1.4.uspp.F.UPF
MD5 check sum: aa28d9aeea6a965f2dc95ee9517b3536
Pseudo is Ultrasoft, Zval = 3.0
Generated by new atomic code, or converted to UPF format
Using radial grid of 751 points, 5 beta functions with:
l(1) = 0
l(2) = 0
l(3) = 0
l(4) = 1
l(5) = 1
Q(r) pseudized with 10 coefficients, rinner = 1.150 1.150 1.150
atomic species valence mass pseudopotential
Co 17.00 59.00000 Co( 1.00)
O 6.00 16.00000 O ( 1.00)
Li 3.00 7.00000 Li( 1.00)
Simplified LDA+U calculation (l_max = 2) with parameters (eV):
atomic species L U alpha J0 beta
Co 2 0.0000 0.0000 0.0000 0.0000
O 1 0.0000 0.0000 0.0000 0.0000
6 Sym. Ops. (no inversion) found
Cartesian axes
site n. atom positions (alat units)
1 Co tau( 1) = ( 0.0000000 0.0000000 0.0000000 )
2 O tau( 2) = ( 0.0000000 -0.0000000 0.7382650 )
3 O tau( 3) = ( 0.0000000 -0.0000000 2.0958909 )
4 Li tau( 4) = ( 0.0000000 -0.0000000 1.4170780 )
number of k points= 8
cart. coord. in units 2pi/alat
k( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.2500000
k( 2) = ( 0.0000000 0.0000000 -0.5292581), wk = 0.0000000
k( 3) = ( 0.8804236 0.5083128 -0.1764194), wk = 0.7500000
k( 4) = ( 0.8804236 0.5083128 -0.7056775), wk = 0.0000000
k( 5) = ( 0.8804236 -0.5083128 -0.3528387), wk = 0.7500000
k( 6) = ( 0.8804236 -0.5083128 -0.8820968), wk = 0.0000000
k( 7) = ( 0.0000000 0.0000000 -0.5292581), wk = 0.2500000
k( 8) = ( 0.0000000 0.0000000 -1.0585162), wk = 0.0000000
Dense grid: 29271 G-vectors FFT dimensions: ( 60, 60, 60)
Smooth grid: 10281 G-vectors FFT dimensions: ( 45, 45, 45)
Estimated max dynamical RAM per process > 20.55 MB
Estimated total dynamical RAM > 164.40 MB
Check: negative/imaginary core charge= -0.000017 0.000000
The potential is recalculated from file :
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/HP/LiCoO2.save/charge-density
Number of +U iterations with fixed ns = 0
Starting occupations:
--- enter write_ns ---
LDA+U parameters:
U( 1) = 0.00000001
alpha( 1) = 0.00000000
U( 2) = 0.00000001
alpha( 2) = 0.00000000
atom 1 Tr[ns(na)] = 7.45591
eigenvalues:
0.415 0.415 0.966 0.966 0.967
eigenvectors:
0.000 0.000 0.000 0.000 1.000
0.474 0.174 0.021 0.331 0.000
0.174 0.474 0.331 0.021 0.000
0.094 0.258 0.609 0.039 0.000
0.258 0.094 0.039 0.609 0.000
occupations:
0.967 0.000 0.000 0.000 0.000
0.000 0.609 0.000 -0.000 -0.263
0.000 0.000 0.609 -0.263 0.000
0.000 -0.000 -0.263 0.772 -0.000
0.000 -0.263 0.000 -0.000 0.772
atom 2 Tr[ns(na)] = 4.68374
eigenvalues:
0.769 0.769 0.804
eigenvectors:
0.000 0.000 1.000
0.944 0.056 0.000
0.056 0.944 0.000
occupations:
0.804 -0.000 0.000
-0.000 0.769 -0.000
0.000 -0.000 0.769
atom 3 Tr[ns(na)] = 4.68374
eigenvalues:
0.769 0.769 0.804
eigenvectors:
0.000 0.000 1.000
0.944 0.056 0.000
0.056 0.944 0.000
occupations:
0.804 -0.000 0.000
-0.000 0.769 -0.000
0.000 -0.000 0.769
N of occupied +U levels = 16.823396
--- exit write_ns ---
Atomic wfc used for LDA+U Projector are orthogonalized
Starting wfcs are 26 atomic wfcs
Checking if some PAW data can be deallocated...
Band Structure Calculation
Davidson diagonalization with overlap
ethr = 1.00E-11, avg # of iterations = 12.8
total cpu time spent up to now is -1.0 secs
End of band structure calculation
k = 0.0000 0.0000 0.0000 ( 1273 PWs) bands (ev):
-83.8483 -47.2771 -47.2771 -47.2537 -33.5254 -9.4631 -7.6968 3.5684
5.5153 5.5153 8.3714 8.5165 8.5165 9.6828 9.6828 10.6060
k = 0.0000 0.0000-0.5293 ( 1268 PWs) bands (ev):
-83.8483 -47.2771 -47.2771 -47.2537 -33.5251 -9.3288 -7.9185 4.6231
5.5478 5.5478 6.8005 8.4419 8.4419 9.6865 9.6865 10.7213
k = 0.8804 0.5083-0.1764 ( 1296 PWs) bands (ev):
-83.8406 -47.3560 -47.2960 -47.2412 -33.4862 -7.8380 -7.6827 3.3512
4.9028 5.3852 5.7234 6.9794 7.2201 9.7334 10.3680 10.6880
k = 0.8804 0.5083-0.7057 ( 1284 PWs) bands (ev):
-83.8406 -47.3560 -47.2960 -47.2411 -33.4862 -7.8064 -7.7034 3.2202
4.1637 5.8851 6.4326 6.9614 7.1234 9.5075 10.3697 10.6699
k = 0.8804-0.5083-0.3528 ( 1284 PWs) bands (ev):
-83.8406 -47.3560 -47.2960 -47.2411 -33.4862 -7.8064 -7.7034 3.2202
4.1637 5.8851 6.4326 6.9614 7.1234 9.5075 10.3697 10.6699
k = 0.8804-0.5083-0.8821 ( 1296 PWs) bands (ev):
-83.8406 -47.3560 -47.2960 -47.2412 -33.4862 -7.8380 -7.6827 3.3512
4.9028 5.3852 5.7234 6.9794 7.2201 9.7334 10.3680 10.6880
k = 0.0000 0.0000-0.5293 ( 1268 PWs) bands (ev):
-83.8483 -47.2771 -47.2771 -47.2537 -33.5251 -9.3288 -7.9185 4.6231
5.5478 5.5478 6.8005 8.4419 8.4419 9.6865 9.6865 10.7213
k = 0.0000 0.0000-1.0585 ( 1273 PWs) bands (ev):
-83.8483 -47.2771 -47.2771 -47.2537 -33.5254 -9.4631 -7.6968 3.5684
5.5153 5.5153 8.3714 8.5165 8.5165 9.6828 9.6828 10.6060
highest occupied level (ev): 10.7213
Writing output data file LiCoO2.save/
Done!
WRITING LINEAR-RESPONSE SUMMARY:
Number of symmetries in the small group of q, nsymq = 6
+ the symmetry q -> -q+G
Symmetry matrices (and vectors of fractional translations if f/=0):
isym = 1 identity
cryst. s( 1) = ( 1 0 0 )
( 0 1 0 )
( 0 0 1 )
cart. s( 1) = ( 1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 2 120 deg rotation - cryst. axis [0,0,1]
cryst. s( 2) = ( 0 1 0 )
( 0 0 1 )
( 1 0 0 )
cart. s( 2) = ( -0.5000000 -0.8660254 -0.0000000 )
( 0.8660254 -0.5000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 3 120 deg rotation - cryst. axis [0,0,-1]
cryst. s( 3) = ( 0 0 1 )
( 1 0 0 )
( 0 1 0 )
cart. s( 3) = ( -0.5000000 0.8660254 0.0000000 )
( -0.8660254 -0.5000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 4 inv. 180 deg rotation - cart. axis [1,0,0]
cryst. s( 4) = ( 0 0 1 )
( 0 1 0 )
( 1 0 0 )
cart. s( 4) = ( -1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 5 inv. 180 deg rotation - cryst. axis [0,1,0]
cryst. s( 5) = ( 0 1 0 )
( 1 0 0 )
( 0 0 1 )
cart. s( 5) = ( 0.5000000 0.8660254 0.0000000 )
( 0.8660254 -0.5000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 6 inv. 180 deg rotation - cryst. axis [1,1,0]
cryst. s( 6) = ( 1 0 0 )
( 0 0 1 )
( 0 1 0 )
cart. s( 6) = ( 0.5000000 -0.8660254 -0.0000000 )
( -0.8660254 -0.5000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
This transformation sends q -> -q+G
isym = 7 identity
cryst. s( 7) = ( 1 0 0 )
( 0 1 0 )
( 0 0 1 )
cart. s( 7) = ( 1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 -0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
G cutoff = 889.6635 ( 3659 G-vectors) FFT grid: ( 60, 60, 60)
G cutoff = 444.8318 ( 1286 G-vectors) smooth grid: ( 45, 45, 45)
Number of k (and k+q if q/=0) points = 8
cart. coord. (in units 2pi/alat)
k ( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.2500000
k ( 2) = ( 0.0000000 0.0000000 -0.5292581), wk = 0.0000000
k ( 3) = ( 0.8804236 0.5083128 -0.1764194), wk = 0.7500000
k ( 4) = ( 0.8804236 0.5083128 -0.7056775), wk = 0.0000000
k ( 5) = ( 0.8804236 -0.5083128 -0.3528387), wk = 0.7500000
k ( 6) = ( 0.8804236 -0.5083128 -0.8820968), wk = 0.0000000
k ( 7) = ( 0.0000000 0.0000000 -0.5292581), wk = 0.2500000
k ( 8) = ( 0.0000000 0.0000000 -1.0585162), wk = 0.0000000
cryst. coord.
k ( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.2500000
k ( 2) = ( -0.5000000 -0.5000000 -0.5000000), wk = 0.0000000
k ( 3) = ( -0.0000000 0.0000000 -0.5000000), wk = 0.7500000
k ( 4) = ( -0.5000000 -0.5000000 -1.0000000), wk = 0.0000000
k ( 5) = ( 0.0000000 -0.5000000 -0.5000000), wk = 0.7500000
k ( 6) = ( -0.5000000 -1.0000000 -1.0000000), wk = 0.0000000
k ( 7) = ( -0.5000000 -0.5000000 -0.5000000), wk = 0.2500000
k ( 8) = ( -1.0000000 -1.0000000 -1.0000000), wk = 0.0000000
Atomic wfc used for the DFT+U projector are orthogonalized
Total time spent up to now is:
HP : 1.77s CPU 1.82s WALL
=--------------------------------------------=
START SOLVING THE LINEAR SYSTEM
=--------------------------------------------=
atom # 2 q point # 4 iter # 1
chi: 1 -0.1245877074
chi: 2 -0.2308781316
chi: 3 -0.0543256440
Average number of iter. to solve lin. system: 35.0
Total CPU time : 2.7 s
atom # 2 q point # 4 iter # 2
chi: 1 0.0866136463 residue: 0.2112013537
chi: 2 0.1576990020 residue: 0.3885771336
chi: 3 0.0994215485 residue: 0.1537471924
Average number of iter. to solve lin. system: 14.0
Total CPU time : 3.3 s
atom # 2 q point # 4 iter # 3
chi: 1 -0.0084499554 residue: 0.0950636017
chi: 2 -0.0481919566 residue: 0.2058909586
chi: 3 -0.0088834465 residue: 0.1083049950
Average number of iter. to solve lin. system: 13.0
Total CPU time : 3.8 s
atom # 2 q point # 4 iter # 4
chi: 1 -0.0320960058 residue: 0.0236460503
chi: 2 -0.0614623614 residue: 0.0132704047
chi: 3 0.0011082797 residue: 0.0099917262
Average number of iter. to solve lin. system: 14.5
Total CPU time : 4.4 s
atom # 2 q point # 4 iter # 5
chi: 1 -0.0295625315 residue: 0.0025334743
chi: 2 -0.0634909919 residue: 0.0020286306
chi: 3 -0.0048449977 residue: 0.0059532775
Average number of iter. to solve lin. system: 14.0
Total CPU time : 4.9 s
atom # 2 q point # 4 iter # 6
chi: 1 -0.0287907483 residue: 0.0007717831
chi: 2 -0.0635228905 residue: 0.0000318986
chi: 3 -0.0058127080 residue: 0.0009677102
Average number of iter. to solve lin. system: 15.8
Total CPU time : 5.5 s
atom # 2 q point # 4 iter # 7
chi: 1 -0.0280153677 residue: 0.0007753806
chi: 2 -0.0630257184 residue: 0.0004971721
chi: 3 -0.0060903006 residue: 0.0002775927
Average number of iter. to solve lin. system: 16.0
Total CPU time : 6.0 s
atom # 2 q point # 4 iter # 8
chi: 1 -0.0283628706 residue: 0.0003475029
chi: 2 -0.0630723359 residue: 0.0000466175
chi: 3 -0.0057433627 residue: 0.0003469379
Average number of iter. to solve lin. system: 14.8
Total CPU time : 6.6 s
atom # 2 q point # 4 iter # 9
chi: 1 -0.0283812517 residue: 0.0000183811
chi: 2 -0.0630855279 residue: 0.0000131920
chi: 3 -0.0057325769 residue: 0.0000107859
Average number of iter. to solve lin. system: 15.5
Total CPU time : 7.1 s
atom # 2 q point # 4 iter # 10
chi: 1 -0.0284190827 residue: 0.0000378310
chi: 2 -0.0631122998 residue: 0.0000267719
chi: 3 -0.0057164283 residue: 0.0000161486
Average number of iter. to solve lin. system: 16.8
Total CPU time : 7.7 s
atom # 2 q point # 4 iter # 11
chi: 1 -0.0284034019 residue: 0.0000156808
chi: 2 -0.0631027202 residue: 0.0000095796
chi: 3 -0.0057251910 residue: 0.0000087627
Average number of iter. to solve lin. system: 15.8
Total CPU time : 8.3 s
atom # 2 q point # 4 iter # 12
chi: 1 -0.0284071818 residue: 0.0000037799
chi: 2 -0.0631054810 residue: 0.0000027608
chi: 3 -0.0057236327 residue: 0.0000015583
Average number of iter. to solve lin. system: 16.0
Total CPU time : 8.9 s
atom # 2 q point # 4 iter # 13
chi: 1 -0.0284081163 residue: 0.0000009345
chi: 2 -0.0631057603 residue: 0.0000002793
chi: 3 -0.0057226790 residue: 0.0000009537
Average number of iter. to solve lin. system: 16.5
Total CPU time : 9.5 s
atom # 2 q point # 4 iter # 14
chi: 1 -0.0284073668 residue: 0.0000007496
chi: 2 -0.0631056661 residue: 0.0000000942
chi: 3 -0.0057234436 residue: 0.0000007646
Average number of iter. to solve lin. system: 15.8
Total CPU time : 10.0 s
atom # 2 q point # 4 iter # 15
chi: 1 -0.0284075411 residue: 0.0000001744
chi: 2 -0.0631057355 residue: 0.0000000694
chi: 3 -0.0057233019 residue: 0.0000001416
Average number of iter. to solve lin. system: 16.0
Total CPU time : 10.6 s
atom # 2 q point # 4 iter # 16
chi: 1 -0.0284074920 residue: 0.0000000492
chi: 2 -0.0631056914 residue: 0.0000000441
chi: 3 -0.0057233104 residue: 0.0000000084
Average number of iter. to solve lin. system: 16.5
Total CPU time : 11.3 s
atom # 2 q point # 4 iter # 17
chi: 1 -0.0284074973 residue: 0.0000000053
chi: 2 -0.0631056988 residue: 0.0000000074
chi: 3 -0.0057233111 residue: 0.0000000008
Average number of iter. to solve lin. system: 15.8
Total CPU time : 11.9 s
=--------------------------------------------=
CONVERGENCE HAS BEEN REACHED
=--------------------------------------------=
Not all q points were considered. Stopping smoothly...
PRINTING TIMING FROM PWSCF ROUTINES:
init_run : 0.25s CPU 0.25s WALL ( 1 calls)
electrons : 0.50s CPU 0.50s WALL ( 1 calls)
Called by init_run:
wfcinit : 0.01s CPU 0.01s WALL ( 1 calls)
wfcinit:atom : 0.00s CPU 0.00s WALL ( 8 calls)
wfcinit:wfcr : 0.06s CPU 0.06s WALL ( 8 calls)
potinit : 0.03s CPU 0.03s WALL ( 1 calls)
hinit0 : 0.18s CPU 0.18s WALL ( 1 calls)
Called by electrons:
c_bands : 0.50s CPU 0.50s WALL ( 1 calls)
v_of_rho : 0.04s CPU 0.04s WALL ( 3 calls)
v_h : 0.00s CPU 0.00s WALL ( 3 calls)
v_xc : 0.04s CPU 0.04s WALL ( 3 calls)
newd : 0.04s CPU 0.05s WALL ( 3 calls)
PAW_pot : 0.05s CPU 0.05s WALL ( 3 calls)
Called by c_bands:
init_us_2 : 0.01s CPU 0.01s WALL ( 96 calls)
cegterg : 0.44s CPU 0.44s WALL ( 8 calls)
Called by sum_band:
Called by *egterg:
h_psi : 5.64s CPU 5.73s WALL ( 1866 calls)
s_psi : 0.10s CPU 0.10s WALL ( 3698 calls)
g_psi : 0.00s CPU 0.00s WALL ( 102 calls)
cdiaghg : 0.07s CPU 0.07s WALL ( 110 calls)
cegterg:over : 0.01s CPU 0.01s WALL ( 102 calls)
cegterg:upda : 0.00s CPU 0.00s WALL ( 102 calls)
cegterg:last : 0.00s CPU 0.00s WALL ( 24 calls)
Called by h_psi:
h_psi:pot : 5.58s CPU 5.66s WALL ( 1866 calls)
h_psi:calbec : 0.08s CPU 0.07s WALL ( 1866 calls)
vloc_psi : 5.45s CPU 5.54s WALL ( 1866 calls)
add_vuspsi : 0.04s CPU 0.05s WALL ( 1866 calls)
vhpsi : 0.06s CPU 0.06s WALL ( 1866 calls)
General routines
calbec : 0.18s CPU 0.17s WALL ( 5636 calls)
fft : 0.15s CPU 0.15s WALL ( 298 calls)
ffts : 0.01s CPU 0.01s WALL ( 36 calls)
fftw : 5.58s CPU 5.61s WALL ( 44072 calls)
interpolate : 0.02s CPU 0.03s WALL ( 36 calls)
davcio : 0.05s CPU 0.07s WALL ( 2590 calls)
Parallel routines
fft_scatt_xy : 0.70s CPU 0.74s WALL ( 44406 calls)
fft_scatt_yz : 1.14s CPU 1.13s WALL ( 44406 calls)
Hubbard U routines
vhpsi : 0.06s CPU 0.06s WALL ( 1866 calls)
PAW routines
PAW_pot : 0.05s CPU 0.05s WALL ( 3 calls)
init_vloc : 0.08s CPU 0.08s WALL ( 3 calls)
init_us_1 : 0.28s CPU 0.29s WALL ( 3 calls)
newd : 0.04s CPU 0.05s WALL ( 3 calls)
add_vuspsi : 0.04s CPU 0.05s WALL ( 1866 calls)
PRINTING TIMING FROM HP ROUTINES:
hp_setup_q : 0.04s CPU 0.04s WALL ( 1 calls)
hp_init_q : 0.01s CPU 0.01s WALL ( 1 calls)
hp_solve_lin : 9.86s CPU 10.05s WALL ( 1 calls)
hp_dvpsi_per : 0.00s CPU 0.00s WALL ( 68 calls)
hp_dnsq : 0.01s CPU 0.01s WALL ( 17 calls)
hp_symdnsq : 0.00s CPU 0.00s WALL ( 17 calls)
hp_vpsifft : 0.29s CPU 0.30s WALL ( 64 calls)
hp_sphi : 0.00s CPU 0.00s WALL ( 1 calls)
hp_run_nscf : 0.76s CPU 0.77s WALL ( 1 calls)
hp_psymdvscf : 1.15s CPU 1.16s WALL ( 17 calls)
PRINTING TIMING FROM LR MODULE:
ortho : 0.01s CPU 0.01s WALL ( 68 calls)
cgsolve : 5.54s CPU 5.64s WALL ( 68 calls)
ch_psi : 5.49s CPU 5.59s WALL ( 1748 calls)
incdrhoscf : 0.33s CPU 0.33s WALL ( 68 calls)
dv_of_drho : 0.16s CPU 0.16s WALL ( 17 calls)
mix_pot : 0.06s CPU 0.07s WALL ( 17 calls)
setup_dgc : 0.03s CPU 0.03s WALL ( 1 calls)
setup_dmuxc : 0.00s CPU 0.00s WALL ( 1 calls)
setup_nbnd_o : 0.00s CPU 0.00s WALL ( 1 calls)
cft_wave : 0.27s CPU 0.28s WALL ( 2048 calls)
USPP ROUTINES:
newdq : 0.31s CPU 0.31s WALL ( 17 calls)
adddvscf : 0.01s CPU 0.01s WALL ( 64 calls)
addusdbec : 0.00s CPU 0.00s WALL ( 68 calls)
HP : 11.63s CPU 11.88s WALL
This run was terminated on: 13:39:43 29Aug2018
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

View File

@ -0,0 +1,9 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(2) = .true.
sum_pertq = .true.
/

View File

@ -0,0 +1,179 @@
Program HP v.6.3 starts on 29Aug2018 at 13:39:43
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
"P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 8 processors
MPI processes distributed on 1 nodes
R & G space division: proc/nbgrp/npool/nimage = 8
=--------------------------------------------------------------------------=
Calculation of Hubbard parameters from DFPT; please cite this program as
I. Timrov, N. Marzari, and M. Cococcioni, Phys. Rev. B 98, 085127 (2018)
=--------------------------------------------------------------------------=
Reading data from directory:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/LiCoO2.save/
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
Message from routine read_upf::
Pseudo file /scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF has been successfully fixed on the fly.
To avoid this message in the future you can permanently fix
your pseudo files following instructions given in:
https://gitlab.com/QEF/q-e/blob/master/upftools/how_to_fix_upf.md
file O.pbesol-n-kjpaw_psl.0.1.UPF: wavefunction(s) 2P renormalized
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 28 3658 1285 218
Max 190 95 29 3660 1286 219
Sum 1517 755 229 29271 10281 1749
Check: negative/imaginary core charge= -0.000017 0.000000
--- in v_hubbard ---
Hubbard energy 0.0000
-------
bravais-lattice index = 5
lattice parameter (alat) = 9.3705 (a.u.)
unit-cell volume = 217.1091 (a.u.)^3
number of atoms/cell = 4
number of atomic types = 3
kinetic-energy cut-off = 50.00 (Ry)
charge density cut-off = 400.00 (Ry)
conv. thresh. for NSCF = 1.0E-11
conv. thresh. for chi = 1.0E-08
Input Hubbard parameters (in eV):
U ( 1) = 1.00000E-08
U ( 2) = 1.00000E-08
celldm(1) = 9.37050 celldm(2) = 0.00000 celldm(3) = 0.00000
celldm(4) = 0.83874 celldm(5) = 0.00000 celldm(6) = 0.00000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 0.2840 -0.1639 0.9447 )
a(2) = ( 0.0000 0.3279 0.9447 )
a(3) = ( -0.2840 -0.1639 0.9447 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.7608 -1.0166 0.3528 )
b(2) = ( 0.0000 2.0333 0.3528 )
b(3) = ( -1.7608 -1.0166 0.3528 )
Atoms inside the unit cell (Cartesian axes):
site n. atom mass positions (alat units)
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
3 O 16.0000 tau( 3) = ( 0.00000 -0.00000 2.09589 )
4 Li 7.0000 tau( 4) = ( 0.00000 -0.00000 1.41708 )
Atom which will be perturbed:
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
Reading data from directory:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/LiCoO2.save/
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
Message from routine read_upf::
Pseudo file /scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF has been successfully fixed on the fly.
To avoid this message in the future you can permanently fix
your pseudo files following instructions given in:
https://gitlab.com/QEF/q-e/blob/master/upftools/how_to_fix_upf.md
file O.pbesol-n-kjpaw_psl.0.1.UPF: wavefunction(s) 2P renormalized
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 28 3658 1285 218
Max 190 95 29 3660 1286 219
Sum 1517 755 229 29271 10281 1749
Check: negative/imaginary core charge= -0.000017 0.000000
--- in v_hubbard ---
Hubbard energy 0.0000
-------
=====================================================================
PERTURBED ATOM # 2
site n. atom mass positions (alat units)
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
=====================================================================
The perturbed atom has a type which is not unique!
Changing the type of the perturbed atom and recomputing the symmetries...
The number of symmetries is reduced :
nsym = 6 nsym_PWscf = 12
Changing the type of the perturbed atom back to its original type...
The grid of q-points ( 2, 2, 2) ( 4 q-points ) :
N xq(1) xq(2) xq(3) wq
1 0.000000000 0.000000000 0.000000000 0.125000000
2 0.880423607 0.508312806 -0.176419367 0.375000000
3 0.880423607 -0.508312806 -0.352838734 0.375000000
4 0.000000000 0.000000000 -0.529258101 0.125000000
Computing the sum over q of the response occupation matrices...
q # 1 = 0.000000000 0.000000000 0.000000000
Number of q in the star = 1
List of q in the star:
1 0.000000000 0.000000000 0.000000000
q # 2 = 0.880423607 0.508312806 -0.176419367
Number of q in the star = 3
List of q in the star:
1 0.880423607 0.508312806 -0.176419367
2 0.000000000 -1.016625613 -0.176419367
3 -0.880423607 0.508312806 -0.176419367
q # 3 = 0.880423607 -0.508312806 -0.352838734
Number of q in the star = 3
List of q in the star:
1 0.880423607 -0.508312806 -0.352838734
2 -0.880423607 -0.508312806 -0.352838734
3 0.000000000 1.016625613 -0.352838734
q # 4 = 0.000000000 0.000000000 -0.529258101
Number of q in the star = 1
List of q in the star:
1 0.000000000 0.000000000 -0.529258101
HP : 1.00s CPU 1.04s WALL
This run was terminated on: 13:39:44 29Aug2018
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

View File

@ -0,0 +1,8 @@
&inputhp
prefix = 'LiCoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
collect_chi = .true.
/

View File

@ -0,0 +1,102 @@
Program HP v.6.3 starts on 29Aug2018 at 13:39:44
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
"P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 8 processors
MPI processes distributed on 1 nodes
R & G space division: proc/nbgrp/npool/nimage = 8
=--------------------------------------------------------------------------=
Calculation of Hubbard parameters from DFPT; please cite this program as
I. Timrov, N. Marzari, and M. Cococcioni, Phys. Rev. B 98, 085127 (2018)
=--------------------------------------------------------------------------=
Reading data from directory:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/LiCoO2.save/
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBESOL ( 1 4 10 8 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
Message from routine read_upf::
Pseudo file /scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbesol-n-kjpaw_psl.0.1.UPF has been successfully fixed on the fly.
To avoid this message in the future you can permanently fix
your pseudo files following instructions given in:
https://gitlab.com/QEF/q-e/blob/master/upftools/how_to_fix_upf.md
file O.pbesol-n-kjpaw_psl.0.1.UPF: wavefunction(s) 2P renormalized
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 189 94 28 3658 1285 218
Max 190 95 29 3660 1286 219
Sum 1517 755 229 29271 10281 1749
Check: negative/imaginary core charge= -0.000017 0.000000
--- in v_hubbard ---
Hubbard energy 0.0000
-------
bravais-lattice index = 5
lattice parameter (alat) = 9.3705 (a.u.)
unit-cell volume = 217.1091 (a.u.)^3
number of atoms/cell = 4
number of atomic types = 3
kinetic-energy cut-off = 50.00 (Ry)
charge density cut-off = 400.00 (Ry)
conv. thresh. for NSCF = 1.0E-11
conv. thresh. for chi = 1.0E-08
Input Hubbard parameters (in eV):
U ( 1) = 1.00000E-08
U ( 2) = 1.00000E-08
celldm(1) = 9.37050 celldm(2) = 0.00000 celldm(3) = 0.00000
celldm(4) = 0.83874 celldm(5) = 0.00000 celldm(6) = 0.00000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 0.2840 -0.1639 0.9447 )
a(2) = ( 0.0000 0.3279 0.9447 )
a(3) = ( -0.2840 -0.1639 0.9447 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.7608 -1.0166 0.3528 )
b(2) = ( 0.0000 2.0333 0.3528 )
b(3) = ( -1.7608 -1.0166 0.3528 )
Atoms inside the unit cell (Cartesian axes):
site n. atom mass positions (alat units)
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
3 O 16.0000 tau( 3) = ( 0.00000 -0.00000 2.09589 )
4 Li 7.0000 tau( 4) = ( 0.00000 -0.00000 1.41708 )
List of 2 atoms which will be perturbed (one at a time):
1 Co 59.0000 tau( 1) = ( 0.00000 0.00000 0.00000 )
2 O 16.0000 tau( 2) = ( 0.00000 -0.00000 0.73827 )
Post-processing calculation of Hubbard parameters ...
HP : 0.53s CPU 0.56s WALL
This run was terminated on: 13:39:45 29Aug2018
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

View File

@ -0,0 +1,37 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='LiCoO2'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 5,
celldm(1) = 9.3705,
celldm(4) = 0.83874,
nat = 4,
ntyp = 3,
ecutwfc = 50.0
ecutrho = 400.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Co 59.0 co_pbesol_v1.2.uspp.F.UPF
O 16.0 O.pbesol-n-kjpaw_psl.0.1.UPF
Li 7.0 li_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Co 0.0000000000 0.0000000000 0.0000000000
O 0.2604885000 0.2604885000 0.2604885000
O 0.7395115000 0.7395115000 0.7395115000
Li 0.5000000000 0.5000000000 0.5000000000
K_POINTS {automatic}
2 2 2 0 0 0

File diff suppressed because it is too large Load Diff

242
HP/examples/example07/run_example Executable file
View File

@ -0,0 +1,242 @@
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=`pwd`
# check whether ECHO has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi
$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and hp.x to calculate"
$ECHO "the Hubbard U parameters for Co and O in LiCoO2."
# set the needed environment variables
. ../environment_variables
# required executables and pseudopotentials
BIN_LIST="pw.x hp.x"
PSEUDO_LIST="co_pbesol_v1.2.uspp.F.UPF O.pbesol-n-kjpaw_psl.0.1.UPF li_pbesol_v1.4.uspp.F.UPF"
$ECHO
$ECHO " executables directory: $BIN_DIR"
$ECHO " pseudo directory: $PSEUDO_DIR"
$ECHO " temporary directory: $TMP_DIR"
$ECHO
$ECHO " checking that needed directories and files exist...\c"
$ECHO
$ECHO " Pseudopotentials were selected from the SSSP library:"
$ECHO " https://www.materialscloud.org/discover/sssp/table/precision\c"
$ECHO
# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
if test ! -d $DIR ; then
$ECHO
$ECHO "ERROR: $DIR not existent or not a directory"
$ECHO "Aborting"
exit 1
fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
if test ! -d $DIR ; then
mkdir $DIR
fi
done
cd $EXAMPLE_DIR/results
# check for executables
for FILE in $BIN_LIST ; do
if test ! -x $BIN_DIR/$FILE ; then
$ECHO
$ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
$ECHO "Aborting"
exit 1
fi
done
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
HP_COMMAND="$PARA_PREFIX $BIN_DIR/hp.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO " running hp.x as: $HP_COMMAND"
$ECHO
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"
PREFIX='LiCoO2'
# The PWscf self-consistent calculation
cat > $PREFIX.scf.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 5,
celldm(1) = 9.3705,
celldm(4) = 0.83874,
nat = 4,
ntyp = 3,
ecutwfc = 50.0
ecutrho = 400.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
Hubbard_U(2) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.7
/
ATOMIC_SPECIES
Co 59.0 co_pbesol_v1.2.uspp.F.UPF
O 16.0 O.pbesol-n-kjpaw_psl.0.1.UPF
Li 7.0 li_pbesol_v1.4.uspp.F.UPF
ATOMIC_POSITIONS {crystal}
Co 0.0000000000 0.0000000000 0.0000000000
O 0.2604885000 0.2604885000 0.2604885000
O 0.7395115000 0.7395115000 0.7395115000
Li 0.5000000000 0.5000000000 0.5000000000
K_POINTS {automatic}
2 2 2 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf.in |tee $PREFIX.scf.out
$ECHO " done"
# Perturbation of Co : calculation for q points from 1 to 3
cat > $PREFIX.hp.Co.step1.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(1) = .true.
start_q = 1
last_q = 3
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.Co.step1.in |tee $PREFIX.hp.Co.step1.out
$ECHO " done"
# Perturbation of Co : calculation for q points from 4 to 6
cat > $PREFIX.hp.Co.step2.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(1) = .true.
start_q = 4
last_q = 6
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.Co.step2.in |tee $PREFIX.hp.Co.step2.out
$ECHO " done"
# Perturbation of Co : collection of q points from 1 to 6
# and calculation of one column in chi0 and chi
cat > $PREFIX.hp.Co.step3.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(1) = .true.
sum_pertq = .true.
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.Co.step3.in |tee $PREFIX.hp.Co.step3.out
$ECHO " done"
# Perturbation of O : calculation for q points from 1 to 3
cat > $PREFIX.hp.O.step1.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(2) = .true.
start_q = 1
last_q = 3
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.O.step1.in |tee $PREFIX.hp.O.step1.out
$ECHO " done"
# Perturbation of O : calculation for q points from 4 to 6
cat > $PREFIX.hp.O.step2.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(2) = .true.
start_q = 4
last_q = 6
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.O.step2.in |tee $PREFIX.hp.O.step2.out
$ECHO " done"
# Perturbation of O : collection of q points from 1 to 6
# and calculation of one column in chi0 and chi
cat > $PREFIX.hp.O.step3.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
perturb_only_atom(2) = .true.
sum_pertq = .true.
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.O.step3.in |tee $PREFIX.hp.O.step3.out
$ECHO " done"
# Final step: collect all pieces of the response matrices
# chi0 and chi1, invert them and calculate U for Co and O
cat > $PREFIX.hp.final.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 2,
conv_thr_chi = 1.0d-8,
iverbosity = 2
collect_chi = .true.
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.final.in |tee $PREFIX.hp.final.out
$ECHO " done"

View File

@ -0,0 +1,60 @@
=-------------------------------------------------------------------=
Hubbard U parameters:
site n. type label spin new_type new_label Hubbard U (eV)
1 1 Ni 1 1 Ni 9.0412
=-------------------------------------------------------------------=
chi0 matrix :
-0.412860 0.027887 0.027887 0.027887
0.027887 -0.412860 0.027887 0.027887
0.027887 0.027887 -0.412860 0.027887
0.027887 0.027887 0.027887 -0.412860
chi matrix :
-0.086984 0.001127 0.001127 0.001127
0.001127 -0.086984 0.001127 0.001127
0.001127 0.001127 -0.086984 0.001127
0.001127 0.001127 0.001127 -0.086984
chi0^{-1} matrix :
-2.461074 -0.192197 -0.192197 -0.192197
-0.192197 -2.461074 -0.192197 -0.192197
-0.192197 -0.192197 -2.461074 -0.192197
-0.192197 -0.192197 -0.192197 -2.461074
chi^{-1} matrix :
-11.502297 -0.152928 -0.152928 -0.152928
-0.152928 -11.502297 -0.152928 -0.152928
-0.152928 -0.152928 -11.502297 -0.152928
-0.152928 -0.152928 -0.152928 -11.502297
Hubbard matrix :
9.041223 -0.039268 -0.039268 -0.039268
-0.039268 9.041223 -0.039268 -0.039268
-0.039268 -0.039268 9.041223 -0.039268
-0.039268 -0.039268 -0.039268 9.041223

View File

@ -0,0 +1,7 @@
&inputhp
prefix = 'NiO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 1,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/

View File

@ -0,0 +1,965 @@
Program HP v.6.3 starts on 29Aug2018 at 13:41:15
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
"P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 8 processors
MPI processes distributed on 1 nodes
R & G space division: proc/nbgrp/npool/nimage = 8
=--------------------------------------------------------------------------=
Calculation of Hubbard parameters from DFPT; please cite this program as
I. Timrov, N. Marzari, and M. Cococcioni, Phys. Rev. B 98, 085127 (2018)
=--------------------------------------------------------------------------=
Reading data from directory:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/NiO2.save/
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBE ( 1 4 3 4 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
Message from routine read_upf::
Pseudo file /scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbe-n-kjpaw_psl.0.1.UPF has been successfully fixed on the fly.
To avoid this message in the future you can permanently fix
your pseudo files following instructions given in:
https://gitlab.com/QEF/q-e/blob/master/upftools/how_to_fix_upf.md
file O.pbe-n-kjpaw_psl.0.1.UPF: wavefunction(s) 2P renormalized
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 87 44 13 14663 5209 863
Max 88 47 14 14688 5219 886
Sum 703 361 109 117447 41709 7021
Check: negative/imaginary core charge= -0.000002 0.000000
negative rho (up, down): 6.216E-04 0.000E+00
--- in v_hubbard ---
Hubbard energy 0.0000
-------
bravais-lattice index = 0
lattice parameter (alat) = 5.3370 (a.u.)
unit-cell volume = 1020.0352 (a.u.)^3
number of atoms/cell = 3
number of atomic types = 2
kinetic-energy cut-off = 45.00 (Ry)
charge density cut-off = 360.00 (Ry)
conv. thresh. for NSCF = 1.0E-11
conv. thresh. for chi = 1.0E-08
Input Hubbard parameters (in eV):
U ( 1) = 1.00000E-08
celldm(1) = 5.33697 celldm(2) = 0.00000 celldm(3) = 7.74819
celldm(4) = 0.00000 celldm(5) = 0.00000 celldm(6) = 0.00000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 1.0000 0.0000 0.0000 )
a(2) = ( -0.5000 0.8660 0.0000 )
a(3) = ( 0.0000 0.0000 7.7482 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.0000 0.5774 0.0000 )
b(2) = ( 0.0000 1.1547 0.0000 )
b(3) = ( 0.0000 0.0000 0.1291 )
Atoms inside the unit cell (Cartesian axes):
site n. atom mass positions (alat units)
1 Ni 58.6934 tau( 1) = ( 0.00000 0.00000 3.87409 )
2 O 15.9994 tau( 2) = ( 0.50000 0.28868 3.54104 )
3 O 15.9994 tau( 3) = ( 0.00000 0.57735 4.20714 )
Atom which will be perturbed:
1 Ni 58.6934 tau( 1) = ( 0.00000 0.00000 3.87409 )
=====================================================================
PERTURBED ATOM # 1
site n. atom mass positions (alat units)
1 Ni 58.6934 tau( 1) = ( 0.00000 0.00000 3.87409 )
=====================================================================
The perturbed atom has a type which is unique!
The grid of q-points ( 2, 2, 1) ( 2 q-points ) :
N xq(1) xq(2) xq(3) wq
1 0.000000000 0.000000000 0.000000000 0.250000000
2 0.000000000 -0.577350269 0.000000000 0.750000000
=-------------------------------------------------------------=
Calculation for q # 1 = ( 0.0000000 0.0000000 0.0000000 )
=-------------------------------------------------------------=
WRITING LINEAR-RESPONSE SUMMARY:
Number of symmetries in the small group of q, nsymq = 12
+ the symmetry q -> -q+G
Symmetry matrices (and vectors of fractional translations if f/=0):
isym = 1 identity
cryst. s( 1) = ( 1 0 0 )
( 0 1 0 )
( 0 0 1 )
cart. s( 1) = ( 1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 2 180 deg rotation - cart. axis [1,0,0]
cryst. s( 2) = ( 1 0 0 )
( -1 -1 0 )
( 0 0 -1 )
cart. s( 2) = ( 1.0000000 -0.0000000 0.0000000 )
( 0.0000000 -1.0000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 3 120 deg rotation - cryst. axis [0,0,1]
cryst. s( 3) = ( 0 1 0 )
( -1 -1 0 )
( 0 0 1 )
cart. s( 3) = ( -0.5000000 -0.8660254 0.0000000 )
( 0.8660254 -0.5000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 4 120 deg rotation - cryst. axis [0,0,-1]
cryst. s( 4) = ( -1 -1 0 )
( 1 0 0 )
( 0 0 1 )
cart. s( 4) = ( -0.5000000 0.8660254 0.0000000 )
( -0.8660254 -0.5000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 5 180 deg rotation - cryst. axis [0,1,0]
cryst. s( 5) = ( -1 -1 0 )
( 0 1 0 )
( 0 0 -1 )
cart. s( 5) = ( -0.5000000 -0.8660254 0.0000000 )
( -0.8660254 0.5000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 6 180 deg rotation - cryst. axis [1,1,0]
cryst. s( 6) = ( 0 1 0 )
( 1 0 0 )
( 0 0 -1 )
cart. s( 6) = ( -0.5000000 0.8660254 0.0000000 )
( 0.8660254 0.5000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 7 inversion
cryst. s( 7) = ( -1 0 0 )
( 0 -1 0 )
( 0 0 -1 )
cart. s( 7) = ( -1.0000000 -0.0000000 0.0000000 )
( 0.0000000 -1.0000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 8 inv. 180 deg rotation - cart. axis [1,0,0]
cryst. s( 8) = ( -1 0 0 )
( 1 1 0 )
( 0 0 1 )
cart. s( 8) = ( -1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 9 inv. 120 deg rotation - cryst. axis [0,0,1]
cryst. s( 9) = ( 0 -1 0 )
( 1 1 0 )
( 0 0 -1 )
cart. s( 9) = ( 0.5000000 0.8660254 0.0000000 )
( -0.8660254 0.5000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 10 inv. 120 deg rotation - cryst. axis [0,0,-1]
cryst. s(10) = ( 1 1 0 )
( -1 0 0 )
( 0 0 -1 )
cart. s(10) = ( 0.5000000 -0.8660254 0.0000000 )
( 0.8660254 0.5000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 11 inv. 180 deg rotation - cryst. axis [0,1,0]
cryst. s(11) = ( 1 1 0 )
( 0 -1 0 )
( 0 0 1 )
cart. s(11) = ( 0.5000000 0.8660254 0.0000000 )
( 0.8660254 -0.5000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 12 inv. 180 deg rotation - cryst. axis [1,1,0]
cryst. s(12) = ( 0 -1 0 )
( -1 0 0 )
( 0 0 1 )
cart. s(12) = ( 0.5000000 -0.8660254 0.0000000 )
( -0.8660254 -0.5000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
This transformation sends q -> -q+G
isym = 13 identity
cryst. s(13) = ( 1 0 0 )
( 0 1 0 )
( 0 0 1 )
cart. s(13) = ( 1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
G cutoff = 259.7362 ( 14688 G-vectors) FFT grid: ( 36, 36,250)
G cutoff = 129.8681 ( 5209 G-vectors) smooth grid: ( 24, 24,180)
Number of k (and k+q if q/=0) points = 4
cart. coord. (in units 2pi/alat)
k ( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.1250000
k ( 2) = ( 0.0000000 0.2886751 0.0000000), wk = 0.7500000
k ( 3) = ( 0.0000000 -0.5773503 0.0000000), wk = 0.3750000
k ( 4) = ( 0.2500000 0.4330127 0.0000000), wk = 0.7500000
cryst. coord.
k ( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.1250000
k ( 2) = ( 0.0000000 0.2500000 0.0000000), wk = 0.7500000
k ( 3) = ( 0.0000000 -0.5000000 0.0000000), wk = 0.3750000
k ( 4) = ( 0.2500000 0.2500000 0.0000000), wk = 0.7500000
Atomic wfc used for the DFT+U projector are orthogonalized
Total time spent up to now is:
HP : 0.61s CPU 0.66s WALL
=--------------------------------------------=
START SOLVING THE LINEAR SYSTEM
=--------------------------------------------=
atom # 1 q point # 1 iter # 1
chi: 1 -0.3292003313
Average number of iter. to solve lin. system: 33.2
Total CPU time : 1.9 s
atom # 1 q point # 1 iter # 2
chi: 1 0.3440341765 residue: 0.6732345078
Average number of iter. to solve lin. system: 15.2
Total CPU time : 2.7 s
atom # 1 q point # 1 iter # 3
chi: 1 -0.0977728825 residue: 0.4418070591
Average number of iter. to solve lin. system: 15.0
Total CPU time : 3.5 s
atom # 1 q point # 1 iter # 4
chi: 1 -0.0891408960 residue: 0.0086319866
Average number of iter. to solve lin. system: 15.0
Total CPU time : 4.3 s
atom # 1 q point # 1 iter # 5
chi: 1 -0.0827639570 residue: 0.0063769390
Average number of iter. to solve lin. system: 16.0
Total CPU time : 5.2 s
atom # 1 q point # 1 iter # 6
chi: 1 -0.0836986111 residue: 0.0009346541
Average number of iter. to solve lin. system: 16.0
Total CPU time : 6.1 s
atom # 1 q point # 1 iter # 7
chi: 1 -0.0836223768 residue: 0.0000762344
Average number of iter. to solve lin. system: 17.0
Total CPU time : 7.0 s
atom # 1 q point # 1 iter # 8
chi: 1 -0.0835845548 residue: 0.0000378219
Average number of iter. to solve lin. system: 16.8
Total CPU time : 7.9 s
atom # 1 q point # 1 iter # 9
chi: 1 -0.0836102023 residue: 0.0000256475
Average number of iter. to solve lin. system: 16.8
Total CPU time : 8.9 s
atom # 1 q point # 1 iter # 10
chi: 1 -0.0836045961 residue: 0.0000056062
Average number of iter. to solve lin. system: 15.2
Total CPU time : 9.8 s
atom # 1 q point # 1 iter # 11
chi: 1 -0.0836052005 residue: 0.0000006044
Average number of iter. to solve lin. system: 16.0
Total CPU time : 10.6 s
atom # 1 q point # 1 iter # 12
chi: 1 -0.0836037726 residue: 0.0000014280
Average number of iter. to solve lin. system: 16.8
Total CPU time : 11.5 s
atom # 1 q point # 1 iter # 13
chi: 1 -0.0836044359 residue: 0.0000006633
Average number of iter. to solve lin. system: 16.0
Total CPU time : 12.3 s
atom # 1 q point # 1 iter # 14
chi: 1 -0.0836044853 residue: 0.0000000494
Average number of iter. to solve lin. system: 16.0
Total CPU time : 13.2 s
atom # 1 q point # 1 iter # 15
chi: 1 -0.0836045084 residue: 0.0000000231
Average number of iter. to solve lin. system: 16.2
Total CPU time : 14.0 s
atom # 1 q point # 1 iter # 16
chi: 1 -0.0836044683 residue: 0.0000000401
Average number of iter. to solve lin. system: 17.0
Total CPU time : 14.9 s
atom # 1 q point # 1 iter # 17
chi: 1 -0.0836044859 residue: 0.0000000176
Average number of iter. to solve lin. system: 16.5
Total CPU time : 15.8 s
atom # 1 q point # 1 iter # 18
chi: 1 -0.0836044769 residue: 0.0000000089
Average number of iter. to solve lin. system: 16.0
Total CPU time : 16.9 s
=--------------------------------------------=
CONVERGENCE HAS BEEN REACHED
=--------------------------------------------=
=-------------------------------------------------------------=
Calculation for q # 2 = ( 0.0000000 -0.5773503 0.0000000 )
=-------------------------------------------------------------=
Performing NSCF calculation at all points k and k+q...
Subspace diagonalization in iterative solution of the eigenvalue problem:
a serial algorithm will be used
Parallelization info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Min 87 44 15 14663 5209 1115
Max 88 47 16 14688 5219 1150
Sum 703 361 121 117447 41709 8999
bravais-lattice index = 0
lattice parameter (alat) = 5.3370 a.u.
unit-cell volume = 1020.0352 (a.u.)^3
number of atoms/cell = 3
number of atomic types = 2
number of electrons = 30.00
number of Kohn-Sham states= 15
kinetic-energy cutoff = 45.0000 Ry
charge density cutoff = 360.0000 Ry
Exchange-correlation = PBE ( 1 4 3 4 0 0)
celldm(1)= 5.336971 celldm(2)= 0.000000 celldm(3)= 7.748186
celldm(4)= 0.000000 celldm(5)= 0.000000 celldm(6)= 0.000000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 1.000000 0.000000 0.000000 )
a(2) = ( -0.500000 0.866025 0.000000 )
a(3) = ( 0.000000 0.000000 7.748186 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.000000 0.577350 0.000000 )
b(2) = ( 0.000000 1.154701 0.000000 )
b(3) = ( 0.000000 0.000000 0.129062 )
PseudoPot. # 1 for Ni read from file:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/ni_pbe_v1.4.uspp.F.UPF
MD5 check sum: 1ee80287db30b12d2bc1f57a5b5d6409
Pseudo is Ultrasoft + core correction, Zval = 18.0
Generated by new atomic code, or converted to UPF format
Using radial grid of 865 points, 6 beta functions with:
l(1) = 0
l(2) = 0
l(3) = 1
l(4) = 1
l(5) = 2
l(6) = 2
Q(r) pseudized with 10 coefficients, rinner = 0.980 0.980 0.980
0.980 0.980
PseudoPot. # 2 for O read from file:
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/O.pbe-n-kjpaw_psl.0.1.UPF
MD5 check sum: 3f94a2996a3169367d6eb21d9b593f20
Pseudo is Projector augmented-wave + core cor, Zval = 6.0
Generated using "atomic" code by A. Dal Corso v.5.0.99 svn rev. 10869
Shape of augmentation charge: BESSEL
Using radial grid of 1095 points, 4 beta functions with:
l(1) = 0
l(2) = 0
l(3) = 1
l(4) = 1
Q(r) pseudized with 0 coefficients
atomic species valence mass pseudopotential
Ni 18.00 58.69340 Ni( 1.00)
O 6.00 15.99940 O ( 1.00)
Simplified LDA+U calculation (l_max = 2) with parameters (eV):
atomic species L U alpha J0 beta
Ni 2 0.0000 0.0000 0.0000 0.0000
12 Sym. Ops., with inversion, found
Cartesian axes
site n. atom positions (alat units)
1 Ni tau( 1) = ( 0.0000000 0.0000000 3.8740930 )
2 O tau( 2) = ( 0.5000000 0.2886751 3.5410443 )
3 O tau( 3) = ( 0.0000000 0.5773503 4.2071418 )
number of k points= 14
cart. coord. in units 2pi/alat
k( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.1250000
k( 2) = ( 0.0000000 -0.5773503 0.0000000), wk = 0.0000000
k( 3) = ( 0.0000000 0.2886751 0.0000000), wk = 0.2500000
k( 4) = ( 0.0000000 -0.2886751 0.0000000), wk = 0.0000000
k( 5) = ( 0.0000000 -0.5773503 0.0000000), wk = 0.1250000
k( 6) = ( 0.0000000 -1.1547005 0.0000000), wk = 0.0000000
k( 7) = ( 0.2500000 0.4330127 0.0000000), wk = 0.5000000
k( 8) = ( 0.2500000 -0.1443376 0.0000000), wk = 0.0000000
k( 9) = ( -0.2500000 0.1443376 0.0000000), wk = 0.5000000
k( 10) = ( -0.2500000 -0.4330127 0.0000000), wk = 0.0000000
k( 11) = ( 0.5000000 -0.2886751 0.0000000), wk = 0.2500000
k( 12) = ( 0.5000000 -0.8660254 0.0000000), wk = 0.0000000
k( 13) = ( -0.5000000 0.0000000 0.0000000), wk = 0.2500000
k( 14) = ( -0.5000000 -0.5773503 0.0000000), wk = 0.0000000
Dense grid: 117447 G-vectors FFT dimensions: ( 36, 36, 250)
Smooth grid: 41709 G-vectors FFT dimensions: ( 24, 24, 180)
Estimated max dynamical RAM per process > 50.63 MB
Estimated total dynamical RAM > 405.01 MB
Check: negative/imaginary core charge= -0.000002 0.000000
The potential is recalculated from file :
/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/HP/NiO2.save/charge-density
negative rho (up, down): 6.216E-04 0.000E+00
Number of +U iterations with fixed ns = 0
Starting occupations:
--- enter write_ns ---
LDA+U parameters:
U( 1) = 0.00000001
alpha( 1) = 0.00000000
atom 1 Tr[ns(na)] = 8.13398
eigenvalues:
0.562 0.562 0.976 0.983 0.983
eigenvectors:
0.000 0.000 1.000 0.000 0.000
0.490 0.106 0.000 0.019 0.385
0.106 0.490 0.000 0.385 0.019
0.072 0.332 0.000 0.569 0.028
0.332 0.072 0.000 0.028 0.569
occupations:
0.976 0.000 -0.000 0.000 0.000
0.000 0.732 0.000 -0.000 -0.207
-0.000 0.000 0.732 -0.207 0.000
0.000 -0.000 -0.207 0.813 -0.000
0.000 -0.207 0.000 -0.000 0.813
N of occupied +U levels = 8.133979
--- exit write_ns ---
Atomic wfc used for LDA+U Projector are orthogonalized
Starting wfcs are 21 atomic wfcs
Checking if some PAW data can be deallocated...
Band Structure Calculation
Davidson diagonalization with overlap
ethr = 1.00E-11, avg # of iterations = 14.4
total cpu time spent up to now is -1.0 secs
End of band structure calculation
k = 0.0000 0.0000 0.0000 ( 5225 PWs) bands (ev):
-109.0498 -69.4834 -69.4834 -69.2070 -24.2254 -21.9390 -10.1931 -10.1931
-10.0863 -6.9096 -6.9096 -6.1353 -5.8577 -5.8577 -5.0670
k = 0.0000-0.5774 0.0000 ( 5232 PWs) bands (ev):
-109.0458 -69.5282 -69.4943 -69.2007 -22.4238 -22.3206 -11.2786 -9.4823
-9.3208 -8.4667 -7.4943 -6.5602 -6.5404 -6.4523 -5.8734
k = 0.0000 0.2887 0.0000 ( 5222 PWs) bands (ev):
-109.0478 -69.5058 -69.4888 -69.2038 -23.5146 -21.9927 -10.4292 -9.7707
-9.4980 -8.6794 -7.7015 -6.2741 -5.6412 -5.5358 -5.2048
k = 0.0000-0.2887 0.0000 ( 5222 PWs) bands (ev):
-109.0478 -69.5058 -69.4888 -69.2038 -23.5146 -21.9927 -10.4292 -9.7707
-9.4980 -8.6794 -7.7015 -6.2741 -5.6412 -5.5358 -5.2048
k = 0.0000-0.5774 0.0000 ( 5232 PWs) bands (ev):
-109.0458 -69.5282 -69.4943 -69.2007 -22.4238 -22.3206 -11.2786 -9.4823
-9.3208 -8.4667 -7.4943 -6.5602 -6.5404 -6.4523 -5.8734
k = 0.0000-1.1547 0.0000 ( 5225 PWs) bands (ev):
-109.0498 -69.4834 -69.4834 -69.2070 -24.2254 -21.9390 -10.1931 -10.1931
-10.0863 -6.9096 -6.9096 -6.1353 -5.8577 -5.8577 -5.0670
k = 0.2500 0.4330 0.0000 ( 5180 PWs) bands (ev):
-109.0458 -69.5197 -69.5028 -69.2007 -22.6196 -22.1239 -10.3780 -10.2409
-9.2738 -8.5204 -8.2528 -6.8813 -6.3870 -5.9376 -5.2720
k = 0.2500-0.1443 0.0000 ( 5222 PWs) bands (ev):
-109.0478 -69.5058 -69.4888 -69.2038 -23.5146 -21.9927 -10.4292 -9.7707
-9.4980 -8.6794 -7.7015 -6.2741 -5.6412 -5.5358 -5.2048
k =-0.2500 0.1443 0.0000 ( 5222 PWs) bands (ev):
-109.0478 -69.5058 -69.4888 -69.2038 -23.5146 -21.9927 -10.4292 -9.7707
-9.4980 -8.6794 -7.7015 -6.2741 -5.6412 -5.5358 -5.2048
k =-0.2500-0.4330 0.0000 ( 5180 PWs) bands (ev):
-109.0458 -69.5197 -69.5028 -69.2007 -22.6196 -22.1239 -10.3780 -10.2409
-9.2738 -8.5204 -8.2528 -6.8813 -6.3870 -5.9376 -5.2720
k = 0.5000-0.2887 0.0000 ( 5232 PWs) bands (ev):
-109.0458 -69.5282 -69.4943 -69.2007 -22.4238 -22.3206 -11.2786 -9.4823
-9.3208 -8.4667 -7.4943 -6.5602 -6.5404 -6.4523 -5.8734
k = 0.5000-0.8660 0.0000 ( 5232 PWs) bands (ev):
-109.0458 -69.5282 -69.4943 -69.2007 -22.4238 -22.3206 -11.2786 -9.4823
-9.3208 -8.4667 -7.4943 -6.5602 -6.5404 -6.4523 -5.8734
k =-0.5000 0.0000 0.0000 ( 5180 PWs) bands (ev):
-109.0458 -69.5197 -69.5028 -69.2007 -22.6196 -22.1239 -10.3780 -10.2409
-9.2738 -8.5204 -8.2528 -6.8813 -6.3870 -5.9376 -5.2720
k =-0.5000-0.5774 0.0000 ( 5180 PWs) bands (ev):
-109.0458 -69.5197 -69.5028 -69.2007 -22.6196 -22.1239 -10.3780 -10.2409
-9.2738 -8.5204 -8.2528 -6.8813 -6.3870 -5.9376 -5.2720
highest occupied level (ev): -5.0670
Writing output data file NiO2.save/
Done!
WRITING LINEAR-RESPONSE SUMMARY:
Number of symmetries in the small group of q, nsymq = 4
+ the symmetry q -> -q+G
Symmetry matrices (and vectors of fractional translations if f/=0):
isym = 1 identity
cryst. s( 1) = ( 1 0 0 )
( 0 1 0 )
( 0 0 1 )
cart. s( 1) = ( 1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
isym = 2 180 deg rotation - cart. axis [1,0,0]
cryst. s( 2) = ( 1 0 0 )
( -1 -1 0 )
( 0 0 -1 )
cart. s( 2) = ( 1.0000000 -0.0000000 0.0000000 )
( 0.0000000 -1.0000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 3 inversion
cryst. s( 3) = ( -1 0 0 )
( 0 -1 0 )
( 0 0 -1 )
cart. s( 3) = ( -1.0000000 -0.0000000 0.0000000 )
( 0.0000000 -1.0000000 0.0000000 )
( 0.0000000 0.0000000 -1.0000000 )
isym = 4 inv. 180 deg rotation - cart. axis [1,0,0]
cryst. s( 4) = ( -1 0 0 )
( 1 1 0 )
( 0 0 1 )
cart. s( 4) = ( -1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
This transformation sends q -> -q+G
isym = 5 identity
cryst. s( 5) = ( 1 0 0 )
( 0 1 0 )
( 0 0 1 )
cart. s( 5) = ( 1.0000000 0.0000000 0.0000000 )
( 0.0000000 1.0000000 0.0000000 )
( 0.0000000 0.0000000 1.0000000 )
G cutoff = 259.7362 ( 14688 G-vectors) FFT grid: ( 36, 36,250)
G cutoff = 129.8681 ( 5209 G-vectors) smooth grid: ( 24, 24,180)
Number of k (and k+q if q/=0) points = 14
cart. coord. (in units 2pi/alat)
k ( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.1250000
k ( 2) = ( 0.0000000 -0.5773503 0.0000000), wk = 0.0000000
k ( 3) = ( 0.0000000 0.2886751 0.0000000), wk = 0.2500000
k ( 4) = ( 0.0000000 -0.2886751 0.0000000), wk = 0.0000000
k ( 5) = ( 0.0000000 -0.5773503 0.0000000), wk = 0.1250000
k ( 6) = ( 0.0000000 -1.1547005 0.0000000), wk = 0.0000000
k ( 7) = ( 0.2500000 0.4330127 0.0000000), wk = 0.5000000
k ( 8) = ( 0.2500000 -0.1443376 0.0000000), wk = 0.0000000
k ( 9) = ( -0.2500000 0.1443376 0.0000000), wk = 0.5000000
k ( 10) = ( -0.2500000 -0.4330127 0.0000000), wk = 0.0000000
k ( 11) = ( 0.5000000 -0.2886751 0.0000000), wk = 0.2500000
k ( 12) = ( 0.5000000 -0.8660254 0.0000000), wk = 0.0000000
k ( 13) = ( -0.5000000 0.0000000 0.0000000), wk = 0.2500000
k ( 14) = ( -0.5000000 -0.5773503 0.0000000), wk = 0.0000000
cryst. coord.
k ( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.1250000
k ( 2) = ( 0.0000000 -0.5000000 0.0000000), wk = 0.0000000
k ( 3) = ( 0.0000000 0.2500000 0.0000000), wk = 0.2500000
k ( 4) = ( 0.0000000 -0.2500000 0.0000000), wk = 0.0000000
k ( 5) = ( 0.0000000 -0.5000000 0.0000000), wk = 0.1250000
k ( 6) = ( 0.0000000 -1.0000000 0.0000000), wk = 0.0000000
k ( 7) = ( 0.2500000 0.2500000 0.0000000), wk = 0.5000000
k ( 8) = ( 0.2500000 -0.2500000 0.0000000), wk = 0.0000000
k ( 9) = ( -0.2500000 0.2500000 0.0000000), wk = 0.5000000
k ( 10) = ( -0.2500000 -0.2500000 0.0000000), wk = 0.0000000
k ( 11) = ( 0.5000000 -0.5000000 0.0000000), wk = 0.2500000
k ( 12) = ( 0.5000000 -1.0000000 0.0000000), wk = 0.0000000
k ( 13) = ( -0.5000000 0.2500000 0.0000000), wk = 0.2500000
k ( 14) = ( -0.5000000 -0.2500000 0.0000000), wk = 0.0000000
Atomic wfc used for the DFT+U projector are orthogonalized
Total time spent up to now is:
HP : 18.48s CPU 18.97s WALL
=--------------------------------------------=
START SOLVING THE LINEAR SYSTEM
=--------------------------------------------=
atom # 1 q point # 2 iter # 1
chi: 1 -0.4407465512
Average number of iter. to solve lin. system: 35.3
Total CPU time : 21.0 s
atom # 1 q point # 2 iter # 2
chi: 1 0.7711511443 residue: 1.2118976955
Average number of iter. to solve lin. system: 18.1
Total CPU time : 22.1 s
atom # 1 q point # 2 iter # 3
chi: 1 -0.1048109063 residue: 0.8759620506
Average number of iter. to solve lin. system: 17.0
Total CPU time : 23.2 s
atom # 1 q point # 2 iter # 4
chi: 1 -0.0976023389 residue: 0.0072085674
Average number of iter. to solve lin. system: 17.1
Total CPU time : 24.3 s
atom # 1 q point # 2 iter # 5
chi: 1 -0.0861934524 residue: 0.0114088866
Average number of iter. to solve lin. system: 17.9
Total CPU time : 25.5 s
atom # 1 q point # 2 iter # 6
chi: 1 -0.0859962282 residue: 0.0001972242
Average number of iter. to solve lin. system: 18.4
Total CPU time : 26.6 s
atom # 1 q point # 2 iter # 7
chi: 1 -0.0879700167 residue: 0.0019737885
Average number of iter. to solve lin. system: 17.3
Total CPU time : 27.7 s
atom # 1 q point # 2 iter # 8
chi: 1 -0.0881349218 residue: 0.0001649051
Average number of iter. to solve lin. system: 19.6
Total CPU time : 29.0 s
atom # 1 q point # 2 iter # 9
chi: 1 -0.0881022122 residue: 0.0000327095
Average number of iter. to solve lin. system: 17.9
Total CPU time : 30.2 s
atom # 1 q point # 2 iter # 10
chi: 1 -0.0881164509 residue: 0.0000142387
Average number of iter. to solve lin. system: 19.6
Total CPU time : 31.4 s
atom # 1 q point # 2 iter # 11
chi: 1 -0.0881083888 residue: 0.0000080621
Average number of iter. to solve lin. system: 17.7
Total CPU time : 32.5 s
atom # 1 q point # 2 iter # 12
chi: 1 -0.0881112148 residue: 0.0000028259
Average number of iter. to solve lin. system: 18.6
Total CPU time : 33.7 s
atom # 1 q point # 2 iter # 13
chi: 1 -0.0881106219 residue: 0.0000005929
Average number of iter. to solve lin. system: 18.9
Total CPU time : 35.2 s
atom # 1 q point # 2 iter # 14
chi: 1 -0.0881106858 residue: 0.0000000639
Average number of iter. to solve lin. system: 18.7
Total CPU time : 36.3 s
atom # 1 q point # 2 iter # 15
chi: 1 -0.0881105960 residue: 0.0000000898
Average number of iter. to solve lin. system: 19.0
Total CPU time : 37.5 s
atom # 1 q point # 2 iter # 16
chi: 1 -0.0881106199 residue: 0.0000000240
Average number of iter. to solve lin. system: 18.6
Total CPU time : 38.6 s
atom # 1 q point # 2 iter # 17
chi: 1 -0.0881106312 residue: 0.0000000113
Average number of iter. to solve lin. system: 19.1
Total CPU time : 39.8 s
atom # 1 q point # 2 iter # 18
chi: 1 -0.0881106200 residue: 0.0000000112
Average number of iter. to solve lin. system: 18.9
Total CPU time : 40.9 s
atom # 1 q point # 2 iter # 19
chi: 1 -0.0881106264 residue: 0.0000000064
Average number of iter. to solve lin. system: 17.9
Total CPU time : 42.1 s
=--------------------------------------------=
CONVERGENCE HAS BEEN REACHED
=--------------------------------------------=
Computing the sum over q of the response occupation matrices...
q # 1 = 0.000000000 0.000000000 0.000000000
Number of q in the star = 1
List of q in the star:
1 0.000000000 0.000000000 0.000000000
q # 2 = 0.000000000 -0.577350269 0.000000000
Number of q in the star = 3
List of q in the star:
1 0.000000000 -0.577350269 0.000000000
2 0.500000000 -0.288675135 0.000000000
3 -0.500000000 -0.288675135 0.000000000
Post-processing calculation of Hubbard parameters ...
PRINTING TIMING FROM PWSCF ROUTINES:
init_run : 0.62s CPU 0.64s WALL ( 1 calls)
electrons : 1.30s CPU 1.32s WALL ( 1 calls)
Called by init_run:
wfcinit : 0.03s CPU 0.03s WALL ( 1 calls)
wfcinit:atom : 0.00s CPU 0.00s WALL ( 14 calls)
wfcinit:wfcr : 0.12s CPU 0.13s WALL ( 14 calls)
potinit : 0.05s CPU 0.05s WALL ( 1 calls)
hinit0 : 0.30s CPU 0.30s WALL ( 1 calls)
Called by electrons:
c_bands : 1.30s CPU 1.32s WALL ( 1 calls)
v_of_rho : 0.05s CPU 0.05s WALL ( 2 calls)
v_h : 0.00s CPU 0.00s WALL ( 2 calls)
v_xc : 0.05s CPU 0.05s WALL ( 2 calls)
newd : 0.08s CPU 0.10s WALL ( 2 calls)
PAW_pot : 0.03s CPU 0.04s WALL ( 2 calls)
Called by c_bands:
init_us_2 : 0.07s CPU 0.07s WALL ( 262 calls)
cegterg : 1.16s CPU 1.17s WALL ( 14 calls)
Called by sum_band:
Called by *egterg:
h_psi : 20.72s CPU 21.29s WALL ( 6041 calls)
s_psi : 0.90s CPU 0.82s WALL ( 12089 calls)
g_psi : 0.01s CPU 0.01s WALL ( 202 calls)
cdiaghg : 0.12s CPU 0.12s WALL ( 216 calls)
cegterg:over : 0.06s CPU 0.06s WALL ( 202 calls)
cegterg:upda : 0.04s CPU 0.04s WALL ( 202 calls)
cegterg:last : 0.03s CPU 0.03s WALL ( 50 calls)
Called by h_psi:
h_psi:pot : 20.36s CPU 20.90s WALL ( 6041 calls)
h_psi:calbec : 0.72s CPU 0.62s WALL ( 6041 calls)
vloc_psi : 19.28s CPU 19.83s WALL ( 6041 calls)
add_vuspsi : 0.35s CPU 0.43s WALL ( 6041 calls)
vhpsi : 0.30s CPU 0.32s WALL ( 6041 calls)
General routines
calbec : 1.50s CPU 1.46s WALL ( 18346 calls)
fft : 0.70s CPU 0.72s WALL ( 589 calls)
ffts : 0.02s CPU 0.02s WALL ( 77 calls)
fftw : 19.82s CPU 19.77s WALL ( 133764 calls)
interpolate : 0.10s CPU 0.11s WALL ( 77 calls)
davcio : 0.48s CPU 0.59s WALL ( 7994 calls)
Parallel routines
fft_scatt_xy : 2.01s CPU 2.42s WALL ( 134430 calls)
fft_scatt_yz : 4.81s CPU 4.69s WALL ( 134430 calls)
Hubbard U routines
vhpsi : 0.30s CPU 0.32s WALL ( 6041 calls)
PAW routines
PAW_pot : 0.03s CPU 0.04s WALL ( 2 calls)
init_vloc : 0.09s CPU 0.09s WALL ( 2 calls)
init_us_1 : 0.18s CPU 0.18s WALL ( 2 calls)
newd : 0.08s CPU 0.10s WALL ( 2 calls)
add_vuspsi : 0.35s CPU 0.43s WALL ( 6041 calls)
PRINTING TIMING FROM HP ROUTINES:
hp_setup_q : 0.04s CPU 0.05s WALL ( 2 calls)
hp_init_q : 0.10s CPU 0.10s WALL ( 2 calls)
hp_solve_lin : 38.34s CPU 39.35s WALL ( 2 calls)
hp_dvpsi_per : 0.02s CPU 0.02s WALL ( 205 calls)
hp_dnsq : 0.04s CPU 0.05s WALL ( 37 calls)
hp_symdnsq : 0.00s CPU 0.00s WALL ( 37 calls)
hp_dnstot_su : 0.00s CPU 0.00s WALL ( 1 calls)
hp_rotate_dn : 0.00s CPU 0.00s WALL ( 4 calls)
hp_calc_chi : 0.00s CPU 0.00s WALL ( 1 calls)
hp_vpsifft : 0.92s CPU 0.98s WALL ( 194 calls)
hp_sphi : 0.03s CPU 0.03s WALL ( 2 calls)
hp_run_nscf : 1.93s CPU 1.97s WALL ( 1 calls)
hp_psymdvscf : 4.05s CPU 4.05s WALL ( 37 calls)
PRINTING TIMING FROM LR MODULE:
ortho : 0.07s CPU 0.08s WALL ( 205 calls)
cgsolve : 23.07s CPU 23.69s WALL ( 205 calls)
ch_psi : 22.33s CPU 23.01s WALL ( 5811 calls)
incdrhoscf : 1.02s CPU 1.08s WALL ( 205 calls)
dv_of_drho : 0.70s CPU 0.71s WALL ( 37 calls)
mix_pot : 0.15s CPU 0.26s WALL ( 37 calls)
setup_dgc : 0.03s CPU 0.03s WALL ( 2 calls)
setup_dmuxc : 0.01s CPU 0.01s WALL ( 2 calls)
setup_nbnd_o : 0.00s CPU 0.00s WALL ( 2 calls)
cft_wave : 0.86s CPU 0.89s WALL ( 5820 calls)
USPP ROUTINES:
newdq : 2.11s CPU 2.11s WALL ( 37 calls)
adddvscf : 0.04s CPU 0.04s WALL ( 194 calls)
addusdbec : 0.03s CPU 0.03s WALL ( 205 calls)
HP : 40.96s CPU 42.07s WALL
This run was terminated on: 13:41:57 29Aug2018
=------------------------------------------------------------------------------=
JOB DONE.
=------------------------------------------------------------------------------=

View File

@ -0,0 +1,36 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='NiO2'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 0,
nat = 3,
ntyp = 2,
ecutwfc = 45.0
ecutrho = 360.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.3
/
ATOMIC_SPECIES
Ni 58.6934 ni_pbe_v1.4.uspp.F.UPF
O 15.9994 O.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS {angstrom}
Ni 0.0000000000 0.0000000000 10.9412265283
O 1.4121016725 0.8152772808 10.0006291225
O 0.0000000000 1.6305545616 11.8818239340
CELL_PARAMETERS {angstrom}
2.8242033451 0.0000000000 0.0000000000
-1.4121016725 2.4458318423 0.0000000000
0.0000000000 0.0000000000 21.8824530565
K_POINTS {automatic}
4 4 1 0 0 0

File diff suppressed because it is too large Load Diff

132
HP/examples/example08/run_example Executable file
View File

@ -0,0 +1,132 @@
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=`pwd`
# check whether ECHO has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi
$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and hp.x to calculate"
$ECHO "the Hubbard U parameters for Ni in NiO2 (2D system)."
# set the needed environment variables
. ../environment_variables
# required executables and pseudopotentials
BIN_LIST="pw.x hp.x"
PSEUDO_LIST="ni_pbe_v1.4.uspp.F.UPF O.pbe-n-kjpaw_psl.0.1.UPF"
$ECHO
$ECHO " executables directory: $BIN_DIR"
$ECHO " pseudo directory: $PSEUDO_DIR"
$ECHO " temporary directory: $TMP_DIR"
$ECHO
$ECHO " checking that needed directories and files exist...\c"
$ECHO
$ECHO " Pseudopotentials were selected from the SSSP library:"
$ECHO " https://www.materialscloud.org/discover/sssp/table/precision\c"
$ECHO
# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
if test ! -d $DIR ; then
$ECHO
$ECHO "ERROR: $DIR not existent or not a directory"
$ECHO "Aborting"
exit 1
fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
if test ! -d $DIR ; then
mkdir $DIR
fi
done
cd $EXAMPLE_DIR/results
# check for executables
for FILE in $BIN_LIST ; do
if test ! -x $BIN_DIR/$FILE ; then
$ECHO
$ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
$ECHO "Aborting"
exit 1
fi
done
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
HP_COMMAND="$PARA_PREFIX $BIN_DIR/hp.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO " running hp.x as: $HP_COMMAND"
$ECHO
PREFIX='NiO2'
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"
# self-consistent calculation
cat > $PREFIX.scf.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 0,
nat = 3,
ntyp = 2,
ecutwfc = 45.0
ecutrho = 360.0
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.3
/
ATOMIC_SPECIES
Ni 58.6934 ni_pbe_v1.4.uspp.F.UPF
O 15.9994 O.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS {angstrom}
Ni 0.0000000000 0.0000000000 10.9412265283
O 1.4121016725 0.8152772808 10.0006291225
O 0.0000000000 1.6305545616 11.8818239340
CELL_PARAMETERS {angstrom}
2.8242033451 0.0000000000 0.0000000000
-1.4121016725 2.4458318423 0.0000000000
0.0000000000 0.0000000000 21.8824530565
K_POINTS {automatic}
4 4 1 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf.in |tee $PREFIX.scf.out
$ECHO " done"
# Perform the linear-response calculation
cat > $PREFIX.hp.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 1,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.in |tee $PREFIX.hp.out
$ECHO " done"

View File

@ -0,0 +1,60 @@
=-------------------------------------------------------------------=
Hubbard U parameters:
site n. type label spin new_type new_label Hubbard U (eV)
1 1 Co -1 1 Co 7.3395
=-------------------------------------------------------------------=
chi0 matrix :
-1.437581 0.344260 0.344260 0.344260
0.344260 -1.437581 0.344260 0.344260
0.344260 0.344260 -1.437581 0.344260
0.344260 0.344260 0.344260 -1.437581
chi matrix :
-0.120704 0.006919 0.006919 0.006919
0.006919 -0.120704 0.006919 0.006919
0.006919 0.006919 -0.120704 0.006919
0.006919 0.006919 0.006919 -0.120704
chi0^{-1} matrix :
-1.038502 -0.477285 -0.477285 -0.477285
-0.477285 -1.038502 -0.477285 -0.477285
-0.477285 -0.477285 -1.038502 -0.477285
-0.477285 -0.477285 -0.477285 -1.038502
chi^{-1} matrix :
-8.378019 -0.542433 -0.542433 -0.542433
-0.542433 -8.378019 -0.542433 -0.542433
-0.542433 -0.542433 -8.378019 -0.542433
-0.542433 -0.542433 -0.542433 -8.378019
Hubbard matrix :
7.339517 0.065148 0.065148 0.065148
0.065148 7.339517 0.065148 0.065148
0.065148 0.065148 7.339517 0.065148
0.065148 0.065148 0.065148 7.339517

View File

@ -0,0 +1,7 @@
&inputhp
prefix = 'CoO2',
outdir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/',
nq1 = 2, nq2 = 2, nq3 = 1,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,41 @@
&control
calculation='scf'
restart_mode='from_scratch',
prefix='CoO2'
pseudo_dir = '/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/pseudo/'
outdir='/scratch/timrov/WORK_Hubbard/Z_git/work2_QE_fork/q-e/HP/examples/tmp/'
verbosity='high'
/
&system
ibrav = 0,
nat = 3,
ntyp = 2,
ecutwfc = 60.0
ecutrho = 480.0
nspin = 2
starting_magnetization(1) = -0.5,
occupations = "smearing",
smearing = "mv",
degauss = 0.01,
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.3
/
ATOMIC_SPECIES
Co 58.933195 co_pbe_v1.2.uspp.F.UPF
O 15.9994 O.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS {angstrom}
Co 0.0000000000 0.0000000000 0.0000000000
O 1.4062895053 0.8119216244 -0.9358761640
O 1.4062895053 -0.8119216244 0.9358761640
CELL_PARAMETERS {angstrom}
1.4062895053 -2.4357648733 0.0000000000
1.4062895053 2.4357648733 0.0000000000
0.0000000000 0.0000000000 15.7312126250
K_POINTS {automatic}
6 6 1 0 0 0

File diff suppressed because it is too large Load Diff

138
HP/examples/example09/run_example Executable file
View File

@ -0,0 +1,138 @@
#!/bin/sh
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
EXAMPLE_DIR=`pwd`
# check whether ECHO has the -e option
if test "`echo -e`" = "-e" ; then ECHO=echo ; else ECHO="echo -e" ; fi
$ECHO
$ECHO "$EXAMPLE_DIR : starting"
$ECHO
$ECHO "This example shows how to use pw.x and hp.x to calculate"
$ECHO "the Hubbard U parameters for Co in CoO2 (2D system)."
# set the needed environment variables
. ../environment_variables
# required executables and pseudopotentials
BIN_LIST="pw.x hp.x"
PSEUDO_LIST="co_pbe_v1.2.uspp.F.UPF O.pbe-n-kjpaw_psl.0.1.UPF"
$ECHO
$ECHO " executables directory: $BIN_DIR"
$ECHO " pseudo directory: $PSEUDO_DIR"
$ECHO " temporary directory: $TMP_DIR"
$ECHO
$ECHO " checking that needed directories and files exist...\c"
$ECHO
$ECHO " Pseudopotentials were selected from the SSSP library:"
$ECHO " https://www.materialscloud.org/discover/sssp/table/precision\c"
$ECHO
# check for directories
for DIR in "$BIN_DIR" "$PSEUDO_DIR" ; do
if test ! -d $DIR ; then
$ECHO
$ECHO "ERROR: $DIR not existent or not a directory"
$ECHO "Aborting"
exit 1
fi
done
for DIR in "$TMP_DIR" "$EXAMPLE_DIR/results" ; do
if test ! -d $DIR ; then
mkdir $DIR
fi
done
cd $EXAMPLE_DIR/results
# check for executables
for FILE in $BIN_LIST ; do
if test ! -x $BIN_DIR/$FILE ; then
$ECHO
$ECHO "ERROR: $BIN_DIR/$FILE not existent or not executable"
$ECHO "Aborting"
exit 1
fi
done
$ECHO " done"
# how to run executables
PW_COMMAND="$PARA_PREFIX $BIN_DIR/pw.x $PARA_POSTFIX"
HP_COMMAND="$PARA_PREFIX $BIN_DIR/hp.x $PARA_POSTFIX"
$ECHO
$ECHO " running pw.x as: $PW_COMMAND"
$ECHO " running hp.x as: $HP_COMMAND"
$ECHO
PREFIX='CoO2'
# clean TMP_DIR
$ECHO " cleaning $TMP_DIR...\c"
rm -rf $TMP_DIR/*
$ECHO " done"
# self-consistent calculation
cat > $PREFIX.scf.in << EOF
&control
calculation='scf'
restart_mode='from_scratch',
prefix='$PREFIX'
pseudo_dir = '$PSEUDO_DIR/'
outdir='$TMP_DIR/'
verbosity='high'
/
&system
ibrav = 0,
nat = 3,
ntyp = 2,
ecutwfc = 60.0
ecutrho = 480.0
nspin = 2
starting_magnetization(1) = -0.5,
occupations = "smearing",
smearing = "mv",
degauss = 0.01,
lda_plus_u = .true.,
lda_plus_u_kind = 0,
U_projection_type = 'ortho-atomic',
Hubbard_U(1) = 1.d-8
/
&electrons
conv_thr = 1.d-15
mixing_beta = 0.3
/
ATOMIC_SPECIES
Co 58.933195 co_pbe_v1.2.uspp.F.UPF
O 15.9994 O.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS {angstrom}
Co 0.0000000000 0.0000000000 0.0000000000
O 1.4062895053 0.8119216244 -0.9358761640
O 1.4062895053 -0.8119216244 0.9358761640
CELL_PARAMETERS {angstrom}
1.4062895053 -2.4357648733 0.0000000000
1.4062895053 2.4357648733 0.0000000000
0.0000000000 0.0000000000 15.7312126250
K_POINTS {automatic}
6 6 1 0 0 0
EOF
$ECHO " Running the SCF calculation for $PREFIX..."
$PW_COMMAND < $PREFIX.scf.in |tee $PREFIX.scf.out
$ECHO " done"
# Perform the linear-response calculation
cat > $PREFIX.hp.in << EOF
&inputhp
prefix = '$PREFIX',
outdir = '$TMP_DIR/',
nq1 = 2, nq2 = 2, nq3 = 1,
conv_thr_chi = 1.0d-8,
iverbosity = 2
/
EOF
$ECHO " Running the linear-response calculation of Hubbard U..."
$HP_COMMAND < $PREFIX.hp.in |tee $PREFIX.hp.out
$ECHO " done"

85
HP/src/Makefile Normal file
View File

@ -0,0 +1,85 @@
# Makefile for HP
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../PW/src \
$(MOD_FLAG)../../dft-d3 \
$(MOD_FLAG)../../LR_Modules
HPOBJS = \
hp_allocate_q.o \
hp_bcast_input.o \
hpcom.o \
hp_clean_q.o \
hp_close_q.o \
hp_calc_chi.o \
hp_check_pert.o \
hp_check_type.o \
hp_dnstot_sum_q.o \
hp_dnsq.o \
hp_dealloc_q.o \
hp_dealloc_1.o \
hp_dealloc_2.o \
hp_dvpsi_pert.o \
hp_efermi_shift.o \
hp_find_inequiv_sites.o \
hp_generate_grids.o \
hp_init.o \
hp_init_q.o \
hp_load_q.o \
hp_ns_trace.o \
hp_openfil_q.o \
hp_psymdvscf.o \
hp_postproc.o \
hp_prepare_q.o \
hp_print_clock.o \
hp_q_points.o \
hp_R_points.o \
hp_rotate_dnsq.o \
hp_readin.o \
hp_read_chi.o \
hp_read_dnsq.o \
hp_run_nscf.o \
hp_solve_linear_system.o \
hp_symdnsq.o \
hp_symdvscf.o \
hp_setup_q.o \
hp_summary.o \
hp_summary_q.o \
hp_stop_smoothly.o \
hp_sphi.o \
hp_write_chi.o \
hp_write_chi_full.o \
hp_write_dnsq.o
LRMODS = ../../LR_Modules/liblrmod.a
PWOBJS = ../../PW/src/libpw.a
QEMODS = ../../Modules/libqemod.a ../../KS_Solvers/libks_solvers.a \
../../FFTXlib/libqefft.a ../../LAXlib/libqela.a ../../UtilXlib/libutil.a ../../dft-d3/libdftd3qe.a
TLDEPS= hplibs
all : tldeps libs-hp hp.x
libs-hp : libhp.a
hp.x : hp_main.o libhp.a $(PWOBJS) $(LRMODS) $(LIBOBJS)
$(LD) $(LDFLAGS) -o $@ hp_main.o libhp.a \
$(LRMODS) $(PWOBJS) $(QEMODS) $(LIBOBJS) $(QELIBS)
- ( cd ../../bin ; ln -fs ../HP/src/hp.x . )
tldeps :
if test -n "$(TLDEPS)" ; then \
( cd ../.. ; $(MAKE) $(TLDEPS) || exit 1 ) ; fi
libhp.a : $(HPOBJS)
$(AR) $(ARFLAGS) $@ $?
$(RANLIB) $@
clean :
- /bin/rm -f *.x *.o *.a *~ *_tmp.f90 *.d *.mod *.i *.L
- /bin/rm -rf ../../bin/hp.x
include make.depend
# DO NOT DELETE

58
HP/src/hp_R_points.f90 Normal file
View File

@ -0,0 +1,58 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!-----------------------------------------------------------------------
SUBROUTINE hp_R_points
!---------------------------------------------------------------------
!
! This routine generates the R-points grid. Every R point
! corresponds to the position of primitive cell in a virtual
! supercell. R=0 is the origin and it corresponds to the
! real primitive cell from which all virtual cells are generated.
! R appear in the phase factor in Eq. (42) in Ref. [1]
! [1] Phys. Rev. B 98, 085127 (2018)
!
USE cell_base, ONLY : at
USE ldaU_hp, ONLY : nqsh, Rvect, nq1, nq2, nq3
!
IMPLICIT NONE
!
INTEGER :: i, j, k, ipol, icell
!
! Number of unit cells ( = number of q points)
!
ALLOCATE (Rvect(3,nqsh))
!
IF ( nqsh == 1 ) THEN
!
Rvect(:,1) = 0.0d0
!
ELSE
!
! "at" are in units of alat
!
icell = 0
!
DO i = 1, nq1
DO j = 1, nq2
DO k = 1, nq3
!
icell = icell + 1
!
Rvect(:,icell) = DBLE(i-1) * at(:,1) + &
DBLE(j-1) * at(:,2) + &
DBLE(k-1) * at(:,3)
!
ENDDO
ENDDO
ENDDO
!
ENDIF
!
RETURN
!
END SUBROUTINE hp_R_points

68
HP/src/hp_allocate_q.f90 Normal file
View File

@ -0,0 +1,68 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!-----------------------------------------------------------------------
subroutine hp_allocate_q
!-----------------------------------------------------------------------
!
! Dynamical allocation of arrays: quantities needed for the linear
! response problem
!
USE ions_base, ONLY : nat
USE wvfct, ONLY : nbnd, npwx
USE lsda_mod, ONLY : nspin
USE noncollin_module, ONLY : npol, nspin_mag
USE fft_base, ONLY : dfftp
USE wavefunctions, ONLY : evc
USE becmod, ONLY : allocate_bec_type
USE uspp, ONLY : nkb, okvan
USE qpoint, ONLY : nksq, eigqts
USE lrus, ONLY : becp1
USE eqv, ONLY : dpsi, evq, dmuxc, dvpsi, &
swfcatomk, swfcatomkpq
USE control_lr, ONLY : lgamma
USE basis, ONLY : natomwfc
USE ldaU, ONLY : Hubbard_lmax
USE ldaU_hp, ONLY : this_pert_is_on_file
!
IMPLICIT NONE
INTEGER :: ik
!
IF (lgamma) THEN
! q=0 : evq is a pointer to evc
evq => evc
ELSE
! q/=0 : evq is allocated and calculated at point k+q
ALLOCATE (evq(npwx*npol,nbnd))
ENDIF
!
ALLOCATE (dvpsi(npwx*npol,nbnd))
ALLOCATE (dpsi(npwx*npol,nbnd))
ALLOCATE (dmuxc(dfftp%nnr,nspin_mag,nspin_mag))
!
ALLOCATE (this_pert_is_on_file(nksq))
this_pert_is_on_file(:) = .FALSE.
!
IF (okvan) THEN
ALLOCATE (eigqts(nat))
ALLOCATE (becp1(nksq))
DO ik = 1,nksq
CALL allocate_bec_type ( nkb, nbnd, becp1(ik) )
ENDDO
ENDIF
!
ALLOCATE (swfcatomk(npwx, natomwfc))
IF (lgamma) THEN
swfcatomkpq => swfcatomk
ELSE
ALLOCATE (swfcatomkpq(npwx, natomwfc))
ENDIF
!
RETURN
!
end subroutine hp_allocate_q

82
HP/src/hp_bcast_input.f90 Normal file
View File

@ -0,0 +1,82 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!-----------------------------------------------------------------------
SUBROUTINE hp_bcast_input ( )
!-----------------------------------------------------------------------
!
! In this routine the first processor sends the input parameters to all
! the other processors
!
#if defined (__MPI)
USE mp, ONLY : mp_bcast
USE mp_world, ONLY : world_comm
USE io_files, ONLY : tmp_dir, prefix
USE control_flags, ONLY : iverbosity
USE input_parameters, ONLY : max_seconds
USE io_global, ONLY : meta_ionode_id
USE control_lr, ONLY : lrpa, ethr_nscf
USE ldaU_hp, ONLY : postproc_only, conv_thr_chi, thresh_init, &
at_equiv_criterium, skip_atom, skip_type, merge_type, &
background, collect_chi, sum_pertq, perturb_only_atom, &
determine_num_pert_only, skip_equivalence_q, niter_max, &
disable_type_analysis, docc_thr, num_neigh, lmin, rmax, &
nmix, nq1, nq2, nq3, alpha_mix, start_q, last_q
!
IMPLICIT NONE
!
! Logicals
!
CALL mp_bcast (skip_atom, meta_ionode_id, world_comm)
CALL mp_bcast (skip_type, meta_ionode_id, world_comm)
CALL mp_bcast (perturb_only_atom, meta_ionode_id, world_comm)
CALL mp_bcast (skip_equivalence_q, meta_ionode_id, world_comm)
CALL mp_bcast (merge_type, meta_ionode_id, world_comm)
CALL mp_bcast (background, meta_ionode_id, world_comm)
CALL mp_bcast (postproc_only, meta_ionode_id, world_comm)
CALL mp_bcast (collect_chi, meta_ionode_id, world_comm)
CALL mp_bcast (sum_pertq, meta_ionode_id, world_comm)
CALL mp_bcast (lrpa, meta_ionode_id, world_comm)
CALL mp_bcast (determine_num_pert_only, meta_ionode_id, world_comm)
CALL mp_bcast (disable_type_analysis, meta_ionode_id, world_comm)
!
! Integers
!
CALL mp_bcast (nq1, meta_ionode_id, world_comm)
CALL mp_bcast (nq2, meta_ionode_id, world_comm)
CALL mp_bcast (nq3, meta_ionode_id, world_comm)
CALL mp_bcast (start_q, meta_ionode_id, world_comm)
CALL mp_bcast (last_q, meta_ionode_id, world_comm)
CALL mp_bcast (at_equiv_criterium, meta_ionode_id, world_comm)
CALL mp_bcast (iverbosity, meta_ionode_id, world_comm)
CALL mp_bcast (niter_max, meta_ionode_id, world_comm)
CALL mp_bcast (nmix, meta_ionode_id, world_comm)
CALL mp_bcast (num_neigh, meta_ionode_id, world_comm)
CALL mp_bcast (lmin, meta_ionode_id, world_comm)
!
! Real*8
!
CALL mp_bcast (conv_thr_chi, meta_ionode_id, world_comm)
CALL mp_bcast (thresh_init, meta_ionode_id, world_comm)
CALL mp_bcast (ethr_nscf, meta_ionode_id, world_comm)
CALL mp_bcast (docc_thr, meta_ionode_id, world_comm)
CALL mp_bcast (alpha_mix, meta_ionode_id, world_comm)
CALL mp_bcast (max_seconds, meta_ionode_id, world_comm)
CALL mp_bcast (rmax, meta_ionode_id, world_comm)
!
! Characters
!
CALL mp_bcast (prefix, meta_ionode_id, world_comm)
CALL mp_bcast (tmp_dir, meta_ionode_id, world_comm)
!
#endif
!
RETURN
!
END SUBROUTINE hp_bcast_input

103
HP/src/hp_calc_chi.f90 Normal file
View File

@ -0,0 +1,103 @@
!
! Copyright (C) 2001-2018 Quantum_ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!-----------------------------------------------------------------------
SUBROUTINE hp_calc_chi
!-----------------------------------------------------------------------
!
! This routine computes the non-interacting and interaction response
! matrices chi0 and chi, respectively, from dns0_tot and dnsscf_tot.
! See Eq. (41) in Ref. [1].
! [1] Phys. Rev. B 98, 085127 (2018)
!
USE ions_base, ONLY : nat
USE io_global, ONLY : stdout
USE ldaU_hp, ONLY : nqsh, nath_sc, nah_pert, chi0, chi, &
dnsscf_tot, dns0_tot
!
IMPLICIT NONE
!
CALL start_clock('hp_calc_chi')
!
! Compute and write to file chi0 and chi
! for a given perturbation of atom nah_pert
!
CALL calcchi (dns0_tot, chi0, 'chi0')
CALL calcchi (dnsscf_tot, chi, 'chi')
!
CALL stop_clock('hp_calc_chi')
!
RETURN
!
CONTAINS
!
SUBROUTINE calcchi (dns_, chi_, name_)
!
! Compute the trace of the response occupation matrices
!
USE kinds, ONLY : DP
USE io_files, ONLY : prefix
USE ions_base, ONLY : ntyp => nsp, ityp
USE ldaU, ONLY : Hubbard_l, is_hubbard, Hubbard_lmax
USE lsda_mod, ONLY : nspin
USE constants, ONLY : rytoev
!
IMPLICIT NONE
!
CHARACTER(len=4), INTENT(IN) :: name_
COMPLEX(DP), INTENT(IN) :: dns_(2*Hubbard_lmax+1, 2*Hubbard_lmax+1, nspin, nat, nqsh)
REAL(DP), INTENT(INOUT) :: chi_(nath_sc, nat)
!
! Local variables
!
COMPLEX(DP) :: trace_dns(2), trace_dns_tot
INTEGER :: na, nt, is, m, icell, na_sc
!
na_sc = 0
!
DO icell = 1, nqsh
!
DO na = 1, nat
!
nt = ityp(na)
!
IF ( is_hubbard(nt) ) THEN
!
na_sc = na_sc + 1
!
trace_dns(:) = 0.d0
trace_dns_tot = 0.d0
!
! Divide by rytoev -> conversion of units from Ry to eV
!
DO is = 1, nspin
DO m = 1, 2 * Hubbard_l(nt) + 1
trace_dns(is) = trace_dns(is) + dns_(m,m,is,na,icell)/rytoev
ENDDO
trace_dns_tot = trace_dns_tot + trace_dns(is)
ENDDO
!
! If nspin=1, multiply by a factor of 2 due to spin degeneracy
!
IF (nspin.EQ.1) trace_dns_tot = 2.0d0 * trace_dns_tot
!
chi_(na_sc, nah_pert) = DBLE(trace_dns_tot)
!
ENDIF
!
ENDDO
!
ENDDO
!
IF (na_sc.NE.nath_sc) CALL errore( 'hp_calc_chi', "Mismatch in the number of atoms", 1)
!
RETURN
!
END SUBROUTINE calcchi
END SUBROUTINE hp_calc_chi

43
HP/src/hp_check_pert.f90 Normal file
View File

@ -0,0 +1,43 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!----------------------------------------------------------------------
SUBROUTINE hp_check_pert(na)
!----------------------------------------------------------------------
!
! Check if the given atom na must be perterbed or not.
!
USE ions_base, ONLY : ityp
USE lsda_mod, ONLY : nspin
USE ldaU_hp, ONLY : nah_pert, todo_atom, perturbed_atom
!
IMPLICIT NONE
!
INTEGER, INTENT(IN) :: na ! the atom under consideration
!
INTEGER :: nt ! dummy index for atomic type
!
! None of atoms are perterbed
perturbed_atom(:) = .false.
!
! Determine the type of a given atom na
nt = ityp(na)
!
IF ( todo_atom(na) ) THEN
!
! Only atom na will be perturbed
perturbed_atom(na) = .true.
!
! Keep track of the site number of the perturbed atom
nah_pert = na
!
ENDIF
!
RETURN
!
END SUBROUTINE hp_check_pert

111
HP/src/hp_check_type.f90 Normal file
View File

@ -0,0 +1,111 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!----------------------------------------------------------------------
subroutine hp_check_type(na)
!----------------------------------------------------------------------
!
! If the symmetry is not used, then this routine does nothing.
! Instead if the symmetry is used, then this routine can
! recompute the symmetries in the ground state, depending on
! the following condition:
! - if the perturbed Hubbard atom is unique by its type, then
! this routine will not recompute the symmetries and use
! the original nsym computed by PWscf;
! - if the perturbed Hubbard atom has the same type as some
! other atoms in the system, then change the type of the
! perturbed atom in order to make it inequivalent to all
! other atoms (this is needed in order to mimic an isolated
! perturbation in a supercell approach).
!
USE ions_base, ONLY : ityp, nat, ntyp => nsp, tau
USE io_global, ONLY : stdout
USE symm_base, ONLY : nsym, set_sym
USE noncollin_module, ONLY : nspin_mag, m_loc
USE fft_base, ONLY : dfftp
USE ldaU_hp, ONLY : recalc_sym
!
IMPLICIT NONE
!
INTEGER, INTENT(IN) :: na ! the atom under consideration
!
INTEGER :: nt, ityp_save, nsym_old
INTEGER :: na_, nt_
!
IF (nsym==1) RETURN
!
nt = ityp(na)
!
recalc_sym = .false.
!
! If there are at least two Hubbard atoms of the same type
! and we want to perturb one of them, then we have to change
! the type of the perturbed atom (in order to make them inequivalent)
! and to recompute the symmetries.
!
DO na_ = 1, nat
!
nt_ = ityp(na_)
!
IF ( na_.NE.na .AND. nt_.EQ.nt ) THEN
!
WRITE( stdout, '(/5x,"The perturbed atom has a type which is not unique!")')
WRITE( stdout, '(5x,"Changing the type of the perturbed atom and recomputing the symmetries...")')
!
! Save the type of the perturbed atom na
!
ityp_save = ityp(na)
!
! Change temporarily the type of the perturbed atom na
! in order to recompute the symmetry
!
ityp(na) = ntyp + 1
!
recalc_sym = .true.
!
GO TO 100
!
ENDIF
!
ENDDO
!
WRITE( stdout, '(/5x,"The perturbed atom has a type which is unique!")')
!
100 CONTINUE
!
! Recalculate the symmetry of the unperturbed lattice (if needed)
!
IF (recalc_sym) THEN
!
nsym_old = nsym ! number of symmetries from PWscf
!
IF (.not.ALLOCATED(m_loc)) ALLOCATE(m_loc(3,nat))
m_loc(:,:) = 0.0d0
!
CALL set_sym (nat, tau, ityp, nspin_mag, m_loc)
!
DEALLOCATE(m_loc)
!
IF ( nsym == nsym_old ) THEN
WRITE( stdout, '(5x,"The number of symmetries is the same as in PWscf :")')
recalc_sym = .false.
ELSE
WRITE( stdout, '(5x,"The number of symmetries is reduced :")')
ENDIF
WRITE( stdout, '(5x,"nsym =",1x,i2,2x,"nsym_PWscf =",1x,i2)') nsym, nsym_old
WRITE( stdout, '(5x,"Changing the type of the perturbed atom back to its original type...")')
!
! Change back the type of the perturbed atom to its original type
!
ityp(na) = ityp_save
!
ENDIF
!
RETURN
!
end subroutine hp_check_type

39
HP/src/hp_clean_q.f90 Normal file
View File

@ -0,0 +1,39 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!-----------------------------------------------------------------------
SUBROUTINE hp_clean_q (flag)
!-----------------------------------------------------------------------
!
! This routine deallocates the variables of PWscf and of the
! HP code, and resets the same variables as after reading input in
! hp_readin, so that it is possible to start a calculation at a new q.
!
USE control_flags, ONLY : twfcollect
USE lr_symm_base, ONLY : nsymq
!
IMPLICIT NONE
LOGICAL :: flag
!
twfcollect = .FALSE.
!
CALL clean_pw(.FALSE.)
!
! Deallocate the arrays
!
CALL hp_dealloc_q()
!
nsymq = 0
!
! Close the files
!
CALL hp_close_q (flag)
!
RETURN
!
END SUBROUTINE hp_clean_q

45
HP/src/hp_close_q.f90 Normal file
View File

@ -0,0 +1,45 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!----------------------------------------------------------------------------
SUBROUTINE hp_close_q ( flag )
!----------------------------------------------------------------------------
!
! This subroutine closes all files.
! Called at the end of the run with flag=.TRUE. (removes 'recover')
! or during execution with flag=.FALSE. (does not remove 'recover')
!
USE buffers, ONLY : close_buffer
USE control_flags, ONLY : twfcollect
USE units_lr, ONLY : iuwfc, iuatwfc
USE ldaU_hp, ONLY : iudwfc, iudvwfc
!
IMPLICIT NONE
!
LOGICAL, INTENT(IN) :: flag
LOGICAL :: opnd
!
IF ( twfcollect ) THEN
CALL close_buffer(iuwfc,'delete')
ELSE
CALL close_buffer(iuwfc,'keep')
ENDIF
!
IF (flag) THEN
CALL close_buffer(iudwfc,'delete')
CALL close_buffer(iudvwfc,'delete')
ELSE
CALL close_buffer(iudwfc,'keep')
CALL close_buffer(iudvwfc,'keep')
ENDIF
!
CALL close_buffer(iuatwfc,'delete')
!
RETURN
!
END SUBROUTINE hp_close_q

41
HP/src/hp_dealloc_1.f90 Normal file
View File

@ -0,0 +1,41 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!------------------------------------------------------------
SUBROUTINE hp_dealloc_1()
!------------------------------------------------------------
!
! Deallocates some arrays
!
USE lr_symm_base, ONLY : rtau
USE start_k, ONLY : xk_start, wk_start
USE ldaU_hp, ONLY : Rvect, dnsscf, dns0, dnsscf_tot, dns0_tot, &
x_q, comp_iq
!
IMPLICIT NONE
!
IF (ALLOCATED( x_q )) DEALLOCATE( x_q )
IF (ALLOCATED( comp_iq )) DEALLOCATE( comp_iq )
IF (ALLOCATED( Rvect )) DEALLOCATE( Rvect )
IF (ALLOCATED( dnsscf )) DEALLOCATE( dnsscf )
IF (ALLOCATED( dns0 )) DEALLOCATE( dns0 )
IF (ALLOCATED( dnsscf_tot )) DEALLOCATE( dnsscf_tot )
IF (ALLOCATED( dns0_tot )) DEALLOCATE( dns0_tot )
IF (ALLOCATED( rtau )) DEALLOCATE( rtau )
!
! Note that these two variables are allocated by read_file.
! They cannot be deallocated by clean_pw because the starting xk and wk
! points must be known at each q point.
! The logic of these two variables must be improved.
!
IF (ALLOCATED( xk_start )) DEALLOCATE( xk_start )
IF (ALLOCATED( wk_start )) DEALLOCATE( wk_start )
!
RETURN
!
END SUBROUTINE hp_dealloc_1

33
HP/src/hp_dealloc_2.f90 Normal file
View File

@ -0,0 +1,33 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!----------------------------------------------------------------------
subroutine hp_dealloc_2
!----------------------------------------------------------------------
!
! Deallocate various variables from the HP calculation
!
!USE ldaU, ONLY : dist_s, ityp_s
USE ldaU_hp, ONLY : todo_atom, perturbed_atom, &
chi0, chi, ns, magn, ityp_new
!
IMPLICIT NONE
!
IF (ALLOCATED(todo_atom)) DEALLOCATE(todo_atom)
IF (ALLOCATED(perturbed_atom)) DEALLOCATE(perturbed_atom)
IF (ALLOCATED(chi0)) DEALLOCATE(chi0)
IF (ALLOCATED(chi)) DEALLOCATE(chi)
IF (ALLOCATED(ns)) DEALLOCATE(ns)
IF (ALLOCATED(magn)) DEALLOCATE(magn)
IF (ALLOCATED(ityp_new)) DEALLOCATE(ityp_new)
!IF (ALLOCATED(dist_s)) DEALLOCATE(dist_s)
!IF (ALLOCATED(ityp_s)) DEALLOCATE(ityp_s)
!
RETURN
!
end subroutine hp_dealloc_2

79
HP/src/hp_dealloc_q.f90 Normal file
View File

@ -0,0 +1,79 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!------------------------------------------------------------
SUBROUTINE hp_dealloc_q()
!------------------------------------------------------------
!
! Deallocates variables allocated in hp_allocate_q
! (and in some other routines)
!
USE noncollin_module, ONLY : m_loc
USE becmod, ONLY : deallocate_bec_type
USE uspp, ONLY : okvan
USE qpoint, ONLY : eigqts, ikks, ikqs
USE lrus, ONLY : becp1
USE gc_lr, ONLY : grho, gmag, dvxc_rr, dvxc_sr, dvxc_ss, &
& dvxc_s, vsgga, segni
USE eqv, ONLY : dmuxc, dpsi, dvpsi, evq, &
swfcatomk, swfcatomkpq
USE control_lr, ONLY : lgamma, nbnd_occ
USE ldaU_hp, ONLY : this_pert_is_on_file
!
IMPLICIT NONE
INTEGER :: ik
!
IF (lgamma) THEN
if (associated(evq)) nullify(evq)
ELSE
if (associated(evq)) deallocate(evq)
ENDIF
!
if (allocated(dvpsi)) deallocate (dvpsi)
if (allocated(dpsi)) deallocate ( dpsi)
if (allocated(dmuxc)) deallocate (dmuxc)
if (allocated(nbnd_occ)) deallocate (nbnd_occ)
if (allocated(ikks)) deallocate (ikks)
if (allocated(ikqs)) deallocate (ikqs)
if (allocated(m_loc)) deallocate (m_loc)
!
if (allocated(this_pert_is_on_file)) &
& deallocate (this_pert_is_on_file)
!
IF (okvan) THEN
if (allocated(eigqts)) deallocate (eigqts)
if (allocated(becp1)) then
do ik=1,size(becp1)
call deallocate_bec_type ( becp1(ik) )
enddo
deallocate(becp1)
endif
ENDIF
!
! GGA-specific arrays
!
if (allocated(dvxc_rr)) deallocate (dvxc_rr)
if (allocated(dvxc_sr)) deallocate (dvxc_sr)
if (allocated(dvxc_ss)) deallocate (dvxc_ss)
if (allocated(dvxc_s)) deallocate (dvxc_s)
if (allocated(grho)) deallocate (grho)
if (allocated(segni)) deallocate (segni)
if (allocated(vsgga)) deallocate (vsgga)
if (allocated(gmag)) deallocate (gmag)
!
if (allocated(swfcatomk)) deallocate (swfcatomk)
!
if (lgamma) then
if (associated(swfcatomkpq)) nullify (swfcatomkpq)
else
if (associated(swfcatomkpq)) deallocate (swfcatomkpq)
endif
!
RETURN
!
END SUBROUTINE hp_dealloc_q

349
HP/src/hp_dnsq.f90 Normal file
View File

@ -0,0 +1,349 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
SUBROUTINE hp_dnsq (lmetq0, iter, conv_root, dnsq)
!-----------------------------------------------------------------------
!
! This routine calculates, at each SCF iteration,
! the variation of the occupation matrix dnsq for a fixed q.
! See Eq. (43) in Ref. [1].
! [1] Phys. Rev. B 98, 085127 (2018)
!
! dnsq(m1,m2,ispin,I) =
! = \sum_{n,k} [ <psi(n,k,ispin)| S(k)*phi_(k,I,m1)> *
! * < S(k+q)*phi(k+q,I,m2)| dpsi(n,k+q,ispin)> +
! + <psi(n,k,ispin)| S(k)*phi_(k,I,m2)> *
! * < S(k+q)*phi(k+q,I,m1)| dpsi(n,k+q,ispin)> ]
! + the term due to shift of the Fermi energy (only if lmetq0=.true.)
!
USE kinds, ONLY : DP
USE io_files, ONLY : nwordatwfc
USE ions_base, ONLY : nat, ityp
USE basis, ONLY : natomwfc
USE klist, ONLY : xk, wk, degauss, ngauss, ngk
USE wvfct, ONLY : npwx, wg, nbnd, et
USE uspp_param, ONLY : nh
USE lsda_mod, ONLY : lsda, nspin, current_spin, isk
USE wavefunctions, ONLY : evc
USE ener, ONLY : ef
USE uspp, ONLY : okvan
USE buffers, ONLY : get_buffer
USE mp_global, ONLY : intra_pool_comm, inter_pool_comm
USE mp, ONLY : mp_sum
USE io_files, ONLY : seqopn
USE io_global, ONLY : stdout
USE constants, ONLY : rytoev
USE control_flags, ONLY : iverbosity
USE eqv, ONLY : swfcatomk, swfcatomkpq
USE qpoint, ONLY : nksq, ikks, ikqs
USE control_lr, ONLY : lgamma
USE units_lr, ONLY : iuwfc, lrwfc, iuatwfc
USE lr_symm_base, ONLY : nsymq
USE ldaU, ONLY : Hubbard_lmax, Hubbard_l, is_hubbard, oatwfc
USE ldaU_hp, ONLY : conv_thr_chi, trace_dns_tot_old, &
conv_thr_chi_best, iter_best, iudwfc, lrdwfc
USE hp_efermi_shift, ONLY : def
!
IMPLICIT NONE
!
LOGICAL, INTENT(IN) :: lmetq0
! Change of the Fermi energy (only for q=0 and metal)
INTEGER, INTENT(IN) :: iter
! Number of the current iteration
LOGICAL, INTENT(OUT) :: conv_root
! .True. if convergence has been reached
COMPLEX(DP), INTENT(OUT) :: dnsq(2*Hubbard_lmax+1, 2*Hubbard_lmax+1, nspin, nat)
!
! the local variables
!
INTEGER :: ik, ikk, ikq, i, j, k, ios, icar, &
counter, nt, na, l, ih, jkb2, n, &
ihubst, ihubst1, ihubst2, m, m1, m2, ibnd, is, ldim
INTEGER :: npw, npwq
! number of plane waves at k and k+q
COMPLEX(DP), ALLOCATABLE :: dpsi_(:, :), proj1(:,:), proj2(:,:)
REAL(DP) :: weight, wdelta, w1
REAL(DP), EXTERNAL :: DDOT
COMPLEX(DP), EXTERNAL :: ZDOTC
REAL(DP), EXTERNAL :: w0gauss ! an approximation to the delta function
COMPLEX(DP) :: trace_dns(2)
COMPLEX(DP), ALLOCATABLE :: trace_dns_tot(:)
LOGICAL, ALLOCATABLE :: conv(:) ! If true the root is converged
REAL(DP) :: diff_max
REAL(DP), ALLOCATABLE :: diff(:)
!
CALL start_clock( 'hp_dnsq' )
!
ios = 0
!
ALLOCATE (dpsi_ ( npwx, nbnd))
ALLOCATE (proj1(nbnd, natomwfc))
ALLOCATE (proj2(nbnd, natomwfc))
ALLOCATE (trace_dns_tot(nat))
ALLOCATE (conv(nat))
ALLOCATE (diff(nat))
!
dpsi_ = (0.d0, 0.d0)
!
ldim = 2 * Hubbard_lmax + 1
!
! At each iteration dnsq is set to zero, because it is recomputed
!
dnsq(:,:,:,:) = (0.0d0, 0.0d0)
!
DO na = 1, nat
nt = ityp(na)
IF (is_hubbard(nt)) THEN
conv(na) = .false.
ELSE
conv(na) = .true.
ENDIF
ENDDO
!
DO ik = 1, nksq
!
ikk = ikks(ik)
ikq = ikqs(ik)
npw = ngk(ikk)
npwq = ngk(ikq)
!
IF (lsda) current_spin = isk (ikk)
!
! Read unperturbed KS wfc's psi(k)
!
IF (nksq.GT.1) CALL get_buffer (evc, lrwfc, iuwfc, ikk)
!
! Read atomic wfc's : S(k)*phi(k) and S(k+q)*phi(k+q)
!
CALL get_buffer (swfcatomk, nwordatwfc, iuatwfc, ikk)
!
IF (.NOT. lgamma) CALL get_buffer (swfcatomkpq, nwordatwfc, iuatwfc, ikq)
!
! At each SCF iteration for each ik read dpsi from file
!
CALL get_buffer (dpsi_, lrdwfc, iudwfc, ik)
!
! Loop on Hubbard atoms
!
DO na = 1, nat
!
nt = ityp(na)
!
IF (is_hubbard(nt)) THEN
!
DO m = 1, 2 * Hubbard_l(nt) + 1
!
ihubst = oatwfc(na) + m ! I m index
!
! proj1(ibnd, ihubst) = < S(k)*phi(k) | psi(k) >
! proj2(ibnd, ihubst) = < S(k+q)*phi(k+q) | dpsi(k+q) >
!
DO ibnd = 1, nbnd
proj1(ibnd, ihubst) = ZDOTC (npw, swfcatomk(:,ihubst), 1, evc(:,ibnd), 1)
proj2(ibnd, ihubst) = ZDOTC (npwq, swfcatomkpq(:,ihubst), 1, dpsi_(:,ibnd), 1)
ENDDO
!
ENDDO
!
ENDIF
!
ENDDO
!
#if defined (__MPI)
CALL mp_sum(proj1, intra_pool_comm)
CALL mp_sum(proj2, intra_pool_comm)
#endif
!
DO na = 1, nat
!
nt = ityp(na)
!
IF (is_hubbard(nt)) THEN
!
DO m1 = 1, 2 * Hubbard_l(nt) + 1
!
ihubst1 = oatwfc(na) + m1
!
DO m2 = m1, 2 * Hubbard_l(nt) + 1
!
ihubst2 = oatwfc(na) + m2
!
DO ibnd = 1, nbnd
!
dnsq(m1, m2, current_spin, na) = dnsq(m1, m2, current_spin, na) + &
wk(ikk) * ( CONJG(proj1(ibnd,ihubst1)) * proj2(ibnd,ihubst2) + &
CONJG(proj1(ibnd,ihubst2)) * proj2(ibnd,ihubst1) )
!
! Correction for metals at q=0
!
IF (lmetq0) THEN
!
! wdelta: smeared delta function at the Fermi level
!
wdelta = w0gauss ( (ef-et(ibnd,ikk)) / degauss, ngauss) / degauss
weight = wk(ikk)
w1 = weight * wdelta
!
dnsq(m1, m2, current_spin, na) = dnsq(m1, m2, current_spin, na) + &
w1 * def * CONJG(proj1(ibnd,ihubst1)) * proj1(ibnd,ihubst2)
!
ENDIF
!
ENDDO
!
ENDDO
!
ENDDO
!
ENDIF
!
ENDDO
!
ENDDO ! ik
!
#if defined (__MPI)
CALL mp_sum(dnsq, inter_pool_comm)
#endif
!
! dnsq is symmetric: filling the m1 m2 lower triangular part
!
DO m1 = 2, ldim
DO m2 = 1, m1-1
dnsq(m1,m2,:,:) = dnsq(m2,m1,:,:)
ENDDO
ENDDO
!
! If nspin=1, k-point's weight wk is normalized to 2 el/band in the whole BZ,
! but we are interested in dnsq of one spin component
!
IF (nspin.EQ.1) dnsq = 0.5d0 * dnsq
!
IF ( iverbosity > 3 ) THEN
WRITE(stdout,'(6x,"RESPONSE OCCUPATION MATRICES:")')
DO na = 1, nat
nt = ityp(na)
IF (is_hubbard(nt)) THEN
DO is = 1, nspin
WRITE(stdout,'(5x,a,1x,i2,2x,a,1x,i2)') ' Hubbard atom', na, 'spin', is
DO m1 = 1, 2*Hubbard_l(nt)+1
WRITE(stdout,'(3x,10(f15.10,1x))') (DBLE(dnsq(m1,m2,is,na)), &
m2=1,2*Hubbard_l(nt)+1)
ENDDO
ENDDO
ENDIF
ENDDO
ENDIF
!
! Symmetrization of dnsq
!
CALL hp_symdnsq (dnsq)
!
IF ( nsymq > 1 .AND. iverbosity > 3 ) THEN
WRITE(stdout,'(6x,"RESPONSE OCCUPATION MATRICES (SYMMETRIZED):")')
DO na = 1, nat
nt = ityp(na)
IF (is_hubbard(nt)) THEN
DO is = 1, nspin
WRITE(stdout,'(5x,a,1x,i2,2x,a,1x,i2)') ' Hubbard atom', na, 'spin', is
DO m1 = 1, 2*Hubbard_l(nt)+1
WRITE(stdout,'(3x,10(f15.10,1x))') (DBLE(dnsq(m1,m2,is,na)), &
m2=1,2*Hubbard_l(nt)+1)
ENDDO
ENDDO
ENDIF
ENDDO
ENDIF
!
! Write the trace of dnsq for a given iteration
!
trace_dns_tot(:) = 0.d0
!
conv_root = .true.
!
diff_max = 0.0d0
diff(:) = 0.0d0
!
DO na = 1, nat
!
nt = ityp(na)
!
IF (is_hubbard(nt)) THEN
!
! Divide by rytoev -> conversion of units from Ry to eV
!
trace_dns(:) = 0.d0
DO is = 1, nspin
DO m = 1, 2 * Hubbard_l(nt) + 1
trace_dns(is) = trace_dns(is) + dnsq(m,m,is,na)/rytoev
ENDDO
trace_dns_tot(na) = trace_dns_tot(na) + trace_dns(is)
ENDDO
!
! If nspin=1, multiply back by a factor of 2 due to spin degeneracy
!
IF (nspin.EQ.1) trace_dns_tot(na) = 2.0d0 * trace_dns_tot(na)
!
! Check for convergence
!
diff(na) = DABS( DBLE(trace_dns_tot(na)) - DBLE(trace_dns_tot_old(na)) )
!
IF ( diff(na) < conv_thr_chi ) conv(na) = .true.
!
conv_root = conv_root .AND. conv(na)
!
! Write the trace of dnsq to file
!
IF ( iter == 1 ) THEN
WRITE(stdout,'(6x,"chi:",1x,i3,1x,f14.10,3x)') &
& na, DBLE(trace_dns_tot(na))
ELSE
WRITE(stdout,'(6x,"chi:",1x,i3,1x,f14.10,3x,"residue:"2x,f14.10)') &
& na, DBLE(trace_dns_tot(na)), diff(na)
ENDIF
!
! Save for comparison in the next iteration
!
trace_dns_tot_old(na) = trace_dns_tot(na)
!
ENDIF
!
ENDDO
!
! Find the largest error among diff(:) for the current iteration
!
diff_max = MAXVAL(diff(:))
!
IF ( iter == 1 ) THEN
!
conv_root = .false.
conv_thr_chi_best = 1000.0d0
iter_best = 1
GO TO 101
!
ENDIF
!
IF ( diff_max < conv_thr_chi_best ) THEN
!
conv_thr_chi_best = diff_max
iter_best = iter
!
ENDIF
!
101 CONTINUE
!
DEALLOCATE (proj1)
DEALLOCATE (proj2)
DEALLOCATE (dpsi_)
DEALLOCATE (trace_dns_tot)
DEALLOCATE (conv)
DEALLOCATE (diff)
!
CALL stop_clock( 'hp_dnsq' )
!
RETURN
!
END SUBROUTINE hp_dnsq

311
HP/src/hp_dnstot_sum_q.f90 Normal file
View File

@ -0,0 +1,311 @@
!
! Copyright (C) 2001-2018 Quantum_ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!-----------------------------------------------------------------------
SUBROUTINE hp_dnstot_sum_q
!-----------------------------------------------------------------------
!
! This subroutine sums up over q points the contributions to
! the response occupation matrices (including the phase exp(i q*R)).
! If skip_equivalence_q=.FALSE. it also generates and sums over
! the q' points from the star of each q point.
! Inspired by PH/q2qstar_ph.f90
! See Eq. (42) in Ref. [1].
! [1] Phys. Rev. B 98, 085127 (2018)
!
USE kinds, ONLY : DP
USE ions_base, ONLY : nat, tau, ntyp => nsp, ityp
USE constants, ONLY : tpi
USE qpoint, ONLY : xq
USE lsda_mod, ONLY : nspin
USE cell_base, ONLY : at, bg
USE symm_base, ONLY : nsym, s, invs, irt, d1, d2, d3
USE io_global, ONLY : stdout
USE control_flags, ONLY : iverbosity
USE lr_symm_base, ONLY : nsymq, invsymq, minus_q, rtau
USE ldaU, ONLY : Hubbard_lmax, Hubbard_l, is_hubbard
USE ldaU_hp, ONLY : nqsh, Rvect, dnsscf, dns0, dnsscf_tot, dns0_tot, &
skip_equivalence_q, nq1, nq2, nq3, x_q, nqs
!
IMPLICIT NONE
!
INTEGER :: na, nt, m1, m2, is, iq, iq_star, isym
INTEGER :: nq, & ! degeneracy of the star of q
isq(48), & ! index of q in the star of a given sym.op.
imq, & ! index of -q in the star of q (0 if not present)
nqs_all ! all q points in the grid without symmetry
REAL(DP) :: sxq(3,48) ! list of vectors in the star of q
COMPLEX(DP), ALLOCATABLE :: dns0_rot(:,:,:,:), &
dnsscf_rot(:,:,:,:)
! Rotated bare and SCF response occupation matrices
LOGICAL :: full_q_grid
! If .true. then all q points in the grid (without symmetry) were computed
! and hence there is no need to consider the star of q
!
CALL start_clock('hp_dnstot_sum_q')
!
WRITE( stdout, '(/,5X,"Computing the sum over q of the response occupation matrices...")')
!
ALLOCATE (dnsscf_rot(2*Hubbard_lmax+1, 2*Hubbard_lmax+1, nspin, nat))
ALLOCATE (dns0_rot (2*Hubbard_lmax+1, 2*Hubbard_lmax+1, nspin, nat))
!
nqs_all = nq1*nq2*nq3
!
IF ( nqs == nqs_all ) THEN
full_q_grid = .TRUE.
ELSE
full_q_grid = .FALSE.
ENDIF
!
! Loop over q points
!
DO iq = 1, nqs
!
! Set the coordinates of the current q point
!
xq(1:3) = x_q(1:3,iq)
!
WRITE( stdout, '(/,5X,"q #",i4," = ",f12.9,2x,f12.9,2x,f12.9)') iq, xq(1), xq(2), xq(3)
!
IF ( full_q_grid ) THEN
!
nq = 1
imq = 1
sxq(:,1) = xq(:)
!
ELSE
!
! Set the small group of q
!
CALL set_small_group_of_q (nsymq, invsymq, minus_q)
!
! Calculate rtau (the Bravais lattice vector associated to a rotation)
! with the new symmetry order
!
CALL sgam_lr (at, bg, nsym, s, irt, tau, rtau, nat)
!
! Since the order of the S matrices is changed (for q\=0)
! we need to re-initialize d1, d2, d3 to rotate the spherical harmonics
!
CALL d_matrix( d1, d2, d3 )
!
! Generate the star of q
!
CALL star_q (xq, at, bg, nsym, s, invs, nq, sxq, isq, imq, .TRUE. )
!
ENDIF
!
! Loop over q' points in the star of q
!
DO iq_star = 1, nq
!
IF ( iq_star == 1 ) THEN
!
! There is no need in rotation. Just copy.
!
dnsscf_rot(:,:,:,:) = dnsscf(:,:,:,:,iq)
dns0_rot(:,:,:,:) = dns0(:,:,:,:,iq)
!
ELSE
!
! Rotate dnsscf and dns0
!
DO isym = 1, nsym
!
! Select the appropriate symmetry which rotates q to q'
!
IF (isq(isym)==iq_star) THEN
!
CALL hp_rotate_dnsq(dnsscf(:,:,:,:,iq), dnsscf_rot(:,:,:,:), isym, sxq(:,iq_star))
CALL hp_rotate_dnsq(dns0(:,:,:,:,iq), dns0_rot(:,:,:,:), isym, sxq(:,iq_star))
GO TO 100
!
ENDIF
!
ENDDO
!
ENDIF
!
100 CONTINUE
!
! Print the response occupation matrices
!
IF ( iverbosity > 3 ) CALL print_dns(sxq(:,iq_star), dnsscf_rot)
!
! Add a contribution from this q' point from the star
!
CALL dns_sum_q(sxq(:,iq_star))
!
! Add a contribution from the -q' point if it is not in the star
! (i.e. it is in the -q' list)
!
IF ( imq == 0 ) THEN
!
! Use the time-reversal symmetry
!
CALL dns_conjg()
!
IF ( iverbosity > 3 ) THEN
WRITE(stdout,'(/5x,"Add a contribution from -q which is in a separate list!")')
CALL print_dns(-sxq(:,iq_star), dnsscf_rot)
ENDIF
!
! Add a contribution from the -q' point
!
CALL dns_sum_q(-sxq(:,iq_star))
!
ENDIF
!
ENDDO
!
ENDDO
!
DEALLOCATE(dns0_rot)
DEALLOCATE(dnsscf_rot)
!
CALL stop_clock('hp_dnstot_sum_q')
!
RETURN
!
CONTAINS
!
SUBROUTINE dns_sum_q (xq_)
!
! This subroutine sums up contributions from all q points
! (including the contributions from the points in the star
! of q if skip_equivalence_q=.FALSE.)
!
! Comment: It may be that the point q' in the star of q
! differs by sign with respect to the corresponding q
! point in the list of the full grid of q points
! (i.e. when skip_equivalence_q=.TRUE.). It seems that
! this may happen only when minus_q=.TRUE. However, since
! we are interested in the real part of the quantity
! exp(iq'*R) dns(q') there is no problem with the sign.
! Note that dns(-q') = CONJG(dns(q')), hence
! Re[exp(-iq'*R) dns(-q')] = Re[exp(iq'*R) dns(q')].
!
IMPLICIT NONE
!
REAL(DP), INTENT(IN) :: xq_(3) ! q point from the star
!
INTEGER :: icell
REAL(DP) :: fac, arg
COMPLEX(DP) :: phase
!
! Normalization factor
!
fac = 1.0d0/DBLE(nqsh)
!
! Loop over R points
!
DO icell = 1, nqsh
!
! Calculate the phase factor exp(iqR)
!
arg = ( xq_(1) * Rvect(1,icell) + &
xq_(2) * Rvect(2,icell) + &
xq_(3) * Rvect(3,icell) ) * tpi
!
phase = CMPLX (cos(arg), sin(arg), kind=DP)
!
! Accumulate (sum up) over q points in order to obtain
! total occupation matrices for every cell
!
DO na = 1, nat
!
nt = ityp(na)
!
IF (is_hubbard(nt)) THEN
!
DO is = 1, nspin
!
DO m1 = 1, 2 * Hubbard_l(nt) + 1
!
DO m2 = m1, 2 * Hubbard_l(nt) + 1
!
dnsscf_tot(m1,m2,is,na,icell) = dnsscf_tot(m1,m2,is,na,icell) + &
& fac * phase * dnsscf_rot(m1,m2,is,na)
!
dns0_tot(m1,m2,is,na,icell) = dns0_tot(m1,m2,is,na,icell) + &
& fac * phase * dns0_rot(m1,m2,is,na)
!
ENDDO
!
ENDDO
!
ENDDO
!
ENDIF
!
ENDDO
!
ENDDO
!
RETURN
!
END SUBROUTINE dns_sum_q
SUBROUTINE dns_conjg()
!
! Use the time-reversal symmetry: dns = conjg(dns)
!
IMPLICIT NONE
!
DO na = 1, nat
nt = ityp(na)
IF (is_hubbard(nt)) THEN
DO is = 1, nspin
DO m1 = 1, 2 * Hubbard_l(nt) + 1
DO m2 = m1, 2 * Hubbard_l(nt) + 1
dnsscf_rot(m1,m2,is,na) = CONJG(dnsscf_rot(m1,m2,is,na))
dns0_rot(m1,m2,is,na) = CONJG(dns0_rot(m1,m2,is,na))
ENDDO
ENDDO
ENDDO
ENDIF
ENDDO
!
RETURN
!
END SUBROUTINE dns_conjg
SUBROUTINE print_dns(xq_, dns_)
!
! Prints xq_, dns_ (for debugging)
!
IMPLICIT NONE
!
REAL(DP), INTENT(IN) :: xq_(3) ! q point from the star
COMPLEX(DP), INTENT(IN) :: dns_(2*Hubbard_lmax+1, 2*Hubbard_lmax+1, nspin, nat)
!
WRITE( stdout, '(/,5X,"q = ",3(2x,f12.9))') xq_(1), xq_(2), xq_(3)
!
DO na = 1, nat
nt = ityp(na)
IF (is_hubbard(nt)) THEN
WRITE(stdout,'(5x,"na = ",1x,i3)') na
DO is = 1, nspin
WRITE(stdout,'(5x,"is = ",1x,i2)') is
DO m1 = 1, 2 * Hubbard_l(nt) + 1
DO m2 = m1, 2 * Hubbard_l(nt) + 1
!
WRITE(stdout,'(5x,"m1 = ",i1,2x, "m2 = ",i1, 2x, f12.8, 2x, f12.8)') &
& m1, m2, DBLE(dns_(m1,m2,is,na)), AIMAG(dns_(m1,m2,is,na))
!
ENDDO
ENDDO
ENDDO
ENDIF
ENDDO
!
RETURN
!
END SUBROUTINE print_dns
END SUBROUTINE hp_dnstot_sum_q

139
HP/src/hp_dvpsi_pert.f90 Normal file
View File

@ -0,0 +1,139 @@
!
! Copyright (C) 2001-2018 Quantum ESPRESSO group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!
!----------------------------------------------------------------------
subroutine hp_dvpsi_pert (ik)
!----------------------------------------------------------------------
!
! This routine performes an action of the perturbing DFT+U potential on to
! the unperturbed KS wavefunction.
! See Eq. (46) in Ref. [1]
! [1] Phys. Rev. B 98, 085127 (2018)
!
! On output: dvpsi(ig, ibnd) =
! \sum_m | S(k+q)*phi_(k+q,J,m)> * < S(k)*phi_(k,J,m)| psi(ibnd,k) >
!
! dvpsi is for a given "k", "q" and "J"
!
! dvpsi is READ from file if this_pert_is_on_file(ik) = .TRUE.
! otherwise dvpsi is COMPUTED and WRITTEN on file
! (evc, swfcatomk, swfcatomkpq must be set)
!
USE kinds, ONLY : DP
USE io_files, ONLY : nwordatwfc
USE ions_base, ONLY : nat, ityp
USE wavefunctions, ONLY : evc
USE klist, ONLY : ngk
USE buffers, ONLY : save_buffer, get_buffer
USE wvfct, ONLY : npwx, nbnd
USE basis, ONLY : natomwfc
USE mp_global, ONLY : intra_pool_comm
USE mp, ONLY : mp_sum
USE eqv, ONLY : dvpsi, swfcatomk, swfcatomkpq
USE qpoint, ONLY : nksq, ikks, ikqs
USE units_lr, ONLY : iuatwfc
USE control_lr, ONLY : lgamma
USE ldaU, ONLY : Hubbard_lmax, Hubbard_l, oatwfc
USE ldaU_hp, ONLY : nqsh, perturbed_atom, this_pert_is_on_file, &
iudvwfc, lrdvwfc
!
IMPLICIT NONE
!
INTEGER, INTENT(IN) :: ik
! given k point
!
INTEGER :: ikk, ikq, na, nt, m, ihubst, ibnd, ig, counter
INTEGER :: npw, npwq
! number of plane waves at k and k+q
COMPLEX (DP), ALLOCATABLE :: proj(:,:)
COMPLEX(DP), EXTERNAL :: ZDOTC
!
CALL start_clock ('hp_dvpsi_pert')
!
! Check that there is one perturbed atom
!
counter = 0
DO na = 1, nat
IF (perturbed_atom(na)) counter = counter + 1
ENDDO
IF (counter.NE.1) CALL errore( 'hp_dvpsi_pert', "One perturbed atom must be specified", 1)
!
dvpsi(:,:) = (0.0d0, 0.0d0)
!
! If this is not the first iteration, hence dvpsi was already
! computed before. So read it from file and exit.
!
IF (this_pert_is_on_file(ik)) THEN
!
CALL get_buffer(dvpsi, lrdvwfc, iudvwfc, ik)
CALL stop_clock ('hp_dvpsi_pert')
RETURN
!
ENDIF
!
! If this is a first iteration, then dvpsi must be computed
! and written on file.
!
ALLOCATE (proj(nbnd, natomwfc))
!
ikk = ikks(ik)
ikq = ikqs(ik)
npw = ngk(ikk)
npwq= ngk(ikq)
!
! Read atomic wfc's : S(k)*phi(k) and S(k+q)*phi(k+q)
!
CALL get_buffer(swfcatomk, nwordatwfc, iuatwfc, ikk)
!
IF (.NOT.lgamma) CALL get_buffer(swfcatomkpq, nwordatwfc, iuatwfc, ikq)
!
! Calculate proj(ibnd, ihubst) = < S(k)*phi(k,I,m)| psi(ibnd,k) >
!
DO na = 1, nat
nt = ityp(na)
IF ( perturbed_atom(na) ) THEN
DO m = 1, 2 * Hubbard_l(nt) + 1
ihubst = oatwfc(na) + m ! I m index
DO ibnd = 1, nbnd
proj(ibnd, ihubst) = ZDOTC(npw, swfcatomk(:,ihubst ), 1, evc(:,ibnd), 1)
ENDDO
ENDDO
ENDIF
ENDDO
!
#if defined (__MPI)
CALL mp_sum(proj, intra_pool_comm)
#endif
!
DO na = 1, nat
nt = ityp(na)
IF ( perturbed_atom(na) ) THEN
DO m = 1, 2 * Hubbard_l(nt) + 1
ihubst = oatwfc(na) + m
DO ibnd = 1, nbnd
DO ig = 1, npwq
dvpsi(ig, ibnd) = dvpsi(ig, ibnd) + &
& swfcatomkpq(ig,ihubst) * proj(ibnd,ihubst)
ENDDO
ENDDO
ENDDO
ENDIF
ENDDO
!
! Write dvpsi on file.
!
CALL save_buffer(dvpsi, lrdvwfc, iudvwfc, ik)
this_pert_is_on_file(ik) = .true.
!
DEALLOCATE (proj)
!
CALL stop_clock ('hp_dvpsi_pert')
!
RETURN
!
end subroutine hp_dvpsi_pert

Some files were not shown because too many files have changed in this diff Show More