diff --git a/CPV/Doc/Makefile b/CPV/Doc/Makefile index 93cb6cbf06..5be81254ee 100644 --- a/CPV/Doc/Makefile +++ b/CPV/Doc/Makefile @@ -1,4 +1,4 @@ -VERSION = 6.7 +VERSION := $(shell awk -F\' '/version_number/{print $$2}' ../../include/qe_version.h ) HELPDOC = ../../dev-tools/helpdoc -version $(VERSION) LATEX = pdflatex LATEX2HTML = latex2html diff --git a/CPV/src/exx_module.f90 b/CPV/src/exx_module.f90 index c38f92d55e..6f3c73be14 100644 --- a/CPV/src/exx_module.f90 +++ b/CPV/src/exx_module.f90 @@ -285,10 +285,10 @@ SUBROUTINE exx_initialize() & The exx_me_rcut_self should be set smaller than half the minimum cell length',1) ! IF(fftx_ntgrp(dffts).GT.1) CALL errore('exx_module','EXX calculation error : & - & taskgroup (-ntg) > 1 needed for zeta>1 calculations currently broken and will& - & be fixed in an up-coming major update. Please contact Robert A. DiStasio Jr.& + & taskgroup (-ntg) > 1 needed for zeta>1 calculations currently unavailable and will& + & become available in the next major update. Please contact Robert A. DiStasio Jr.& & (distasio@cornell.edu) if you should need assistance reverting to an earlier& - & version with working taskgroup supoprt.',1) + & version with working taskgroup support.',1) ! IF(nproc_image.GE.nbsp) THEN ! diff --git a/FFTXlib/fft_helper_subroutines.f90 b/FFTXlib/fft_helper_subroutines.f90 index bff301728d..75a171d7aa 100644 --- a/FFTXlib/fft_helper_subroutines.f90 +++ b/FFTXlib/fft_helper_subroutines.f90 @@ -16,6 +16,12 @@ MODULE fft_helper_subroutines & tg_reduce_rho_5 END INTERFACE + INTERFACE c2psi_gamma + MODULE PROCEDURE c2psi_gamma_cpu +#ifdef __CUDA + MODULE PROCEDURE c2psi_gamma_gpu +#endif + END INTERFACE PRIVATE PUBLIC :: fftx_threed2oned, fftx_oned2threed PUBLIC :: tg_reduce_rho @@ -293,7 +299,7 @@ SUBROUTINE fftx_add_field( r, f, desc ) END SUBROUTINE - SUBROUTINE c2psi_gamma( desc, psi, c, ca ) + SUBROUTINE c2psi_gamma_cpu( desc, psi, c, ca ) ! ! Copy wave-functions from 1D array (c_bgrp) to 3D array (psi) in Fourier space ! @@ -326,6 +332,48 @@ SUBROUTINE c2psi_gamma( desc, psi, c, ca ) END IF END SUBROUTINE +#ifdef __CUDA + SUBROUTINE c2psi_gamma_gpu( desc, psi, c, ca ) + ! + ! Copy wave-functions from 1D array (c_bgrp) to 3D array (psi) in Fourier space, + ! GPU implementation. + ! + USE fft_param + USE fft_types, ONLY : fft_type_descriptor + TYPE(fft_type_descriptor), INTENT(in) :: desc + complex(DP), DEVICE, INTENT(OUT) :: psi(:) + complex(DP), DEVICE, INTENT(IN) :: c(:) + complex(DP), DEVICE, OPTIONAL, INTENT(IN) :: ca(:) + complex(DP), parameter :: ci=(0.0d0,1.0d0) + integer :: ig + integer, device, pointer :: nlm_d(:), nl_d(:) + + nlm_d => desc%nlm_d + nl_d => desc%nl_d + ! + psi = 0.0d0 + ! + ! nlm and nl array: hold conversion indices form 3D to + ! 1-D vectors. Columns along the z-direction are stored + ! contigiously + ! c array: stores the Fourier expansion coefficients + ! Loop for all local g-vectors (ngw) + IF( PRESENT(ca) ) THEN + !$cuf kernel do (1) + do ig = 1, desc%ngw + psi( nlm_d( ig ) ) = CONJG( c( ig ) ) + ci * conjg( ca( ig )) + psi( nl_d( ig ) ) = c( ig ) + ci * ca( ig ) + end do + ELSE + !$cuf kernel do (1) + do ig = 1, desc%ngw + psi( nlm_d( ig ) ) = CONJG( c( ig ) ) + psi( nl_d( ig ) ) = c( ig ) + end do + END IF + END SUBROUTINE +#endif + SUBROUTINE c2psi_k( desc, psi, c, igk, ngk) ! ! Copy wave-functions from 1D array (c/evc) ordered according (k+G) index igk diff --git a/GUI/PWgui/NEWS b/GUI/PWgui/NEWS index b24874980b..da2eab3dff 100644 --- a/GUI/PWgui/NEWS +++ b/GUI/PWgui/NEWS @@ -1,7 +1,10 @@ +Version: 6.7 + * hp.x module added + Version: 6.2 * d3.x module disabled -Version: 5.0svn +Version: 5.0 * adding bands.x and dos.x modules * note the syntax change for projwfc.x, bands.x, and dos.x, where the &INPUTPP namelist was changed to &PROJWFC, &BANDS, diff --git a/GUI/PWgui/README b/GUI/PWgui/README index 950d97e855..03bac93f73 100644 --- a/GUI/PWgui/README +++ b/GUI/PWgui/README @@ -44,6 +44,7 @@ Currently, the following PWscf programs (modules) are supported: * bands.x * dos.x * ld1.x (atomic) + * hp.x Directory structure of the PWgui source package: @@ -106,4 +107,4 @@ following: -- -Anton Kokalj (tone.kokalj@ijs.si), Mon Jan 23 12:28:40 CET 2012 +Anton Kokalj (tone.kokalj@ijs.si), 29 Nov 2020 diff --git a/GUI/PWgui/VERSION b/GUI/PWgui/VERSION index 4074fe2027..341291e535 100644 --- a/GUI/PWgui/VERSION +++ b/GUI/PWgui/VERSION @@ -1 +1 @@ -6.6 +6.7 diff --git a/GUI/PWgui/doc/pwdocs/Makefile b/GUI/PWgui/doc/pwdocs/Makefile index 9127c9b33d..7157715d39 100644 --- a/GUI/PWgui/doc/pwdocs/Makefile +++ b/GUI/PWgui/doc/pwdocs/Makefile @@ -9,7 +9,8 @@ INPUT_FILES_HTML = \ INPUT_PROJWFC.html \ INPUT_BANDS.html \ INPUT_DOS.html \ - INPUT_LD1.html + INPUT_LD1.html \ + INPUT_HP.html INPUT_FILES_TXT = $(INPUT_FILES_HTML:.html=.txt) LINK_FILES = $(INPUT_FILES_TXT) @@ -39,6 +40,7 @@ input_html: links ./htmlise.sh INPUT_BANDS.txt > INPUT_BANDS.html ./htmlise.sh INPUT_DOS.txt > INPUT_DOS.html ./htmlise.sh INPUT_LD1.txt > INPUT_LD1.html + ./htmlise.sh INPUT_HP.txt > INPUT_HP.html make_user_guide: links rm -rf user_guide/ diff --git a/GUI/PWgui/images/pwgui-logo.gif b/GUI/PWgui/images/pwgui-logo.gif index 7a4902d4d8..3266397000 100644 Binary files a/GUI/PWgui/images/pwgui-logo.gif and b/GUI/PWgui/images/pwgui-logo.gif differ diff --git a/GUI/PWgui/images/pwgui-logo.xcf.bz2 b/GUI/PWgui/images/pwgui-logo.xcf.bz2 index bb414cdca6..6dd5888bc8 100644 Binary files a/GUI/PWgui/images/pwgui-logo.xcf.bz2 and b/GUI/PWgui/images/pwgui-logo.xcf.bz2 differ diff --git a/GUI/PWgui/modules/atomic/atomic-help.tcl b/GUI/PWgui/modules/atomic/atomic-help.tcl index 3bac82c445..8a825f669a 100644 --- a/GUI/PWgui/modules/atomic/atomic-help.tcl +++ b/GUI/PWgui/modules/atomic/atomic-help.tcl @@ -354,7 +354,7 @@ help lsd -helpfmt helpdoc -helptext { 1 ... spin-polarized calculation BEWARE: -not allowed if iswitch=3 (PP generation) or with full +not allowed if "iswitch"=3 (PP generation) or with full relativistic calculation @@ -525,7 +525,7 @@ help verbosity -helpfmt helpdoc -helptext {
 'low' or 'high'
 
-if 'high' with iswitch=2,3 prints separately core and
+if 'high' with "iswitch"=2,3 prints separately core and
 valence contributions to the energies. Print the
 frozen-core energy.
          
@@ -777,12 +777,12 @@ help pseudotype -helpfmt helpdoc -helptext {
 1 ... norm-conserving, single-projector PP
-      IMPORTANT: if pseudotype=1 all calculations are done
+      IMPORTANT: if pseudotype=1 all calculations are done
       using the SEMILOCAL form, not the separable nonlocal form
 
 2 ... norm-conserving PP in separable form (obsolescent)
       All calculations are done using SEPARABLE non-local form
-      IMPORTANT: multiple projectors allowed but not properly
+      IMPORTANT: multiple projectors allowed but not properly
       implemented, use only if you know what you are doing
 
 3 ... ultrasoft PP or PAW
@@ -1423,7 +1423,7 @@ help nconf -helpfmt helpdoc -helptext {
          
 
  •  Description:
  • -
     the number of configurations to be tested. For iswitch = 4 nconf=2
    +
     the number of configurations to be tested. For "iswitch"=4 nconf=2
              
    @@ -1438,7 +1438,7 @@ help file_pseudo -helpfmt helpdoc -helptext {
  •  Type: CHARACTER

  •  Default: ' '
  • -
  •  Status: ignored if iswitch=3 +
  •  Status: ignored if "iswitch"=3

  •  Description:
  • @@ -1453,7 +1453,7 @@ the old RRKJ format is first tried; * otherwise, the old NC format is read. -IMPORTANT: in the latter case, all calculations are done +IMPORTANT: in the latter case, all calculations are done using the SEMILOCAL form, not the separable nonlocal form. Use the UPF format if you want to test the separable form!
    @@ -1515,9 +1515,10 @@ help configts -helpfmt helpdoc -helptext {
  •  Description:
  • -A string containing the test valence electronic
    -configuration nc, nc=1,nconf. Same syntax as for "config".
    -If configts(i) is not set, the electron configuration
    +A string array containing the test electronic configuration.
    +"configts"(nc), nc=1,"nconf", has the same syntax as for "config"
    +but only VALENCE states must be included.
    +If "configts"(i) is not set, the electron configuration
     is read from the cards following the namelist.
              
    @@ -1581,7 +1582,7 @@ help rcutv -helpfmt helpdoc -helptext {
     Cutoff distance (CUT) for the inclusion of LDA-1/2 potential.
    -                  Needed (mandatory) only if iswitch = 4
    +Needed (mandatory) only if "iswitch" = 4
              
    diff --git a/GUI/PWgui/modules/dos/dos.tcl b/GUI/PWgui/modules/dos/dos.tcl index ce7c7cf3cd..b8046103fa 100644 --- a/GUI/PWgui/modules/dos/dos.tcl +++ b/GUI/PWgui/modules/dos/dos.tcl @@ -7,7 +7,7 @@ module Dos\#auto -title "PWSCF GUI: module Dos.x" -script { namelist dos -name "DOS" { optional { var prefix { - -label "Prefix of punch file saved by program PW.X (prefix):" + -label "Prefix of outdir files saved by program PW.X (prefix):" -fmt %S -validate string } diff --git a/GUI/PWgui/modules/hp/commands.tcl b/GUI/PWgui/modules/hp/commands.tcl new file mode 100644 index 0000000000..aaf6276e82 --- /dev/null +++ b/GUI/PWgui/modules/hp/commands.tcl @@ -0,0 +1,13 @@ +# ------------------------------------------------------------------------ +# +# ------------------------------------------------------------------------ +proc ::pwscf::hpReadFilter {moduleObj channel} { + + # hp.x formatted input file should have the &INPUTHP namelist + + set status [::pwscf::readFilter::findNamelists $moduleObj $channel INPUTHP errMsg] + if { $status == 0 } { + $moduleObj readFileWrongFormat hp.x $errMsg + } + return [readFilter::default $moduleObj $channel {logical {ntyp {skip_type equiv_type perturb_only_atom}}}] +} diff --git a/GUI/PWgui/modules/hp/hp-event.tcl b/GUI/PWgui/modules/hp/hp-event.tcl new file mode 100644 index 0000000000..a50ae061d9 --- /dev/null +++ b/GUI/PWgui/modules/hp/hp-event.tcl @@ -0,0 +1,31 @@ +tracevar ntyp w { + set ntyp [varvalue ntyp] + foreach w {skip_type equiv_type perturb_only_atom} { + widgetconfigure $w -end $ntyp + } +} + +tracevar only_q w { + if { [vartextvalue only_q] == "Yes" } { + groupwidget start_last_q enable + widget sum_pertq enable + } else { + groupwidget start_last_q disable + widget sum_pertq disable + } +} + +tracevar start_q w { + if { [varvalue start_q] != "" } { + varset only_q -value .true. + groupwidget start_last_q enable + widget sum_pertq enable + } +} +tracevar last_q w { + if { [varvalue last_q] != "" } { + varset only_q -value .true. + groupwidget start_last_q enable + widget sum_pertq enable + } +} diff --git a/GUI/PWgui/modules/hp/hp-help.tcl b/GUI/PWgui/modules/hp/hp-help.tcl new file mode 100644 index 0000000000..6165b13db1 --- /dev/null +++ b/GUI/PWgui/modules/hp/hp-help.tcl @@ -0,0 +1,551 @@ + +# +# Help-file automatically created by helpdoc utility +# +# !!! DO NOT EDIT: CHANGES WILL BE LOST !!! +# + + +# ------------------------------------------------------------------------ +help prefix -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help outdir -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help iverbosity -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help max_seconds -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +grouphelp {nq1 nq2 nq3} -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help skip_equivalence_q -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help determine_num_pert_only -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help find_atpert -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help docc_thr -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help skip_type -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help equiv_type -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help perturb_only_atom -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help start_q -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help last_q -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help sum_pertq -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help compute_hp -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help conv_thr_chi -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help thresh_init -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help ethr_nscf -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help niter_max -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help nmix -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help num_neigh -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help lmin -helpfmt helpdoc -helptext { + + +} + + +# ------------------------------------------------------------------------ +help rmax -helpfmt helpdoc -helptext { + + +} + diff --git a/GUI/PWgui/modules/hp/hp.tcl b/GUI/PWgui/modules/hp/hp.tcl new file mode 100644 index 0000000000..9e775bf2bc --- /dev/null +++ b/GUI/PWgui/modules/hp/hp.tcl @@ -0,0 +1,205 @@ +source commands.tcl + +module HP\#auto -title "PWSCF GUI: module HP.x" -script { + + readfilter ::pwscf::hpReadFilter + + # + # Namelist: INPUTHP + # + + namelist inputhp -name "INPUTHP" { + + separator -label "--- Control specs ---" + + var prefix { + -label "Prefix of outdir files saved by program PW.X (prefix):" + -fmt %S -validate string + } + + var outdir { + -label "Outdir directory where PW.X files resides (outdir):" + -widget entrydirselectquote + -fmt %S -validate string + } + + var iverbosity { + -label "Verbosity (iverbosity):" + -textvalue { "1 = low" "2 = medium" "3 = high" "4 = highest" } + -value { 1 2 3 4 } + -validate int + -widget optionmenu + } + + var max_seconds { + -label "Maximum CPU time \[in seconds\] (max_seconds):" + -validate posint + } + + separator -label "--- Q-points ---" + + group q_points { + packwidgets left + var nq1 -label "nq1:" -widget spinint -validate posint + var nq2 -label "nq2:" -widget spinint -validate posint + var nq3 -label "nq3:" -widget spinint -validate posint + } + + var skip_equivalence_q { + -label "Skip the equivalence analysis of q points (skip_equivalence_q):" + -widget radiobox + -textvalue { Yes No } + -value { .true. .false. } + } + + + group qp -decor normal { + auxilvar only_q { + -label "Computes only the q points from start_q to last_q:" + -widget radiobox + -textvalue { Yes No } + -value { .true. .false. } + } + group start_last_q { + packwidgets left + var start_q { + -label "First q-point (start_q):" + -validate int + } + var last_q { + -label "Last q-point (last_q):" + -validate int + } + } + var sum_pertq { + -label "Collect pieces of the response occupation matrices (sum_pertq):" + -widget radiobox + -textvalue { Yes No } + -value { .true. .false. } + } + } + + separator -label "--- Perturbations ---" + + var determine_num_pert_only { + -label "Determine the number of perturbations (determine_num_pert_only):" + -widget radiobox + -textvalue { Yes No } + -value { .true. .false. } + } + + var find_atpert { + -label "Method for searching which atoms must be perturbed (find_atpert):" + -textvalue { + "1 = find atoms by analyzing unperturbed occupations" + "2 = find atoms from different Hubbard atomic types" + "3 = find atoms by symmetry" + } + -value { 1 2 3 } + -widget optionmenu + } + + var docc_thr { + -label "Threshold for a comparison of unperturbed occupations (docc_thr):" + -validate fortranreal + } + + separator -label "--- Atom types specs ---" + + group ntyp_vars { + auxilvar ntyp { + -label "Number of type of atoms:" + -validate posint + -widget spinint + -default 1 + } + + dimension skip_type { + -label "Skip i-th atom-type in linear-response calculation (skip_type):" + -widget radiobox + -textvalue { Yes No } + -value { .true. .false. } + -start 1 -end 1 + } + + dimension equiv_type { + -label "Make atom-type i equivalent to atom-type j (equiv_type):" + -validate posint + -start 1 -end 1 + } + + dimension perturb_only_atom { + -label "Perturb only i-th atom types (perturb_only_atom):" + -widget radiobox + -textvalue { .true. .false. } + -value { .true. .false. } + -start 1 -end 1 + } + } + + separator -label "--- Miscellaneous ---" + + var compute_hp { + -label "Collect pieces of the chi0 and chi matrices (compute_hp):" + -widget radiobox + -textvalue { Yes No } + -value { .true. .false. } + } + + var conv_thr_chi { + -label "Convergence threshold for the response function chi (conv_thr_chi):" + -validate fortranreal + } + + var thresh_init { + -label "Threshold for the 1st iteration of the linear system (thresh_init):" + -validate fortranreal + } + + var ethr_nscf { + -label "Threshold for the convergence of eigenvalues in NSCF (ethr_nscf):" + -validate fortranreal + } + + var niter_max { + -label "Maximum number of iterations for linear-response calc. (niter_max):" + -validate int + } + + var alpha_mix { + -variable alpha_mix(1) + -label "Mixing parameter (alpha_mix(1)):" + -validate fortranreal + } + + var nmix { + -label "Number of iterations to use in Broyden mixing (nmix):" + -validate int + } + + var num_neigh { + -label "Number of neighbors of every Hubbard atom to consider for V (num_neigh):" + -validate int + } + + var lmin { + -label "Minimum orbital quantum number of the Hubbard atoms (lmin):" + -validate int + } + + var rmax { + -label "Maximum neighbor distance (in Bohr) between two atoms (rmax):" + -validate fortranreal + } + } + + # ---------------------------------------------------------------------- + # take care of specialties + # ---------------------------------------------------------------------- + source hp-event.tcl + + # ------------------------------------------------------------------------ + # source the HELP file + # ------------------------------------------------------------------------ + source hp-help.tcl +} diff --git a/GUI/PWgui/modules/ph/ph-help.tcl b/GUI/PWgui/modules/ph/ph-help.tcl index 1d0d87da33..71f58422c0 100644 --- a/GUI/PWgui/modules/ph/ph-help.tcl +++ b/GUI/PWgui/modules/ph/ph-help.tcl @@ -248,9 +248,9 @@ help fildrho -helpfmt helpdoc -helptext {
     File where the charge density responses are written. Note that the file
    -                  will actually be saved as ${outdir}/_ph0/${prefix}.${fildrho}1
    -                  where  ${outdir}, ${prefix} and ${fildrho} are the values of the
    -                  corresponding input variables
    +will actually be saved as ${outdir}/_ph0/${prefix}.${fildrho}1
    +where  ${outdir}, ${prefix} and ${fildrho} are the values of the
    +corresponding input variables
              
    @@ -291,6 +291,10 @@ If .true. in a q=0 calculation for a non metal the macroscopic dielectric constant of the system is computed. Do not set "epsil" to .true. if you have a metallic system or q/=0: the code will complain and stop. + +Note: the input value of "epsil" will be ignored if "ldisp"=.true. +(the code will automatically set "epsil" to .false. for metals, +to .true. for insulators: see routine PHonon/PH/prepare_q.f90).
    diff --git a/GUI/PWgui/modules/pw/pw-event.tcl b/GUI/PWgui/modules/pw/pw-event.tcl index e8b67ab431..ce2549ca2a 100644 --- a/GUI/PWgui/modules/pw/pw-event.tcl +++ b/GUI/PWgui/modules/pw/pw-event.tcl @@ -560,7 +560,7 @@ tracevar ion_velocities w { # ------------------------------------------------------------------------ postprocess { varset calculation -value 'scf' - varset gate -value {} + varset gate -value {} varset ibrav -value {} varset how_lattice -value celldm varset nspin -value {} diff --git a/GUI/PWgui/modules/pw/pw-help.tcl b/GUI/PWgui/modules/pw/pw-help.tcl index aa5b267563..a083c9663e 100644 --- a/GUI/PWgui/modules/pw/pw-help.tcl +++ b/GUI/PWgui/modules/pw/pw-help.tcl @@ -144,8 +144,8 @@ an interrupted calculation. Do not use to start a new one, or to perform a non-scf calculations. Works only if the calculation was cleanly stopped using variable "max_seconds", or by user request with an "exit file" (i.e.: create a file "prefix".EXIT, in directory -"outdir"; see variables "prefix", "outdir"). Overrides "startingwfc" -and "startingpot". +"outdir"; see variables "prefix", "outdir"). The default for +"startingwfc" and "startingpot" is set to 'file'. @@ -170,7 +170,7 @@ This flag controls the way wavefunctions are stored to disk : .TRUE. collect wavefunctions from all processors, store them into the output data directory "outdir"/"prefix".save The resulting format is portable to a different number - of processor, or different kind of parallelization + of processors, or different kind of parallelization .FALSE. OBSOLETE - NO LONGER IMPLEMENTED do not collect wavefunctions, leave them in temporary @@ -456,7 +456,9 @@ optimization step are not controlled by this option ) save charge to disk at each SCF step, keep wavefunctions on disk (in "distributed" format), save mixing data as well. -Do not use this option unless you have a good reason to +Do not use this option unless you have a good reason! +It is no longer needed to specify 'high' in order to be able +to restart from an interrupted calculation (see "restart_mode")
    @@ -492,10 +494,7 @@ do not save anything to disk
     Default is 'low' for the scf case, 'medium' otherwise.
    -Note that the needed RAM increases as disk I/O decreases!
    -It is no longer needed to specify 'high' in order to be able
    -to restart from an interrupted calculation (see "restart_mode")
    -but you cannot restart in "disk_io"=='nowf' or 'none'
    +Note that the needed RAM increases as disk I/O decreases
                 
    @@ -1080,31 +1079,36 @@ help starting_magnetization -helpfmt helpdoc -helptext {
  •  Variables: starting_magnetization(i), i=1,ntyp

  •  Type: REAL
  • +
  •  Default: 0 +

  •  Description:
  •  Starting spin polarization on atomic type 'i' in a spin
    -polarized calculation. Values range between -1 (all spins
    -down for the valence electrons of atom type 'i') to 1
    -(all spins up). Breaks the symmetry and provides a starting
    -point for self-consistency. The default value is zero, BUT a
    -value MUST be specified for AT LEAST one atomic type in spin
    -polarized calculations, unless you constrain the magnetization
    -(see "tot_magnetization" and "constrained_magnetization").
    -Note that if you start from zero initial magnetization, you
    -will invariably end up in a nonmagnetic (zero magnetization)
    -state. If you want to start from an antiferromagnetic state,
    -you may need to define two different atomic species
    -corresponding to sublattices of the same atomic type.
    -starting_magnetization is ignored if you are performing a
    -non-scf calculation, if you are restarting from a previous
    -run, or restarting from an interrupted run.
    -If you fix the magnetization with "tot_magnetization",
    -you should not specify starting_magnetization.
    -In the spin-orbit case starting with zero
    +polarized (LSDA or noncollinear/spin-orbit) calculation.
    +Allowed values range between -1 (all spins down for the
    +valence electrons of atom type 'i') to 1 (all spins up).
    +If you expect a nonzero magnetization in your ground state,
    +you MUST either specify a nonzero value for at least one
    +atomic type, or constrain the magnetization using variable
    +"tot_magnetization" for LSDA, "constrained_magnetization"
    +for noncollinear/spin-orbit calculations. If you don't,
    +you will get a nonmagnetic (zero magnetization) state.
    +In order to perform LSDA calculations for an antiferromagnetic
    +state, define two different atomic species corresponding to
    +sublattices of the same atomic type.
    +
    +NOTE 1: "starting_magnetization" is ignored in most BUT NOT ALL
    +cases in non-scf calculations: it is safe to keep the same
    +values for the scf and subsequent non-scf calculation.
    +
    +NOTE 2: If you fix the magnetization with
    +"tot_magnetization", do not specify "starting_magnetization".
    +
    +NOTE 3: In the noncollinear/spin-orbit case, starting with zero
     starting_magnetization on all atoms imposes time reversal
    -symmetry. The magnetization is never calculated and
    -kept zero (the internal variable domag is .FALSE.).
    +symmetry. The magnetization is never calculated and is
    +set to zero (the internal variable domag is set to .FALSE.).
              
    @@ -1907,13 +1911,14 @@ is not configured there.
  •  Description:
  • -Specify "lda_plus_u" = .TRUE. to enable DFT+U calculations
    +Specify "lda_plus_u" = .TRUE. to enable DFT+U, DFT+U+V, or DFT+U+J calculations.
     See: Anisimov, Zaanen, and Andersen, "PRB 44, 943 (1991)";
          Anisimov et al., "PRB 48, 16929 (1993)";
          Liechtenstein, Anisimov, and Zaanen, "PRB 52, R5467 (1994)".
    -You must specify, for each species with a U term, the value of
    -U and (optionally) alpha, J of the Hubbard model (all in eV):
    -see "lda_plus_u_kind", "Hubbard_U", "Hubbard_alpha", "Hubbard_J"
    +You must specify, for each Hubbard atom, the value of
    +U and (optionally) V, J, alpha of the Hubbard model (all in eV):
    +see "lda_plus_u_kind", "Hubbard_U", "Hubbard_V",
    +"Hubbard_J", "Hubbard_alpha"
              
    @@ -1930,18 +1935,32 @@ help lda_plus_u_kind -helpfmt helpdoc -helptext {
  •  Description:
  • -
    -Specifies the type of calculation:
    -
    -   0   DFT+U simplified version of Cococcioni and de Gironcoli,
    -       "PRB 71, 035105 (2005)", using "Hubbard_U"
    -
    -   1   DFT+U rotationally invariant scheme of Liechtenstein et al.,
    -       using "Hubbard_U" and "Hubbard_J"
    -
    -   2   DFT+U+V simplified version of Campo Jr and Cococcioni,
    -       J. Phys.: Condens. Matter 22, 055602 (2010), using "Hubbard_V"
    -         
    +
    +
     Specifies the type of calculation:
    +            
    +
    +
    0 :
    +
    +DFT+U simplified version of Cococcioni and de Gironcoli,
    +"PRB 71, 035105 (2005)", using "Hubbard_U"
    +            
    +
    +
    +
    1 :
    +
    +DFT+U rotationally invariant scheme of Liechtenstein et al.,
    +using "Hubbard_U" and "Hubbard_J"
    +            
    +
    +
    +
    2 :
    +
    +DFT+U+V simplified version of Campo Jr and Cococcioni,
    +J. Phys.: Condens. Matter 22, 055602 (2010), "doi:10.1088/0953-8984/22/5/055602",
    +using "Hubbard_V"
    +            
    +
    +
    } @@ -1996,9 +2015,14 @@ help Hubbard_alpha -helpfmt helpdoc -helptext {
     Hubbard_alpha(i) is the perturbation (on atom i, in eV)
    -used to compute U with the linear-response method of
    +used to compute U (and V) with the linear-response method of
     Cococcioni and de Gironcoli, "PRB 71, 035105 (2005)"
    -(only for "lda_plus_u_kind"=0)
    +(only for "lda_plus_u_kind"=0 and 2).
    +
    +Note: Hubbard U and V can be computed using the HP code
    +which is based on density-functional perturbation theory,
    +and it gives exactly the same result as the method of
    +Cococcioni and de Gironcoli.
              
    @@ -2019,7 +2043,7 @@ help Hubbard_beta -helpfmt helpdoc -helptext { Hubbard_beta(i) is the perturbation (on atom i, in eV) used to compute J0 with the linear-response method of Cococcioni and de Gironcoli, "PRB 71, 035105 (2005)" -(only for "lda_plus_u_kind"=0). See also +(only for "lda_plus_u_kind"=0 and 2). See also "PRB 84, 115108 (2011)". @@ -2346,8 +2370,8 @@ LAMBDA * SUM_{i,itype} ( magnetic_moment(i,itype) - mcons(i,itype) )**2 where i runs over the cartesian components (or just z in the collinear case) and itype over the types (1-ntype). mcons(:,:) array is defined from starting_magnetization, -(and angle1, angle2 in the non-collinear case). lambda is -a real number +(also from angle1, angle2 in the noncollinear case). +lambda is a real number
    @@ -3088,7 +3112,7 @@ help uniqueb -helpfmt helpdoc -helptext { Used only for monoclinic lattices. If .TRUE. the b unique ibrav (-12 or -13) are used, and symmetry equivalent positions are chosen assuming that the -two fold axis or the mirror normal is parallel to the +twofold axis or the mirror normal is parallel to the b axis. If .FALSE. it is parallel to the c axis. diff --git a/GUI/PWgui/modules/pw/pw.tcl b/GUI/PWgui/modules/pw/pw.tcl index 3e50b2873f..68c94754ad 100644 --- a/GUI/PWgui/modules/pw/pw.tcl +++ b/GUI/PWgui/modules/pw/pw.tcl @@ -667,12 +667,13 @@ module PW -title "PWSCF GUI: module PW.x" -script { group hubbard -decor none { var lda_plus_u_kind { - -label "type of LDA + U calculation (lda_plus_u_kind):" + -label "Type of LDA + U calculation (lda_plus_u_kind):" -textvalue { "simplified version of Cococcioni and de Gironcoli" "rotationally invariant scheme of Liechtenstein et al." + "DFT+U+V simplified version of Campo Jr and Cococcioni" } - -value {0 1} + -value {0 1 2} -widget radiobox } diff --git a/GUI/PWgui/src/modutil.itcl b/GUI/PWgui/src/modutil.itcl index 7f6bd22ba5..cc8bfcda41 100644 --- a/GUI/PWgui/src/modutil.itcl +++ b/GUI/PWgui/src/modutil.itcl @@ -159,6 +159,27 @@ proc ::pwscf::readFilter::purifyCardLine {cardLine} { } +proc ::pwscf::readFilter::ntypIndex {line varList {maxIndex 0}} { + # PURPOSE + # search for the largest index of var()-dimension in $line and + # return the largest index found, where "var" is a collection of + # variables specified by $varList; $line is a line of input + + foreach var $varList { + foreach field [split $line =] { + set pattern [subst -nocommands -nobackslashes {${var}\([0-9]+\)}] + if { [regexp -nocase \ + [subst -nocommands -nobackslashes {${var}\([0-9]+\)}] \ + $field matchVar] } { + regexp {[0-9]+} $matchVar index + if { $index > $maxIndex } { + set maxIndex $index + } + } + } + } + return $maxIndex +} proc ::pwscf::readFilter::amassIndex {line {maxIndex 0}} { # PURPOSE # search for the largest index of amass()-dimension in $line and @@ -186,7 +207,11 @@ proc ::pwscf::readFilter::default {moduleObj channel {filterMode logical} {replL # Variable: filterMode # Description: # mode=amass search for largest amass(*) index and assign the - # ntyp variables + # ntyp variable + # + # + # mode={ntyp varList} search for largest index in the list of + # variables specified by var(*) and assign the ntyp variable # # mode=logical repleace all possible values of Fortran logical # variables with .true. or .false. @@ -201,12 +226,21 @@ proc ::pwscf::readFilter::default {moduleObj channel {filterMode logical} {replL # Description: replList are double list of the form # { {replaceFromList1 replaceToItem1} {replaceFromList2 replaceToItem2} ... } # - set amass 0 - set logical 0 + set amass 0 + set logical 0 set verbosity 0 - if { [string match "*amass*" $filterMode] } { set amass 1 } - if { [string match "*logical*" $filterMode] } { set logical 1 } + set ntyp 0 + if { [string match "*amass*" $filterMode] } { set amass 1 } + if { [string match "*logical*" $filterMode] } { set logical 1 } if { [string match "*verbosity*" $filterMode] } { set verbosity 1 } + if { [string match "*ntyp*" $filterMode] } { + foreach mode $filterMode { + if { [lindex $mode 0] == "ntyp" } { + set ntyp 1 + set varList [lindex $mode 1] + } + } + } set maxIndex 0 set output {} @@ -215,6 +249,9 @@ proc ::pwscf::readFilter::default {moduleObj channel {filterMode logical} {replL if { $amass } { set maxIndex [amassIndex $_line $maxIndex] } + if { $ntyp } { + set maxIndex [ntypIndex $_line $varList $maxIndex] + } if { $logical } { set _line [logicalFlag $_line] } @@ -233,7 +270,8 @@ proc ::pwscf::readFilter::default {moduleObj channel {filterMode logical} {replL } append output $_line\n } - if { $maxIndex > 0 && $amass } { + + if { $maxIndex > 0 && ( $amass || $ntyp ) } { $moduleObj varset ntyp -value $maxIndex } # close the old channel diff --git a/GUI/PWgui/src/pwscf.itcl b/GUI/PWgui/src/pwscf.itcl index 42875a8684..f8451830d9 100644 --- a/GUI/PWgui/src/pwscf.itcl +++ b/GUI/PWgui/src/pwscf.itcl @@ -74,27 +74,32 @@ $gui addModule module neb "NEB.X's neb.dat" [file join $env(PWGUI) modules neb n } $gui addModule module ph "PH.X" [file join $env(PWGUI) modules ph ph.tcl] { - {{PH.X Input Files} {*.ph.in *.ph.inp}} + {{PH.X Input Files} {*.ph.in *.ph.inp *.in *.inp}} } $gui addModule module pp "PP.X" [file join $env(PWGUI) modules pp pp.tcl] { - {{PP.X Input Files} {*.pp.in *.pp.inp}} + {{PP.X Input Files} {*.pp.in *.pp.inp *.in *.inp}} } $gui addModule module pr "ProjWFC.X" [file join $env(PWGUI) modules projwfc projwfc.tcl] { - {{ProjWFC.X Input Files} {*.pr.in *.pr.inp}} + {{ProjWFC.X Input Files} {*.pr.in *.pr.inp *.in *.inp}} } $gui addModule module bands "Bands.X" [file join $env(PWGUI) modules bands bands.tcl] { - {{Bands.X Input Files} {*.bands.in *.bands.inp}} + {{Bands.X Input Files} {*.bands.in *.bands.inp *.in *.inp}} } $gui addModule module dos "Dos.X" [file join $env(PWGUI) modules dos dos.tcl] { - {{Dos.X Input Files} {*.dos.in *.dos.inp}} + {{Dos.X Input Files} {*.dos.in *.dos.inp *.in *.inp}} } #$gui addModule module d3 "D3.X" [file join $env(PWGUI) modules d3 d3.tcl] { -# {{D3.X Input Files} {*.d3.in *.d3.inp}} +# {{D3.X Input Files} {*.d3.in *.d3.inp *.in *.inp}} #} $gui addModule module ld "LD1.X" [file join $env(PWGUI) modules atomic atomic.tcl] { - {{LD1.X Input Files} {*.ld1.in *.ld1.inp}} + {{LD1.X Input Files} {*.ld1.in *.ld1.inp *.in *.inp}} } +$gui addModule module hp "HP.X" [file join $env(PWGUI) modules hp hp.tcl] { + {{HP.X Input Files} {*.hp.in *.hp.inp *.in *.inp}} +} + + #$gui addModule cascade pwscf "PWscf files ..." { # $gui addModule command ... # ... @@ -124,6 +129,7 @@ $gui addHelp help bands "Bands.X Input Syntax" [file join $env(PWGUI) doc p $gui addHelp help dos "Dos.X Input Syntax" [file join $env(PWGUI) doc pwdocs INPUT_DOS.html] none #$gui addHelp help d3 "D3.X Input Syntax" [file join $env(PWGUI) doc pwdocs INPUT_D3.html] none $gui addHelp help ld "LD1.X Input Syntax" [file join $env(PWGUI) doc pwdocs INPUT_LD1.html] none +$gui addHelp help hp "HP.X Input Syntax" [file join $env(PWGUI) doc pwdocs INPUT_HP.html] none $gui addHelp separator diff --git a/GUI/PWgui/src/tclIndex b/GUI/PWgui/src/tclIndex index e5ea5db391..c086145d8a 100644 --- a/GUI/PWgui/src/tclIndex +++ b/GUI/PWgui/src/tclIndex @@ -7,16 +7,6 @@ # a script that loads the command. set auto_index(::pwscf::_uniqueTabname) [list source [file join $dir auxil.itcl]] -set auto_index(::pwscf::view::inputByPager) [list source [file join $dir view.itcl]] -set auto_index(::pwscf::view::structByXcrysden) [list source [file join $dir view.itcl]] -set auto_index(::pwscf::view::defaultPager) [list source [file join $dir view.itcl]] -set auto_index(::pwscf::settings) [list source [file join $dir settings.itcl]] -set auto_index(::pwscf::_settingsOK) [list source [file join $dir settings.itcl]] -set auto_index(::pwscf::_settingsApply) [list source [file join $dir settings.itcl]] -set auto_index(::pwscf::_settingsSave) [list source [file join $dir settings.itcl]] -set auto_index(::pwscf::_settingsSave_Unix) [list source [file join $dir settings.itcl]] -set auto_index(::pwscf::_settingsSaveToFile) [list source [file join $dir settings.itcl]] -set auto_index(::pwscf::_settingsModule) [list source [file join $dir settings.itcl]] set auto_index(::pwscf::edit::inputByEditor) [list source [file join $dir edit.itcl]] set auto_index(::pwscf::edit::defaultEditor) [list source [file join $dir edit.itcl]] set auto_index(::pwscf::edit::_defaultEditorCancel) [list source [file join $dir edit.itcl]] @@ -24,32 +14,43 @@ set auto_index(::pwscf::edit::_defaultEditorClose) [list source [file join $dir set auto_index(::pwscf::edit::_defaultEditorDone) [list source [file join $dir edit.itcl]] set auto_index(::pwscf::edit::_defaultEditorSave) [list source [file join $dir edit.itcl]] set auto_index(::pwscf::edit::_defaultEditorSaveAs) [list source [file join $dir edit.itcl]] -set auto_index(::pwscf::run::run) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::runAs) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::runAndXC) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::runAsAndXC) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::defaultStdOutPager) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::_init) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::getProg) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::_configureModule) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::_configApply) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::_cancel) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::_mkdirOutdir) [list source [file join $dir run.itcl]] -set auto_index(::pwscf::run::_displayXC) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::init) [list source [file join $dir init.itcl]] +set auto_index(::pwscf::checkCmd) [list source [file join $dir init.itcl]] set auto_index(::pwscf::menustate::editable) [list source [file join $dir menustate.itcl]] set auto_index(::pwscf::menustate::xcrysden) [list source [file join $dir menustate.itcl]] set auto_index(::pwscf::menustate::runnable) [list source [file join $dir menustate.itcl]] set auto_index(::pwscf::menustate::runnableXC) [list source [file join $dir menustate.itcl]] -set auto_index(::pwscf::init) [list source [file join $dir init.itcl]] -set auto_index(::pwscf::checkCmd) [list source [file join $dir init.itcl]] set auto_index(::pwscf::readFilter::replaceFlag) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::readFilter::replaceVarFlag) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::readFilter::logicalFlag) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::readFilter::verbosityFlag) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::readFilter::purifyCardLine) [list source [file join $dir modutil.itcl]] +set auto_index(::pwscf::readFilter::ntypIndex) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::readFilter::amassIndex) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::readFilter::default) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::readFilter::findNamelists) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::readFilter::findCards) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::readFilter::findNamelistsAndCards) [list source [file join $dir modutil.itcl]] set auto_index(::pwscf::selectFileRoot) [list source [file join $dir modutil.itcl]] +set auto_index(::pwscf::run::run) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::runAs) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::runAndXC) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::runAsAndXC) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::defaultStdOutPager) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::_init) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::getProg) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::_configureModule) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::_configApply) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::_cancel) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::_mkdirOutdir) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::run::_displayXC) [list source [file join $dir run.itcl]] +set auto_index(::pwscf::settings) [list source [file join $dir settings.itcl]] +set auto_index(::pwscf::_settingsOK) [list source [file join $dir settings.itcl]] +set auto_index(::pwscf::_settingsApply) [list source [file join $dir settings.itcl]] +set auto_index(::pwscf::_settingsSave) [list source [file join $dir settings.itcl]] +set auto_index(::pwscf::_settingsSave_Unix) [list source [file join $dir settings.itcl]] +set auto_index(::pwscf::_settingsSaveToFile) [list source [file join $dir settings.itcl]] +set auto_index(::pwscf::_settingsModule) [list source [file join $dir settings.itcl]] +set auto_index(::pwscf::view::inputByPager) [list source [file join $dir view.itcl]] +set auto_index(::pwscf::view::structByXcrysden) [list source [file join $dir view.itcl]] +set auto_index(::pwscf::view::defaultPager) [list source [file join $dir view.itcl]] diff --git a/GUI/QE-modes/Doc/Makefile b/GUI/QE-modes/Doc/Makefile index fc4a71feb5..950ea91300 100644 --- a/GUI/QE-modes/Doc/Makefile +++ b/GUI/QE-modes/Doc/Makefile @@ -1,7 +1,7 @@ LATEX = pdflatex LATEX2HTML = latex2html -VERSION = 6.6 +VERSION = 6.7 PDFS = user_guide.pdf AUXS = $(PDFS:.pdf=.aux) diff --git a/GUI/QE-modes/Doc/user_guide.pdf b/GUI/QE-modes/Doc/user_guide.pdf index ca2fa1d446..17ceb755f0 100644 Binary files a/GUI/QE-modes/Doc/user_guide.pdf and b/GUI/QE-modes/Doc/user_guide.pdf differ diff --git a/GUI/QE-modes/Doc/user_guide.tex b/GUI/QE-modes/Doc/user_guide.tex index abd6903ae5..31375c1805 100644 --- a/GUI/QE-modes/Doc/user_guide.tex +++ b/GUI/QE-modes/Doc/user_guide.tex @@ -52,7 +52,7 @@ \author{} \date{} -\def\qeImage{../../../Doc/quantum_espresso.pdf} +\def\qeImage{../../../Doc/quantum_espresso.png} \title{ \includegraphics[width=5cm]{\qeImage} \\ diff --git a/GUI/QE-modes/Makefile b/GUI/QE-modes/Makefile index f3291a67b6..a0e829e629 100644 --- a/GUI/QE-modes/Makefile +++ b/GUI/QE-modes/Makefile @@ -1,5 +1,5 @@ TOPDIR = $(shell cd ../..; pwd) -VERSION = 6.6 +VERSION = 6.7 GEN_MODE = $(TOPDIR)/dev-tools/gen-emacs-mode LATEX = pdflatex diff --git a/HP/Doc/INPUT_HP.def b/HP/Doc/INPUT_HP.def index 9651ef2501..622b41d8b8 100644 --- a/HP/Doc/INPUT_HP.def +++ b/HP/Doc/INPUT_HP.def @@ -114,46 +114,47 @@ input_description -distribution {Quantum Espresso} -package PWscf -program hp.x info { Threshold for a comparison of unperturbed occupations which is needed for the selection of atoms which must - be perturbed. Can be used only when find_atpert = 1. + be perturbed. Can be used only when @ref find_atpert = 1. } } - var skip_type -type LOGICAL { - default { .false. } + dimension skip_type -start 1 -end ntyp -type LOGICAL { + default { skip_type(i) = .false. } see { equiv_type } info { - skip_type(i), where i runs over types of atoms. - If skip_type(i)=.true. then no linear-response + @ref skip_type(i), where i runs over types of atoms. + If @ref skip_type(i)=.true. then no linear-response calculation will be performed for the i-th atomic type: - in this case equiv_type(i) must be specified, otherwise + in this case @ref equiv_type(i) must be specified, otherwise the HP code will stop. This option is useful if the system has atoms of the same type but opposite spin pollarizations (anti-ferromagnetic case). - This keyword cannot be used when find_atpert = 1. + This keyword cannot be used when @ref find_atpert = 1. } } - var equiv_type -type INTEGER { - default { 0 } + dimension equiv_type -start 1 -end ntyp -type INTEGER { + default { equiv_type(i) = 0 } see { skip_type } info { - equiv_type(i), where i runs over types of atoms. - equiv_type(i)=j, will make type i equivalent to type j + @ref equiv_type(i), where i runs over types of atoms. + @ref equiv_type(i)=j, will make type i equivalent 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 find_atpert = 1. + This keyword cannot be used when @ref find_atpert = 1. } } - var perturb_only_atom -type LOGICAL { - default { .false. } + dimension perturb_only_atom -start 1 -end ntyp -type LOGICAL { + default { perturb_only_atom(i) = .false. } see { compute_hp } info { - If perturb_only_atom(i)=.true. then only the i-th + If @ref perturb_only_atom(i)=.true. then only the i-th atom will be perturbed and considered in the run. This variable is useful when one wants to split - the whole calculation on parts. Note: this variable - has a higher priority than skip_type. + the whole calculation on parts. + + @b Note: this variable has a higher priority than @ref skip_type. } } @@ -161,8 +162,9 @@ input_description -distribution {Quantum Espresso} -package PWscf -program hp.x default { 1 } see { last_q, sum_pertq } info { - Computes only the q points from start_q to last_q. - IMPORTANT: start_q must be smaller or equal to + Computes only the q points from @ref start_q to @ref last_q. + + @b IMPORTANT: @ref start_q must be smaller or equal to the total number of q points found. } } @@ -171,8 +173,9 @@ input_description -distribution {Quantum Espresso} -package PWscf -program hp.x 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 smaller or equal to + Computes only the q points from @ref start_q to @ref last_q. + + @b IMPORTANT: @ref last_q must be smaller or equal to the total number of q points found. } } @@ -184,7 +187,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program hp.x If it is set to .true. then the HP code will collect 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. + @ref start_q, @ref last_q and @ref perturb_only_atom are used. } } @@ -199,7 +202,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program hp.x 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/. - compute_hp=.true. must be used only when the + @ref compute_hp=.true. must be used only when the calculation was parallelized over perturbations. } } @@ -247,7 +250,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program hp.x 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). + method. See: D.D. Johnson, PRB 38, 12807 (1988). } } @@ -255,7 +258,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program hp.x default { 4 } info { Number of iterations used in potential mixing - using the modified Broyden method + using the modified Broyden method. See: D.D. Johnson, PRB 38, 12807 (1988). } } @@ -277,13 +280,13 @@ input_description -distribution {Quantum Espresso} -package PWscf -program hp.x Minimum value of the orbital quantum number of the Hubbard atoms starting from which (and up to the maximum l in the system) Hubbard V will be written to the file parameters.out. - lmin refers to the orbital quantum number of the atom + @ref lmin refers to the orbital quantum number of the atom corresponding to the first site-index in Hubbard_V(:,:,:). This keyword is used only when lda_plus_u_kind = 2 and only - in the post-processing stage. Example: lmin=1 corresponds to + in the post-processing stage. Example: @ref lmin=1 corresponds to writing to file V between e.g. oxygen (with p states) and its neighbors, and including V between transition metals (with d - states) and their neighbors. Instead, when lmin=2 only the + states) and their neighbors. Instead, when @ref lmin=2 only the latter will be written to parameters.out. } } diff --git a/HP/Doc/INPUT_HP.html b/HP/Doc/INPUT_HP.html index a22731c2e1..28a60ee292 100644 --- a/HP/Doc/INPUT_HP.html +++ b/HP/Doc/INPUT_HP.html @@ -46,7 +46,7 @@

    Input File Description

    Program: - hp.x / PWscf / Quantum Espresso (version: 6.6) + hp.x / PWscf / Quantum Espresso (version: 6.7)

    @@ -58,7 +58,7 @@

    TABLE OF CONTENTS

    INTRODUCTION

    &INPUTHP

    -prefix | outdir | iverbosity | max_seconds | nq1 | nq2 | nq3 | skip_equivalence_q | determine_num_pert_only | find_atpert | docc_thr | skip_type | equiv_type | perturb_only_atom | start_q | last_q | sum_pertq | compute_hp | conv_thr_chi | thresh_init | ethr_nscf | niter_max | alpha_mix(i) | nmix | num_neigh | lmin | rmax +prefix | outdir | iverbosity | max_seconds | nq1 | nq2 | nq3 | skip_equivalence_q | determine_num_pert_only | find_atpert | docc_thr | skip_type | equiv_type | perturb_only_atom | start_q | last_q | sum_pertq | compute_hp | conv_thr_chi | thresh_init | ethr_nscf | niter_max | alpha_mix(i) | nmix | num_neigh | lmin | rmax
    @@ -204,7 +204,8 @@

    TABLE OF CONTENTS

     If .true. determines the number of perturbations
     (i.e. which atoms will be perturbed) and exits smoothly
    -without performing any calculation.
    +without performing any calculation. For DFT+U+V, it also
    +determines the indices of inter-site couples.
              
    [Back to Top]
    @@ -248,18 +249,18 @@

    TABLE OF CONTENTS

     Threshold for a comparison of unperturbed occupations
     which is needed for the selection of atoms which must
    -be perturbed. Can be used only when find_atpert = 1.
    +be perturbed. Can be used only when find_atpert = 1.
              
    [Back to Top]
    - +
    - + - @@ -267,25 +268,25 @@

    TABLE OF CONTENTS

    skip_typeskip_type(i), i=1,ntyp LOGICAL
    Default: .false. + skip_type(i) = .false.
    equiv_type
    -skip_type(i), where i runs over types of atoms.
    -If skip_type(i)=.true. then no linear-response
    +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 equiv_type(i) must be specified, otherwise
    +in this case equiv_type(i) must be specified, otherwise
     the HP code will stop. This option is useful if the
     system has atoms of the same type but opposite spin
     pollarizations (anti-ferromagnetic case).
    -This keyword cannot be used when find_atpert = 1.
    +This keyword cannot be used when find_atpert = 1.
              
    [Back to Top]
    - +
    - + - @@ -293,22 +294,22 @@

    TABLE OF CONTENTS

    equiv_typeequiv_type(i), i=1,ntyp INTEGER
    Default: 0 + equiv_type(i) = 0
    skip_type
    -equiv_type(i), where i runs over types of atoms.
    -equiv_type(i)=j, will make type i equivalent to type j
    +equiv_type(i), where i runs over types of atoms.
    +equiv_type(i)=j, will make type i equivalent 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 find_atpert = 1.
    +This keyword cannot be used when find_atpert = 1.
              
    [Back to Top]
    - +
    - + - @@ -316,15 +317,16 @@

    TABLE OF CONTENTS

    perturb_only_atomperturb_only_atom(i), i=1,ntyp LOGICAL
    Default: .false. + perturb_only_atom(i) = .false.
    compute_hp
    -If perturb_only_atom(i)=.true. then only the i-th
    +If perturb_only_atom(i)=.true. then only the i-th
     atom will be perturbed and considered in the run.
     This variable is useful when one wants to split
    -the whole calculation on parts. Note: this variable
    -has a higher priority than skip_type.
    +the whole calculation on parts.
    +
    +Note: this variable has a higher priority than skip_type.
              
    [Back to Top]
    - +
    @@ -341,13 +343,14 @@

    TABLE OF CONTENTS

    start_q INTEGER
    -Computes only the q points from start_q to last_q.
    -IMPORTANT: start_q must be smaller or equal to
    +Computes only the q points from start_q to last_q.
    +
    +IMPORTANT: start_q must be smaller or equal to
     the total number of q points found.
              
    [Back to Top]
    - +
    @@ -364,13 +367,14 @@

    TABLE OF CONTENTS

    last_q INTEGER
    -Computes only the q points from start_q to last_q.
    -IMPORTANT: last_q must be smaller or equal to
    +Computes only the q points from start_q to last_q.
    +
    +IMPORTANT: last_q must be smaller or equal to
     the total number of q points found.
              
    [Back to Top]
    - +
    @@ -390,11 +394,11 @@

    TABLE OF CONTENTS

    If it is set to .true. then the HP code will collect 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. +start_q, last_q and perturb_only_atom are used.
    sum_pertq LOGICAL
    [Back to Top]
    - +
    @@ -416,12 +420,12 @@

    TABLE OF CONTENTS

    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/. -compute_hp=.true. must be used only when the +compute_hp=.true. must be used only when the calculation was parallelized over perturbations.
    compute_hp LOGICAL
    [Back to Top]
    - +
    @@ -438,7 +442,7 @@

    TABLE OF CONTENTS

    conv_thr_chi REAL
    [Back to Top]
    - +
    @@ -457,7 +461,7 @@

    TABLE OF CONTENTS

    thresh_init REAL
    [Back to Top]
    - +
    @@ -475,7 +479,7 @@

    TABLE OF CONTENTS

    ethr_nscf REAL
    [Back to Top]
    - +
    @@ -491,7 +495,7 @@

    TABLE OF CONTENTS

    niter_max INTEGER
    [Back to Top]
    - +
    @@ -504,11 +508,11 @@

    TABLE OF CONTENTS

    alpha_mix(i) REAL
     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).
    +method. See: D.D. Johnson, PRB 38, 12807 (1988).
              
    [Back to Top]
    - +
    @@ -520,12 +524,12 @@

    TABLE OF CONTENTS

    nmix INTEGER
     Number of iterations used in potential mixing
    -using the modified Broyden method
    +using the modified Broyden method. See:
     D.D. Johnson, PRB 38, 12807 (1988).
              
    [Back to Top]
    - +
    @@ -544,7 +548,7 @@

    TABLE OF CONTENTS

    num_neigh INTEGER
    [Back to Top]
    - +
    @@ -558,18 +562,18 @@

    TABLE OF CONTENTS

    Minimum value of the orbital quantum number of the Hubbard atoms starting from which (and up to the maximum l in the system) Hubbard V will be written to the file parameters.out. -lmin refers to the orbital quantum number of the atom +lmin refers to the orbital quantum number of the atom corresponding to the first site-index in Hubbard_V(:,:,:). This keyword is used only when lda_plus_u_kind = 2 and only -in the post-processing stage. Example: lmin=1 corresponds to +in the post-processing stage. Example: lmin=1 corresponds to writing to file V between e.g. oxygen (with p states) and its neighbors, and including V between transition metals (with d -states) and their neighbors. Instead, when lmin=2 only the +states) and their neighbors. Instead, when lmin=2 only the latter will be written to parameters.out.
    lmin INTEGER
    [Back to Top]
    - +
    @@ -592,7 +596,7 @@

    TABLE OF CONTENTS

    rmax REAL
    - This file has been created by helpdoc utility on Fri Jul 17 10:28:25 CEST 2020. + This file has been created by helpdoc utility on Sun Nov 29 14:20:03 CET 2020. diff --git a/HP/Doc/INPUT_HP.txt b/HP/Doc/INPUT_HP.txt index b6b0631bbf..5227db4d22 100644 --- a/HP/Doc/INPUT_HP.txt +++ b/HP/Doc/INPUT_HP.txt @@ -3,7 +3,7 @@ ------------------------------------------------------------------------ INPUT FILE DESCRIPTION -Program: hp.x / PWscf / Quantum Espresso (version: 6.6) +Program: hp.x / PWscf / Quantum Espresso (version: 6.7) ------------------------------------------------------------------------ @@ -93,7 +93,8 @@ NAMELIST: &INPUTHP See: find_atpert Description: If .true. determines the number of perturbations (i.e. which atoms will be perturbed) and exits smoothly - without performing any calculation. + without performing any calculation. For DFT+U+V, it also + determines the indices of inter-site couples. +-------------------------------------------------------------------- +-------------------------------------------------------------------- @@ -123,49 +124,50 @@ NAMELIST: &INPUTHP Default: 5.D-5 Description: Threshold for a comparison of unperturbed occupations which is needed for the selection of atoms which must - be perturbed. Can be used only when find_atpert = 1. + be perturbed. Can be used only when "find_atpert" = 1. +-------------------------------------------------------------------- +-------------------------------------------------------------------- - Variable: skip_type + Variable: skip_type(i), i=1,ntyp Type: LOGICAL - Default: .false. + Default: skip_type(i) = .false. See: equiv_type - Description: skip_type(i), where i runs over types of atoms. - If skip_type(i)=.true. then no linear-response + Description: "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 equiv_type(i) must be specified, otherwise + in this case "equiv_type"(i) must be specified, otherwise the HP code will stop. This option is useful if the system has atoms of the same type but opposite spin pollarizations (anti-ferromagnetic case). - This keyword cannot be used when find_atpert = 1. + This keyword cannot be used when "find_atpert" = 1. +-------------------------------------------------------------------- +-------------------------------------------------------------------- - Variable: equiv_type + Variable: equiv_type(i), i=1,ntyp Type: INTEGER - Default: 0 + Default: equiv_type(i) = 0 See: skip_type - Description: equiv_type(i), where i runs over types of atoms. - equiv_type(i)=j, will make type i equivalent to type j + Description: "equiv_type"(i), where i runs over types of atoms. + "equiv_type"(i)=j, will make type i equivalent 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 find_atpert = 1. + This keyword cannot be used when "find_atpert" = 1. +-------------------------------------------------------------------- +-------------------------------------------------------------------- - Variable: perturb_only_atom + Variable: perturb_only_atom(i), i=1,ntyp Type: LOGICAL - Default: .false. + Default: perturb_only_atom(i) = .false. See: compute_hp - Description: If perturb_only_atom(i)=.true. then only the i-th + Description: If "perturb_only_atom"(i)=.true. then only the i-th atom will be perturbed and considered in the run. This variable is useful when one wants to split - the whole calculation on parts. Note: this variable - has a higher priority than skip_type. + the whole calculation on parts. + + Note: this variable has a higher priority than "skip_type". +-------------------------------------------------------------------- +-------------------------------------------------------------------- @@ -174,8 +176,9 @@ NAMELIST: &INPUTHP Type: INTEGER Default: 1 See: last_q, sum_pertq - Description: Computes only the q points from start_q to last_q. - IMPORTANT: start_q must be smaller or equal to + Description: Computes only the q points from "start_q" to "last_q". + + IMPORTANT: "start_q" must be smaller or equal to the total number of q points found. +-------------------------------------------------------------------- @@ -185,8 +188,9 @@ NAMELIST: &INPUTHP Type: INTEGER Default: number of q points See: start_q, sum_pertq - Description: Computes only the q points from start_q to last_q. - IMPORTANT: last_q must be smaller or equal to + Description: Computes only the q points from "start_q" to "last_q". + + IMPORTANT: "last_q" must be smaller or equal to the total number of q points found. +-------------------------------------------------------------------- @@ -199,7 +203,7 @@ NAMELIST: &INPUTHP Description: If it is set to .true. then the HP code will collect 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. + "start_q", "last_q" and "perturb_only_atom" are used. +-------------------------------------------------------------------- +-------------------------------------------------------------------- @@ -215,7 +219,7 @@ NAMELIST: &INPUTHP 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/. - compute_hp=.true. must be used only when the + "compute_hp"=.true. must be used only when the calculation was parallelized over perturbations. +-------------------------------------------------------------------- @@ -268,7 +272,7 @@ NAMELIST: &INPUTHP Default: alpha_mix(1)=0.3 Description: 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). + method. See: D.D. Johnson, PRB 38, 12807 (1988). +-------------------------------------------------------------------- +-------------------------------------------------------------------- @@ -277,7 +281,7 @@ NAMELIST: &INPUTHP Type: INTEGER Default: 4 Description: Number of iterations used in potential mixing - using the modified Broyden method + using the modified Broyden method. See: D.D. Johnson, PRB 38, 12807 (1988). +-------------------------------------------------------------------- @@ -301,13 +305,13 @@ NAMELIST: &INPUTHP Description: Minimum value of the orbital quantum number of the Hubbard atoms starting from which (and up to the maximum l in the system) Hubbard V will be written to the file parameters.out. - lmin refers to the orbital quantum number of the atom + "lmin" refers to the orbital quantum number of the atom corresponding to the first site-index in Hubbard_V(:,:,:). This keyword is used only when lda_plus_u_kind = 2 and only - in the post-processing stage. Example: lmin=1 corresponds to + in the post-processing stage. Example: "lmin"=1 corresponds to writing to file V between e.g. oxygen (with p states) and its neighbors, and including V between transition metals (with d - states) and their neighbors. Instead, when lmin=2 only the + states) and their neighbors. Instead, when "lmin"=2 only the latter will be written to parameters.out. +-------------------------------------------------------------------- @@ -325,4 +329,4 @@ NAMELIST: &INPUTHP ===END OF NAMELIST====================================================== -This file has been created by helpdoc utility on Fri Jul 17 10:28:25 CEST 2020 +This file has been created by helpdoc utility on Sun Nov 29 14:20:03 CET 2020 diff --git a/HP/Doc/INPUT_HP.xml b/HP/Doc/INPUT_HP.xml index 2cc95d1333..d665839c23 100644 --- a/HP/Doc/INPUT_HP.xml +++ b/HP/Doc/INPUT_HP.xml @@ -89,7 +89,8 @@ calculations only for inequivalent q points. If .true. determines the number of perturbations (i.e. which atoms will be perturbed) and exits smoothly -without performing any calculation. +without performing any calculation. For DFT+U+V, it also +determines the indices of inter-site couples. @@ -117,59 +118,61 @@ Method for searching of atoms which must be perturbed. Threshold for a comparison of unperturbed occupations which is needed for the selection of atoms which must -be perturbed. Can be used only when find_atpert = 1. +be perturbed. Can be used only when find_atpert = 1. - - .false. + + skip_type(i) = .false. equiv_type -skip_type(i), where i runs over types of atoms. -If skip_type(i)=.true. then no linear-response +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 equiv_type(i) must be specified, otherwise +in this case equiv_type(i) must be specified, otherwise the HP code will stop. This option is useful if the system has atoms of the same type but opposite spin pollarizations (anti-ferromagnetic case). -This keyword cannot be used when find_atpert = 1. +This keyword cannot be used when find_atpert = 1. - - - 0 + + + equiv_type(i) = 0 skip_type -equiv_type(i), where i runs over types of atoms. -equiv_type(i)=j, will make type i equivalent to type j +equiv_type(i), where i runs over types of atoms. +equiv_type(i)=j, will make type i equivalent 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 find_atpert = 1. +This keyword cannot be used when find_atpert = 1. - - - .false. + + + perturb_only_atom(i) = .false. compute_hp -If perturb_only_atom(i)=.true. then only the i-th +If perturb_only_atom(i)=.true. then only the i-th atom will be perturbed and considered in the run. This variable is useful when one wants to split -the whole calculation on parts. Note: this variable -has a higher priority than skip_type. +the whole calculation on parts. + +Note: this variable has a higher priority than skip_type. - + 1 last_q, sum_pertq -Computes only the q points from start_q to last_q. -IMPORTANT: start_q must be smaller or equal to +Computes only the q points from start_q to last_q. + +IMPORTANT: start_q must be smaller or equal to the total number of q points found. @@ -179,8 +182,9 @@ the total number of q points found. start_q, sum_pertq -Computes only the q points from start_q to last_q. -IMPORTANT: last_q must be smaller or equal to +Computes only the q points from start_q to last_q. + +IMPORTANT: last_q must be smaller or equal to the total number of q points found. @@ -193,7 +197,7 @@ the total number of q points found. If it is set to .true. then the HP code will collect 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. +start_q, last_q and perturb_only_atom are used. @@ -209,7 +213,7 @@ Hubbard parameters. The HP 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/. -compute_hp=.true. must be used only when the +compute_hp=.true. must be used only when the calculation was parallelized over perturbations. @@ -257,7 +261,7 @@ solution of the linear-response Kohn-Sham equations. 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). +method. See: D.D. Johnson, PRB 38, 12807 (1988). @@ -265,7 +269,7 @@ method: D.D. Johnson, PRB 38, 12807 (1988). @@ -287,13 +291,13 @@ when lda_plus_u_kind = 2 (post-processing stage). Minimum value of the orbital quantum number of the Hubbard atoms starting from which (and up to the maximum l in the system) Hubbard V will be written to the file parameters.out. -lmin refers to the orbital quantum number of the atom +lmin refers to the orbital quantum number of the atom corresponding to the first site-index in Hubbard_V(:,:,:). This keyword is used only when lda_plus_u_kind = 2 and only -in the post-processing stage. Example: lmin=1 corresponds to +in the post-processing stage. Example: lmin=1 corresponds to writing to file V between e.g. oxygen (with p states) and its neighbors, and including V between transition metals (with d -states) and their neighbors. Instead, when lmin=2 only the +states) and their neighbors. Instead, when lmin=2 only the latter will be written to parameters.out. diff --git a/HP/Doc/Makefile b/HP/Doc/Makefile index c55526aba1..d12e99cf71 100644 --- a/HP/Doc/Makefile +++ b/HP/Doc/Makefile @@ -1,4 +1,4 @@ -VERSION = 6.7 +VERSION := $(shell awk -F\' '/version_number/{print $$2}' ../../include/qe_version.h ) HELPDOC = ../../dev-tools/helpdoc -version $(VERSION) doc: all diff --git a/Modules/bfgs_module.f90 b/Modules/bfgs_module.f90 index 1e06247285..45c1fffad2 100644 --- a/Modules/bfgs_module.f90 +++ b/Modules/bfgs_module.f90 @@ -262,6 +262,12 @@ SUBROUTINE bfgs( pos_in, h, energy, grad_in, fcell, fixion, scratch, stdout,& IF ( .NOT. conv_bfgs .AND. ( tr_min_hit > 1 ) ) CALL infomsg( 'bfgs',& 'history already reset at previous step: stopping' ) conv_bfgs = conv_bfgs .OR. ( tr_min_hit > 1 ) + ! + WRITE(stdout, '(5X,"Energy error",T30,"= ",1PE12.1)') energy_error + WRITE(stdout, '(5X,"Gradient error",T30,"= ",1PE12.1)') grad_error + IF( lmovecell ) WRITE(stdout, & + '(5X,"Cell gradient error",T30,"= ",1PE12.1,/)') cell_error + ! IF ( conv_bfgs ) GOTO 1000 ! ! ... some output is written @@ -275,10 +281,6 @@ SUBROUTINE bfgs( pos_in, h, energy, grad_in, fcell, fixion, scratch, stdout,& WRITE( UNIT = stdout, & & FMT = '(5X,A," new",T30,"= ",F18.10," Ry",/)' ) fname,energy ! - WRITE(stdout, '(5X,"Gradient error",T30,"= ",1PE12.1)') grad_error - IF( lmovecell ) WRITE(stdout, & - '(5X,"Cell gradient error",T30,"= ",1PE12.1,/)') cell_error - ! ! ... the bfgs algorithm starts here ! IF ( .NOT. energy_wolfe_condition( energy ) .AND. (scf_iter > 1) ) THEN diff --git a/NEB/Doc/Makefile b/NEB/Doc/Makefile index aa591c9d2a..a2f936ecf0 100644 --- a/NEB/Doc/Makefile +++ b/NEB/Doc/Makefile @@ -1,4 +1,4 @@ -VERSION = 6.7 +VERSION := $(shell awk -F\' '/version_number/{print $$2}' ../../include/qe_version.h ) HELPDOC = ../../dev-tools/helpdoc -version $(VERSION) LATEX = pdflatex LATEX2HTML = latex2html diff --git a/PHonon/Doc/INPUT_PH.def b/PHonon/Doc/INPUT_PH.def index 6b7fb283c4..3d31c14c57 100644 --- a/PHonon/Doc/INPUT_PH.def +++ b/PHonon/Doc/INPUT_PH.def @@ -116,10 +116,12 @@ input_description -distribution {Quantum Espresso} -package PWscf -program ph.x var fildrho -type CHARACTER { default { ' ' } - info { File where the charge density responses are written. Note that the file - will actually be saved as ${outdir}/_ph0/${prefix}.${fildrho}1 - where ${outdir}, ${prefix} and ${fildrho} are the values of the - corresponding input variables } + info { + File where the charge density responses are written. Note that the file + will actually be saved as @b {${outdir}/_ph0/${prefix}.${fildrho}1} + where @b ${outdir}, @b ${prefix} and @b ${fildrho} are the values of the + corresponding input variables + } } var fildvscf -type CHARACTER { @@ -138,8 +140,9 @@ input_description -distribution {Quantum Espresso} -package PWscf -program ph.x macroscopic dielectric constant of the system is computed. Do not set @ref epsil to .true. if you have a metallic system or q/=0: the code will complain and stop. - Note: the input value of epsil will be ignored if ldisp=.true. - (the code will automatically set epsil to .false. for metals, + + Note: the input value of @ref epsil will be ignored if @ref ldisp=.true. + (the code will automatically set @ref epsil to .false. for metals, to .true. for insulators: see routine PHonon/PH/prepare_q.f90). } } @@ -792,11 +795,11 @@ is the number of the representation. These files contain the contribution to the dynamical matrix of the irr representation for the iq point. -If recover=.true. ph.x does not recalculate the +If @ref recover=.true. ph.x does not recalculate the representations already saved in the tmp_dir/_ph0/{prefix}.phsave directory. Moreover ph.x writes on the files patterns.#iq.xml in the tmp_dir/_ph0/{prefix}.phsave directory the displacement patterns that it -is using. If recover=.true. ph.x does not recalculate the +is using. If @ref recover=.true. ph.x does not recalculate the displacement patterns found in the tmp_dir/_ph0/{prefix}.phsave directory. This mechanism allows: diff --git a/PHonon/Doc/INPUT_PH.html b/PHonon/Doc/INPUT_PH.html index 9d89a86a26..c1e762e58b 100644 --- a/PHonon/Doc/INPUT_PH.html +++ b/PHonon/Doc/INPUT_PH.html @@ -46,7 +46,7 @@

    Input File Description

    Program: - ph.x / PWscf / Quantum Espresso (version: 6.6) + ph.x / PWscf / Quantum Espresso (version: 6.7)

    @@ -59,17 +59,17 @@

    TABLE OF CONTENTS

    Line-of-input: title_line

    &INPUTPH

    -amass | outdir | prefix | niter_ph | tr2_ph | alpha_mix(niter) | nmix_ph | verbosity | reduce_io | max_seconds | fildyn | fildrho | fildvscf | epsil | lrpa | lnoloc | trans | lraman | eth_rps | eth_ns | dek | recover | low_directory_check | only_init | qplot | q2d | q_in_band_form | electron_phonon | el_ph_nsigma | el_ph_sigma | ahc_dir | ahc_nbnd | ahc_nbndskip | skip_upperfan | lshift_q | zeu | zue | elop | fpol | ldisp | nogg | asr | ldiag | lqdir | search_sym | nq1 | nq2 | nq3 | nk1 | nk2 | nk3 | k1 | k2 | k3 | diagonalization | read_dns_bare | ldvscf_interpolate | wpot_dir | do_long_range | do_charge_neutral | start_irr | last_irr | nat_todo | modenum | start_q | last_q | dvscf_star | drho_star +amass | outdir | prefix | niter_ph | tr2_ph | alpha_mix(niter) | nmix_ph | verbosity | reduce_io | max_seconds | fildyn | fildrho | fildvscf | epsil | lrpa | lnoloc | trans | lraman | eth_rps | eth_ns | dek | recover | low_directory_check | only_init | qplot | q2d | q_in_band_form | electron_phonon | el_ph_nsigma | el_ph_sigma | ahc_dir | ahc_nbnd | ahc_nbndskip | skip_upperfan | lshift_q | zeu | zue | elop | fpol | ldisp | nogg | asr | ldiag | lqdir | search_sym | nq1 | nq2 | nq3 | nk1 | nk2 | nk3 | k1 | k2 | k3 | diagonalization | read_dns_bare | ldvscf_interpolate | wpot_dir | do_long_range | do_charge_neutral | start_irr | last_irr | nat_todo | modenum | start_q | last_q | dvscf_star | drho_star
    -

    Line-of-input: xq(1) xq(2) xq(3) +

    Line-of-input: xq(1) xq(2) xq(3)

    -

    qPointsSpecs

    +

    qPointsSpecs

    -nqs | xq1 | xq2 | xq3 | nq +nqs | xq1 | xq2 | xq3 | nq
    -

    Line-of-input: atom(1) atom(2) ... atom(nat_todo) +

    Line-of-input: atom(1) atom(2) ... atom(nat_todo)

    -

    ADDITIONAL INFORMATION

    +

    ADDITIONAL INFORMATION

    @@ -320,13 +320,13 @@

    Description of items:

     File where the charge density responses are written. Note that the file
    -                  will actually be saved as ${outdir}/_ph0/${prefix}.${fildrho}1
    -                  where  ${outdir}, ${prefix} and ${fildrho} are the values of the
    -                  corresponding input variables
    +will actually be saved as ${outdir}/_ph0/${prefix}.${fildrho}1
    +where  ${outdir}, ${prefix} and ${fildrho} are the values of the
    +corresponding input variables
              
    [Back to Top]
    - +
    @@ -342,7 +342,7 @@

    Description of items:

    fildvscf CHARACTER
    [Back to Top]
    - +
    @@ -357,13 +357,14 @@

    Description of items:

    macroscopic dielectric constant of the system is computed. Do not set epsil to .true. if you have a metallic system or q/=0: the code will complain and stop. -Note: the input value of epsil will be ignored if ldisp=.true. -(the code will automatically set epsil to .false. for metals, + +Note: the input value of epsil will be ignored if ldisp=.true. +(the code will automatically set epsil to .false. for metals, to .true. for insulators: see routine PHonon/PH/prepare_q.f90).
    epsil LOGICAL
    [Back to Top]
    - +
    @@ -379,7 +380,7 @@

    Description of items:

    lrpa LOGICAL
    [Back to Top]
    - +
    @@ -395,7 +396,7 @@

    Description of items:

    lnoloc LOGICAL
    [Back to Top]
    - +
    @@ -412,7 +413,7 @@

    Description of items:

    trans LOGICAL
    [Back to Top]
    - +
    @@ -432,7 +433,7 @@

    Description of items:

    lraman LOGICAL

    Optional variables for Raman:

    - +
    @@ -446,7 +447,7 @@

    Description of items:

    eth_rps REAL
    - +
    @@ -460,7 +461,7 @@

    Description of items:

    eth_ns REAL
    - +
    @@ -475,7 +476,7 @@

    Description of items:

    dek REAL
    - +
    @@ -489,7 +490,7 @@

    Description of items:

    recover LOGICAL
    [Back to Top]
    - +
    @@ -505,7 +506,7 @@

    Description of items:

    low_directory_check LOGICAL
    [Back to Top]
    - +
    @@ -521,7 +522,7 @@

    Description of items:

    only_init LOGICAL
    [Back to Top]
    - +
    @@ -535,7 +536,7 @@

    Description of items:

    qplot LOGICAL
    [Back to Top]
    - +
    @@ -554,7 +555,7 @@

    Description of items:

    q2d LOGICAL
    [Back to Top]
    - +
    @@ -574,7 +575,7 @@

    Description of items:

    q_in_band_form LOGICAL
    [Back to Top]
    - +
    @@ -654,7 +655,7 @@

    Description of items:

    electron_phonon CHARACTER
    [Back to Top]
    - +
    @@ -670,7 +671,7 @@

    Description of items:

    el_ph_nsigma INTEGER
    [Back to Top]
    - +
    @@ -689,7 +690,7 @@

    Description of items:

    el_ph_sigma REAL

    Variables for electron_phonon = 'ahc':

    - +
    @@ -704,7 +705,7 @@

    Description of items:

    ahc_dir CHARACTER
    - +
    @@ -719,7 +720,7 @@

    Description of items:

    ahc_nbnd INTEGER
    - +
    @@ -737,7 +738,7 @@

    Description of items:

    ahc_nbndskip INTEGER
    - +
    @@ -754,7 +755,7 @@

    Description of items:

    skip_upperfan LOGICAL
    - +
    @@ -771,7 +772,7 @@

    Description of items:

    lshift_q LOGICAL
    [Back to Top]
    - +
    @@ -789,7 +790,7 @@

    Description of items:

    zeu LOGICAL
    [Back to Top]
    - +
    @@ -808,7 +809,7 @@

    Description of items:

    zue LOGICAL
    [Back to Top]
    - +
    @@ -823,7 +824,7 @@

    Description of items:

    elop LOGICAL
    [Back to Top]
    - +
    @@ -840,7 +841,7 @@

    Description of items:

    fpol LOGICAL
    [Back to Top]
    - +
    @@ -857,7 +858,7 @@

    Description of items:

    ldisp LOGICAL
    [Back to Top]
    - +
    @@ -877,7 +878,7 @@

    Description of items:

    nogg LOGICAL
    [Back to Top]
    - +
    @@ -893,7 +894,7 @@

    Description of items:

    asr LOGICAL
    [Back to Top]
    - +
    @@ -914,7 +915,7 @@

    Description of items:

    ldiag LOGICAL
    [Back to Top]
    - +
    @@ -933,7 +934,7 @@

    Description of items:

    lqdir LOGICAL
    [Back to Top]
    - +
    @@ -952,7 +953,7 @@

    Description of items:

    search_sym LOGICAL
    +nq1, nq2, nq3 @@ -970,7 +971,7 @@

    Description of items:

    -nq1, nq2, nq3 INTEGER
    +nk1, nk2, nk3, k1, k2, k3 @@ -988,7 +989,7 @@

    Description of items:

    -nk1, nk2, nk3, k1, k2, k3 INTEGER
    [Back to Top]
    - +
    @@ -1020,7 +1021,7 @@

    Description of items:

    diagonalization CHARACTER
    [Back to Top]
    - +
    @@ -1043,7 +1044,7 @@

    Description of items:

    read_dns_bare LOGICAL
    [Back to Top]
    - +
    @@ -1064,7 +1065,7 @@

    Description of items:

    ldvscf_interpolate LOGICAL

    Optional variables for dvscf interpolation:

    - +
    @@ -1082,7 +1083,7 @@

    Description of items:

    wpot_dir CHARACTER
    - +
    @@ -1103,7 +1104,7 @@

    Description of items:

    do_long_range LOGICAL
    - +
    @@ -1123,7 +1124,7 @@

    Description of items:

    do_charge_neutral LOGICAL

    Specification of irreducible representation

    - +
    @@ -1148,7 +1149,7 @@

    Description of items:

    start_irr INTEGER
    - +
    @@ -1173,7 +1174,7 @@

    Description of items:

    last_irr INTEGER
    - +
    @@ -1198,7 +1199,7 @@

    Description of items:

    nat_todo INTEGER
    - +
    @@ -1224,7 +1225,7 @@

    Description of items:

    modenum INTEGER

    q-point specification

    - +
    @@ -1249,7 +1250,7 @@

    Description of items:

    start_q INTEGER
    - +
    @@ -1274,7 +1275,7 @@

    Description of items:

    last_q INTEGER
    - +
    @@ -1319,7 +1320,7 @@

    Description of items:

    dvscf_star STRUCTURE
    - +
    @@ -1356,7 +1357,7 @@

    Description of items:

    drho_star STRUCTURE
    IF ldisp != .true. and qplot != .true. :
    - +
    @@ -1364,13 +1365,13 @@

    Description of items:

    Line of input

    Syntax:

    - xq(1) xq(2) xq(3) + xq(1) xq(2) xq(3)   

    Description of items:

    - +
    @@ -1391,32 +1392,32 @@

    Description of items:

    ELSEIF qplot == .true. :
    xq(1) xq(2) xq(3)

    Specification of q points when qplot == .true.

    - +

    Card: qPointsSpecs

    Syntax:

    -nqs  
    +nqs  
    - - - - + + + + - - - - + + + + - - - - + + + +
     xq1(1)  xq2(1)  xq3(1)  nq(1)  xq1(1)  xq2(1)  xq3(1)  nq(1) 
     xq1(2)  xq2(2)  xq3(2)  nq(2)  xq1(2)  xq2(2)  xq3(2)  nq(2) 
     . . .
     xq1(nqs)  xq2(nqs)  xq3(nqs)  nq(nqs)  xq1(nqs)  xq2(nqs)  xq3(nqs)  nq(nqs) 
    @@ -1424,7 +1425,7 @@

    Syntax:

    Description of items:

    - +
    @@ -1437,7 +1438,7 @@

    Description of items:

    nqs INTEGER
    @@ -1451,7 +1452,7 @@

    Description of items:

    -xq1, xq2, xq3 +xq1, xq2, xq3 REAL
    - +
    nqnq INTEGER
    @@ -1468,7 +1469,7 @@ 

    Description of items:

    IF nat_todo was specified :
    - +
    @@ -1476,13 +1477,13 @@

    Description of items:

    Line of input

    Syntax:

    - atom(1) atom(2) ... atom(nat_todo) + atom(1) atom(2) ... atom(nat_todo)   

    Description of items:

    - +
    @@ -1501,7 +1502,7 @@

    Description of items:

    atom(1) atom(2) ... atom(nat_todo)
    -

    ADDITIONAL INFORMATION

    +

    ADDITIONAL INFORMATION

     NB: The program ph.x writes on the tmp_dir/_ph0/{prefix}.phsave directory
     a file for each representation of each q point. This file is called
    @@ -1510,11 +1511,11 @@ 

    Description of items:

    contribution to the dynamical matrix of the irr representation for the iq point. -If recover=.true. ph.x does not recalculate the +If recover=.true. ph.x does not recalculate the representations already saved in the tmp_dir/_ph0/{prefix}.phsave directory. Moreover ph.x writes on the files patterns.#iq.xml in the tmp_dir/_ph0/{prefix}.phsave directory the displacement patterns that it -is using. If recover=.true. ph.x does not recalculate the +is using. If recover=.true. ph.x does not recalculate the displacement patterns found in the tmp_dir/_ph0/{prefix}.phsave directory. This mechanism allows: @@ -1559,7 +1560,7 @@

    Description of items:

    - This file has been created by helpdoc utility on Mon Nov 23 08:30:06 UTC 2020. + This file has been created by helpdoc utility on Sun Nov 29 12:16:13 CET 2020. diff --git a/PHonon/Doc/INPUT_PH.txt b/PHonon/Doc/INPUT_PH.txt index 67483b97bc..d191356b68 100644 --- a/PHonon/Doc/INPUT_PH.txt +++ b/PHonon/Doc/INPUT_PH.txt @@ -3,7 +3,7 @@ ------------------------------------------------------------------------ INPUT FILE DESCRIPTION -Program: ph.x / PWscf / Quantum Espresso (version: 6.6) +Program: ph.x / PWscf / Quantum Espresso (version: 6.7) ------------------------------------------------------------------------ @@ -160,9 +160,9 @@ NAMELIST: &INPUTPH Type: CHARACTER Default: ' ' Description: File where the charge density responses are written. Note that the file - will actually be saved as ${outdir}/_ph0/${prefix}.${fildrho}1 - where ${outdir}, ${prefix} and ${fildrho} are the values of the - corresponding input variables + will actually be saved as ${outdir}/_ph0/${prefix}.${fildrho}1 + where ${outdir}, ${prefix} and ${fildrho} are the values of the + corresponding input variables +-------------------------------------------------------------------- +-------------------------------------------------------------------- @@ -183,8 +183,9 @@ NAMELIST: &INPUTPH macroscopic dielectric constant of the system is computed. Do not set "epsil" to .true. if you have a metallic system or q/=0: the code will complain and stop. - Note: the input value of epsil will be ignored if ldisp=.true. - (the code will automatically set epsil to .false. for metals, + + Note: the input value of "epsil" will be ignored if "ldisp"=.true. + (the code will automatically set "epsil" to .false. for metals, to .true. for insulators: see routine PHonon/PH/prepare_q.f90). +-------------------------------------------------------------------- @@ -932,11 +933,11 @@ ________________________________________________________________________ contribution to the dynamical matrix of the irr representation for the iq point. - If recover=.true. ph.x does not recalculate the + If "recover"=.true. ph.x does not recalculate the representations already saved in the tmp_dir/_ph0/{prefix}.phsave directory. Moreover ph.x writes on the files patterns.#iq.xml in the tmp_dir/_ph0/{prefix}.phsave directory the displacement patterns that it - is using. If recover=.true. ph.x does not recalculate the + is using. If "recover"=.true. ph.x does not recalculate the displacement patterns found in the tmp_dir/_ph0/{prefix}.phsave directory. This mechanism allows: @@ -978,4 +979,4 @@ ________________________________________________________________________ information. -This file has been created by helpdoc utility on Mon Nov 23 08:30:06 UTC 2020 +This file has been created by helpdoc utility on Sun Nov 29 12:16:13 CET 2020 diff --git a/PHonon/Doc/Makefile b/PHonon/Doc/Makefile index dcb82272ee..8ff842fab8 100644 --- a/PHonon/Doc/Makefile +++ b/PHonon/Doc/Makefile @@ -1,4 +1,4 @@ -VERSION = 6.7 +VERSION := $(shell awk -F\' '/version_number/{print $$2}' ../../include/qe_version.h ) HELPDOC = ../../dev-tools/helpdoc -version $(VERSION) LATEX = pdflatex diff --git a/PP/Doc/Makefile b/PP/Doc/Makefile index 03895be2d7..32357321b8 100644 --- a/PP/Doc/Makefile +++ b/PP/Doc/Makefile @@ -1,4 +1,4 @@ -VERSION = 6.7 +VERSION := $(shell awk -F\' '/version_number/{print $$2}' ../../include/qe_version.h ) HELPDOC = ../../dev-tools/helpdoc -version $(VERSION) LATEX = pdflatex LATEX2HTML = latex2html diff --git a/PW/Doc/INPUT_PW.def b/PW/Doc/INPUT_PW.def index 3c7368248c..c3cc302917 100644 --- a/PW/Doc/INPUT_PW.def +++ b/PW/Doc/INPUT_PW.def @@ -741,16 +741,18 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x In order to perform LSDA calculations for an antiferromagnetic state, define two different atomic species corresponding to sublattices of the same atomic type. - NOTE 1: starting_magnetization is ignored in most BUT NOT ALL + + @b {NOTE 1:} @ref starting_magnetization is ignored in most BUT NOT ALL cases in non-scf calculations: it is safe to keep the same values for the scf and subsequent non-scf calculation. - NOTE 2: If you fix the magnetization with - @ref tot_magnetization, do not specify starting_magnetization. - NOTE 3: In the noncollinear/spin-orbit case, starting with zero + + @b {NOTE 2:} If you fix the magnetization with + @ref tot_magnetization, do not specify @ref starting_magnetization. + + @b {NOTE 3:} In the noncollinear/spin-orbit case, starting with zero starting_magnetization on all atoms imposes time reversal symmetry. The magnetization is never calculated and is set to zero (the internal variable domag is set to .FALSE.). - } } @@ -1180,8 +1182,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x is not configured there. } info { - Specify @ref lda_plus_u = .TRUE. to enable DFT+U, DFT+U+V, or - DFT+U+J calculations. + Specify @ref lda_plus_u = .TRUE. to enable @b DFT+U, @b DFT+U+V, or @b DFT+U+J calculations. See: Anisimov, Zaanen, and Andersen, PRB 44, 943 (1991); Anisimov et al., PRB 48, 16929 (1993); Liechtenstein, Anisimov, and Zaanen, PRB 52, R5467 (1994). @@ -1193,17 +1194,24 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x } var lda_plus_u_kind -type INTEGER { default { 0 } - info { - Specifies the type of calculation: - - 0 DFT+U simplified version of Cococcioni and de Gironcoli, - PRB 71, 035105 (2005), using @ref Hubbard_U + options { + info { Specifies the type of calculation: } - 1 DFT+U rotationally invariant scheme of Liechtenstein et al., - using @ref Hubbard_U and @ref Hubbard_J - - 2 DFT+U+V simplified version of Campo Jr and Cococcioni, - J. Phys.: Condens. Matter 22, 055602 (2010), using @ref Hubbard_V + opt -val 0 { + DFT+U simplified version of Cococcioni and de Gironcoli, + PRB 71, 035105 (2005), using @ref Hubbard_U + } + + opt -val 1 { + DFT+U rotationally invariant scheme of Liechtenstein et al., + using @ref Hubbard_U and @ref Hubbard_J + } + + opt -val 2 { + DFT+U+V simplified version of Campo Jr and Cococcioni, + J. Phys.: Condens. Matter 22, 055602 (2010), doi:10.1088/0953-8984/22/5/055602, + using @ref Hubbard_V + } } } dimension Hubbard_U -start 1 -end ntyp -type REAL { @@ -1227,15 +1235,19 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x The atomic indices na and nb correspond to the atomic positions in the @ref ATOMIC_POSITIONS card (this is not the same as Hubbard_U which is specified for @ref ATOMIC_SPECIES). - Wnen na=nb, then Hubbard_V(na,na,k) is the on-site Hubbard_U + + When na=nb, then @ref Hubbard_V(na,na,k) is the on-site @ref Hubbard_U for the atom na. + natx=50 (if needed it can be changed in /Modules/parameters.f90) + The index k controls the "interaction type" (k=1 is used for the simplest DFT+U+V calculation): - k=1 - interaction between standard orbitals (both on na and nb); - k=2 - interaction between standard (on na) and background (on nb) orbitals; - k=3 - interaction between background orbitals (both on na and nb); - k=4 - interaction between background (on na) and standard (on nb) orbitals. + @b k=1 - interaction between standard orbitals (both on na and nb); + @b k=2 - interaction between standard (on na) and background (on nb) orbitals; + @b k=3 - interaction between background orbitals (both on na and nb); + @b k=4 - interaction between background (on na) and standard (on nb) orbitals. + Standard orbitals correspond to the main Hubbard channel (e.g. d electrons in transition metals) and background orbitals correspond to the secondary Hubbard channel (e.g. p electrons in transition metals). @@ -1248,6 +1260,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x used to compute U (and V) with the linear-response method of Cococcioni and de Gironcoli, PRB 71, 035105 (2005) (only for @ref lda_plus_u_kind=0 and 2). + Note: Hubbard U and V can be computed using the HP code which is based on density-functional perturbation theory, and it gives exactly the same result as the method of @@ -1269,10 +1282,12 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x info { Hubbard_J(i,ityp): J parameters (eV) for species ityp, used in DFT+U calculations (only for @ref lda_plus_u_kind=1) + For p orbitals: J = Hubbard_J(1,ityp); For d orbitals: J = Hubbard_J(1,ityp), B = Hubbard_J(2,ityp); For f orbitals: J = Hubbard_J(1,ityp), E2 = Hubbard_J(2,ityp), E3= Hubbard_J(3,ityp). + If B or E2 or E3 are not specified or set to 0 they will be calculated from J using atomic ratios. } @@ -1361,7 +1376,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x var ensemble_energies -type LOGICAL { default { .false. } info { - If ensemble_energies = .true., an ensemble of xc energies + If @ref ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state @@ -1371,7 +1386,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x included with libbeef. Requires linking against libbeef. - input_dft must be set to a BEEF-type functional + @ref input_dft must be set to a BEEF-type functional (e.g. input_dft = 'BEEF-vdW') } } @@ -1524,9 +1539,9 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x default { -1 } info { determines when atomic magnetic moments are printed on output: - report = 0 never - report =-1 at the beginning of the scf and at convergence - report = N: as -1, plus every N scf iterations + @b {report = 0} never + @b {report =-1} at the beginning of the scf and at convergence + @b {report = N} as -1, plus every N scf iterations } } @@ -1874,7 +1889,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x default { .FALSE. } info { Used only for monoclinic lattices. If .TRUE. the b - unique ibrav (-12 or -13) are used, and symmetry + unique @ref ibrav (-12 or -13) are used, and symmetry equivalent positions are chosen assuming that the twofold axis or the mirror normal is parallel to the b axis. If .FALSE. it is parallel to the c axis. @@ -1885,8 +1900,8 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x default { 1 } info { Used only for space groups that in the ITA allow - the use of two different origins. origin_choice=1, - means the first origin, while origin_choice=2 is the + the use of two different origins. @ref origin_choice=1, + means the first origin, while @ref origin_choice=2 is the second origin. } } diff --git a/PW/Doc/INPUT_PW.html b/PW/Doc/INPUT_PW.html index 2039d1ebaa..9b91a4bfe5 100644 --- a/PW/Doc/INPUT_PW.html +++ b/PW/Doc/INPUT_PW.html @@ -46,7 +46,7 @@

    Input File Description

    Program: - pw.x / PWscf / Quantum Espresso (version: 6.6) + pw.x / PWscf / Quantum Espresso (version: 6.7)

    @@ -55,64 +55,64 @@

    TABLE OF CONTENTS

    -

    INTRODUCTION

    -

    &CONTROL

    +

    INTRODUCTION

    +

    &CONTROL

    -calculation | title | verbosity | restart_mode | wf_collect | nstep | iprint | tstress | tprnfor | dt | outdir | wfcdir | prefix | lkpoint_dir | max_seconds | etot_conv_thr | forc_conv_thr | disk_io | pseudo_dir | tefield | dipfield | lelfield | nberrycyc | lorbm | lberry | gdir | nppstr | lfcpopt | gate +calculation | title | verbosity | restart_mode | wf_collect | nstep | iprint | tstress | tprnfor | dt | outdir | wfcdir | prefix | lkpoint_dir | max_seconds | etot_conv_thr | forc_conv_thr | disk_io | pseudo_dir | tefield | dipfield | lelfield | nberrycyc | lorbm | lberry | gdir | nppstr | lfcpopt | gate
    -

    &SYSTEM

    +

    &SYSTEM

    -ibrav | celldm | A | B | C | cosAB | cosAC | cosBC | nat | ntyp | nbnd | tot_charge | starting_charge | tot_magnetization | starting_magnetization | ecutwfc | ecutrho | ecutfock | nr1 | nr2 | nr3 | nr1s | nr2s | nr3s | nosym | nosym_evc | noinv | no_t_rev | force_symmorphic | use_all_frac | occupations | one_atom_occupations | starting_spin_angle | degauss | smearing | nspin | noncolin | ecfixed | qcutz | q2sigma | input_dft | ace | exx_fraction | screening_parameter | exxdiv_treatment | x_gamma_extrapolation | ecutvcut | nqx1 | nqx2 | nqx3 | localization_thr | lda_plus_u | lda_plus_u_kind | Hubbard_U | Hubbard_J0 | Hubbard_V | Hubbard_alpha | Hubbard_beta | Hubbard_J | starting_ns_eigenvalue | U_projection_type | Hubbard_parameters | ensemble_energies | edir | emaxpos | eopreg | eamp | angle1 | angle2 | lforcet | constrained_magnetization | fixed_magnetization | lambda | report | lspinorb | assume_isolated | esm_bc | esm_w | esm_efield | esm_nfit | fcp_mu | vdw_corr | london | london_s6 | london_c6 | london_rvdw | london_rcut | dftd3_version | dftd3_threebody | ts_vdw_econv_thr | ts_vdw_isolated | xdm | xdm_a1 | xdm_a2 | space_group | uniqueb | origin_choice | rhombohedral | zgate | relaxz | block | block_1 | block_2 | block_height +ibrav | celldm | A | B | C | cosAB | cosAC | cosBC | nat | ntyp | nbnd | tot_charge | starting_charge | tot_magnetization | starting_magnetization | ecutwfc | ecutrho | ecutfock | nr1 | nr2 | nr3 | nr1s | nr2s | nr3s | nosym | nosym_evc | noinv | no_t_rev | force_symmorphic | use_all_frac | occupations | one_atom_occupations | starting_spin_angle | degauss | smearing | nspin | noncolin | ecfixed | qcutz | q2sigma | input_dft | ace | exx_fraction | screening_parameter | exxdiv_treatment | x_gamma_extrapolation | ecutvcut | nqx1 | nqx2 | nqx3 | localization_thr | lda_plus_u | lda_plus_u_kind | Hubbard_U | Hubbard_J0 | Hubbard_V | Hubbard_alpha | Hubbard_beta | Hubbard_J | starting_ns_eigenvalue | U_projection_type | Hubbard_parameters | ensemble_energies | edir | emaxpos | eopreg | eamp | angle1 | angle2 | lforcet | constrained_magnetization | fixed_magnetization | lambda | report | lspinorb | assume_isolated | esm_bc | esm_w | esm_efield | esm_nfit | fcp_mu | vdw_corr | london | london_s6 | london_c6 | london_rvdw | london_rcut | dftd3_version | dftd3_threebody | ts_vdw_econv_thr | ts_vdw_isolated | xdm | xdm_a1 | xdm_a2 | space_group | uniqueb | origin_choice | rhombohedral | zgate | relaxz | block | block_1 | block_2 | block_height
    -

    &ELECTRONS

    +

    &ELECTRONS

    -electron_maxstep | scf_must_converge | conv_thr | adaptive_thr | conv_thr_init | conv_thr_multi | mixing_mode | mixing_beta | mixing_ndim | mixing_fixed_ns | diagonalization | diago_thr_init | diago_cg_maxiter | diago_david_ndim | diago_full_acc | efield | efield_cart | efield_phase | startingpot | startingwfc | tqr | real_space +electron_maxstep | scf_must_converge | conv_thr | adaptive_thr | conv_thr_init | conv_thr_multi | mixing_mode | mixing_beta | mixing_ndim | mixing_fixed_ns | diagonalization | diago_thr_init | diago_cg_maxiter | diago_david_ndim | diago_full_acc | efield | efield_cart | efield_phase | startingpot | startingwfc | tqr | real_space
    -

    &IONS

    +

    &IONS

    -ion_positions | ion_velocities | ion_dynamics | pot_extrapolation | wfc_extrapolation | remove_rigid_rot | ion_temperature | tempw | tolp | delta_t | nraise | refold_pos | upscale | bfgs_ndim | trust_radius_max | trust_radius_min | trust_radius_ini | w_1 | w_2 +ion_positions | ion_velocities | ion_dynamics | pot_extrapolation | wfc_extrapolation | remove_rigid_rot | ion_temperature | tempw | tolp | delta_t | nraise | refold_pos | upscale | bfgs_ndim | trust_radius_max | trust_radius_min | trust_radius_ini | w_1 | w_2
    -

    &CELL

    +

    &CELL

    -cell_dynamics | press | wmass | cell_factor | press_conv_thr | cell_dofree +cell_dynamics | press | wmass | cell_factor | press_conv_thr | cell_dofree
    -

    ATOMIC_SPECIES

    +

    ATOMIC_SPECIES

    -X | Mass_X | PseudoPot_X +X | Mass_X | PseudoPot_X
    -

    ATOMIC_POSITIONS

    +

    ATOMIC_POSITIONS

    -X | x | y | z | if_pos(1) | if_pos(2) | if_pos(3) +X | x | y | z | if_pos(1) | if_pos(2) | if_pos(3)
    -

    K_POINTS

    +

    K_POINTS

    -nks | xk_x | xk_y | xk_z | wk | nk1 | nk2 | nk3 | sk1 | sk2 | sk3 +nks | xk_x | xk_y | xk_z | wk | nk1 | nk2 | nk3 | sk1 | sk2 | sk3
    -

    ADDITIONAL_K_POINTS

    -

    CELL_PARAMETERS

    +

    ADDITIONAL_K_POINTS

    +

    CELL_PARAMETERS

    -v1 | v2 | v3 +v1 | v2 | v3
    -

    CONSTRAINTS

    +

    CONSTRAINTS

    -nconstr | constr_tol | constr_type | constr(1) | constr(2) | constr(3) | constr(4) | constr_target +nconstr | constr_tol | constr_type | constr(1) | constr(2) | constr(3) | constr(4) | constr_target
    -

    OCCUPATIONS

    +

    OCCUPATIONS

    -f_inp1 | f_inp2 +f_inp1 | f_inp2
    -

    ATOMIC_VELOCITIES

    +

    ATOMIC_VELOCITIES

    -V | vx | vy | vz +V | vx | vy | vz
    -

    ATOMIC_FORCES

    +

    ATOMIC_FORCES

    -X | fx | fy | fz +X | fx | fy | fz
    -

    INTRODUCTION

    +

    INTRODUCTION

     Input data format: { } = optional, [ ] = it depends, | = or
     
    @@ -199,11 +199,11 @@ 

    TABLE OF CONTENTS

    see: K_POINTS ]
    - +

    Namelist: &CONTROL

    - +
    @@ -258,7 +258,7 @@

    TABLE OF CONTENTS

    calculation CHARACTER
    - +
    @@ -273,7 +273,7 @@

    TABLE OF CONTENTS

    title CHARACTER
    - +
    @@ -304,7 +304,7 @@

    TABLE OF CONTENTS

    verbosity CHARACTER
    - +
    @@ -339,7 +339,7 @@

    TABLE OF CONTENTS

    restart_mode CHARACTER
    - +
    @@ -367,7 +367,7 @@

    TABLE OF CONTENTS

    wf_collect LOGICAL
    - +
    @@ -387,7 +387,7 @@

    TABLE OF CONTENTS

    nstep INTEGER
    - +
    @@ -402,7 +402,7 @@

    TABLE OF CONTENTS

    iprint INTEGER
    - +
    @@ -418,7 +418,7 @@

    TABLE OF CONTENTS

    tstress LOGICAL
    - +
    @@ -429,7 +429,7 @@

    TABLE OF CONTENTS

    tprnfor LOGICAL
    - +
    @@ -446,7 +446,7 @@

    TABLE OF CONTENTS

    dt REAL
    - +
    @@ -464,7 +464,7 @@

    TABLE OF CONTENTS

    outdir CHARACTER
    - +
    @@ -486,7 +486,7 @@

    TABLE OF CONTENTS

    wfcdir CHARACTER
    - +
    @@ -502,7 +502,7 @@

    TABLE OF CONTENTS

    prefix CHARACTER
    - +
    @@ -520,7 +520,7 @@

    TABLE OF CONTENTS

    lkpoint_dir LOGICAL
    - +
    @@ -538,7 +538,7 @@

    TABLE OF CONTENTS

    max_seconds REAL
    - +
    @@ -558,7 +558,7 @@

    TABLE OF CONTENTS

    etot_conv_thr REAL
    - +
    @@ -576,7 +576,7 @@

    TABLE OF CONTENTS

    forc_conv_thr REAL
    - +
    @@ -599,7 +599,9 @@

    TABLE OF CONTENTS

    save charge to disk at each SCF step, keep wavefunctions on disk (in "distributed" format), save mixing data as well. -Do not use this option unless you have a good reason to +Do not use this option unless you have a good reason! +It is no longer needed to specify 'high' in order to be able +to restart from an interrupted calculation (see restart_mode)
    @@ -635,15 +637,12 @@

    TABLE OF CONTENTS

     Default is 'low' for the scf case, 'medium' otherwise.
    -Note that the needed RAM increases as disk I/O decreases!
    -It is no longer needed to specify 'high' in order to be able
    -to restart from an interrupted calculation (see restart_mode)
    -but you cannot restart in disk_io=='nowf' or 'none'
    +Note that the needed RAM increases as disk I/O decreases
                 
    disk_io CHARACTER
    - +
    @@ -660,7 +659,7 @@

    TABLE OF CONTENTS

    pseudo_dir CHARACTER
    - +
    @@ -678,7 +677,7 @@

    TABLE OF CONTENTS

    tefield LOGICAL
    - +
    @@ -698,7 +697,7 @@

    TABLE OF CONTENTS

    dipfield LOGICAL
    - +
    @@ -715,7 +714,7 @@

    TABLE OF CONTENTS

    lelfield LOGICAL
    - +
    @@ -733,7 +732,7 @@

    TABLE OF CONTENTS

    nberrycyc INTEGER
    - +
    @@ -755,7 +754,7 @@

    TABLE OF CONTENTS

    lorbm LOGICAL
    - +
    @@ -771,7 +770,7 @@

    TABLE OF CONTENTS

    lberry LOGICAL
    - +
    @@ -785,7 +784,7 @@

    TABLE OF CONTENTS

    gdir INTEGER
    - +
    @@ -798,7 +797,7 @@

    TABLE OF CONTENTS

    nppstr INTEGER
    - +
    @@ -826,7 +825,7 @@

    TABLE OF CONTENTS

    lfcpopt LOGICAL
    - +
    @@ -860,11 +859,11 @@

    TABLE OF CONTENTS

    gate LOGICAL
    - +

    Namelist: &SYSTEM

    - +
    @@ -1007,7 +1006,7 @@

    TABLE OF CONTENTS

    ibrav INTEGER

    Either:

    - +
    @@ -1031,7 +1030,7 @@

    TABLE OF CONTENTS

    celldm(i), i=1,6 REAL
    +A, B, C, cosAB, cosAC, cosBC @@ -1058,7 +1057,7 @@

    TABLE OF CONTENTS

    -A, B, C, cosAB, cosAC, cosBC REAL
    - +
    @@ -1074,7 +1073,7 @@

    TABLE OF CONTENTS

    nat INTEGER
    - +
    @@ -1089,7 +1088,7 @@

    TABLE OF CONTENTS

    ntyp INTEGER
    - +
    @@ -1109,7 +1108,7 @@

    TABLE OF CONTENTS

    nbnd INTEGER
    - +
    @@ -1130,7 +1129,7 @@

    TABLE OF CONTENTS

    tot_charge REAL
    - +
    @@ -1146,7 +1145,7 @@

    TABLE OF CONTENTS

    starting_charge(i), i=1,ntyp REAL
    - +
    @@ -1165,7 +1164,7 @@

    TABLE OF CONTENTS

    tot_magnetization REAL
    - +
    @@ -1189,19 +1188,22 @@

    TABLE OF CONTENTS

    In order to perform LSDA calculations for an antiferromagnetic state, define two different atomic species corresponding to sublattices of the same atomic type. -NOTE 1: starting_magnetization is ignored in most BUT NOT ALL + +NOTE 1:starting_magnetization is ignored in most BUT NOT ALL cases in non-scf calculations: it is safe to keep the same values for the scf and subsequent non-scf calculation. -NOTE 2: If you fix the magnetization with -tot_magnetization, do not specify starting_magnetization. -NOTE 3: In the noncollinear/spin-orbit case, starting with zero + +NOTE 2: If you fix the magnetization with +tot_magnetization, do not specify starting_magnetization. + +NOTE 3: In the noncollinear/spin-orbit case, starting with zero starting_magnetization on all atoms imposes time reversal symmetry. The magnetization is never calculated and is set to zero (the internal variable domag is set to .FALSE.).
    starting_magnetization(i), i=1,ntyp REAL
    - +
    @@ -1216,7 +1218,7 @@

    TABLE OF CONTENTS

    ecutwfc REAL
    - +
    @@ -1242,7 +1244,7 @@

    TABLE OF CONTENTS

    ecutrho REAL
    - +
    @@ -1267,7 +1269,7 @@

    TABLE OF CONTENTS

    ecutfock REAL
    +nr1, nr2, nr3
    -nr1, nr2, nr3 INTEGER
    @@ -1283,7 +1285,7 @@ 

    TABLE OF CONTENTS

    +nr1s, nr2s, nr3s
    -nr1s, nr2s, nr3s INTEGER
    @@ -1295,7 +1297,7 @@ 

    TABLE OF CONTENTS

    - +
    @@ -1327,7 +1329,7 @@

    TABLE OF CONTENTS

    nosym LOGICAL
    - +
    @@ -1353,7 +1355,7 @@

    TABLE OF CONTENTS

    nosym_evc LOGICAL
    - +
    @@ -1369,7 +1371,7 @@

    TABLE OF CONTENTS

    noinv LOGICAL
    - +
    @@ -1385,7 +1387,7 @@

    TABLE OF CONTENTS

    no_t_rev LOGICAL
    - +
    @@ -1401,7 +1403,7 @@

    TABLE OF CONTENTS

    force_symmorphic LOGICAL
    - +
    @@ -1425,7 +1427,7 @@

    TABLE OF CONTENTS

    use_all_frac LOGICAL
    - +
    @@ -1487,7 +1489,7 @@

    TABLE OF CONTENTS

    occupations CHARACTER
    - +
    @@ -1529,7 +1531,7 @@

    TABLE OF CONTENTS

    one_atom_occupations LOGICAL
    - +
    @@ -1556,7 +1558,7 @@

    TABLE OF CONTENTS

    starting_spin_angle LOGICAL
    - +
    @@ -1572,7 +1574,7 @@

    TABLE OF CONTENTS

    degauss REAL
    - +
    @@ -1615,7 +1617,7 @@

    TABLE OF CONTENTS

    smearing CHARACTER
    - +
    @@ -1638,7 +1640,7 @@

    TABLE OF CONTENTS

    nspin INTEGER
    - +
    @@ -1653,7 +1655,7 @@

    TABLE OF CONTENTS

    noncolin LOGICAL
    - +
    @@ -1669,7 +1671,7 @@

    TABLE OF CONTENTS

    ecfixed REAL
    - +
    @@ -1685,7 +1687,7 @@

    TABLE OF CONTENTS

    qcutz REAL
    - +
    @@ -1708,7 +1710,7 @@

    TABLE OF CONTENTS

    q2sigma REAL
    - +
    @@ -1726,7 +1728,7 @@

    TABLE OF CONTENTS

    input_dft CHARACTER
    - +
    @@ -1744,7 +1746,7 @@

    TABLE OF CONTENTS

    ace LOGICAL
    - +
    @@ -1761,7 +1763,7 @@

    TABLE OF CONTENTS

    exx_fraction REAL
    - +
    @@ -1779,7 +1781,7 @@

    TABLE OF CONTENTS

    screening_parameter REAL
    - +
    @@ -1817,7 +1819,7 @@

    TABLE OF CONTENTS

    exxdiv_treatment CHARACTER
    - +
    @@ -1834,7 +1836,7 @@

    TABLE OF CONTENTS

    x_gamma_extrapolation LOGICAL
    - +
    @@ -1857,7 +1859,7 @@

    TABLE OF CONTENTS

    ecutvcut REAL
    +nqx1, nqx2, nqx3
    -nqx1, nqx2, nqx3 INTEGER
    @@ -1870,7 +1872,7 @@ 

    TABLE OF CONTENTS

    - +
    @@ -1889,7 +1891,7 @@

    TABLE OF CONTENTS

    localization_thr REAL
    - +
    @@ -1909,8 +1911,7 @@

    TABLE OF CONTENTS

    lda_plus_u LOGICAL
    -Specify lda_plus_u = .TRUE. to enable DFT+U, DFT+U+V, or
    -DFT+U+J calculations.
    +Specify lda_plus_u = .TRUE. to enable DFT+U, DFT+U+V, or DFT+U+J calculations.
     See: Anisimov, Zaanen, and Andersen, PRB 44, 943 (1991);
          Anisimov et al., PRB 48, 16929 (1993);
          Liechtenstein, Anisimov, and Zaanen, PRB 52, R5467 (1994).
    @@ -1921,7 +1922,7 @@ 

    TABLE OF CONTENTS

    - +
    @@ -1931,21 +1932,35 @@

    TABLE OF CONTENTS

    - +
    lda_plus_u_kind INTEGER 0
    -Specifies the type of calculation:
    -
    -   0   DFT+U simplified version of Cococcioni and de Gironcoli,
    -       PRB 71, 035105 (2005), using Hubbard_U
    -
    -   1   DFT+U rotationally invariant scheme of Liechtenstein et al.,
    -       using Hubbard_U and Hubbard_J
    -
    -   2   DFT+U+V simplified version of Campo Jr and Cococcioni,
    -       J. Phys.: Condens. Matter 22, 055602 (2010), using Hubbard_V
    -         
    +
     Specifies the type of calculation:
    +            
    +
    +
    0 :
    +
    +DFT+U simplified version of Cococcioni and de Gironcoli,
    +PRB 71, 035105 (2005), using Hubbard_U
    +            
    +
    +
    +
    1 :
    +
    +DFT+U rotationally invariant scheme of Liechtenstein et al.,
    +using Hubbard_U and Hubbard_J
    +            
    +
    +
    +
    2 :
    +
    +DFT+U+V simplified version of Campo Jr and Cococcioni,
    +J. Phys.: Condens. Matter 22, 055602 (2010), doi:10.1088/0953-8984/22/5/055602,
    +using Hubbard_V
    +            
    +
    +
    - +
    @@ -1960,7 +1975,7 @@

    TABLE OF CONTENTS

    Hubbard_U(i), i=1,ntyp REAL
    - +
    @@ -1976,7 +1991,7 @@

    TABLE OF CONTENTS

    Hubbard_J0(i), i=1,ntype REAL
    - +
    @@ -1993,22 +2008,26 @@

    TABLE OF CONTENTS

    The atomic indices na and nb correspond to the atomic positions in the ATOMIC_POSITIONS card (this is not the same as Hubbard_U which is specified for ATOMIC_SPECIES). -Wnen na=nb, then Hubbard_V(na,na,k) is the on-site Hubbard_U + +When na=nb, then Hubbard_V(na,na,k) is the on-site Hubbard_U for the atom na. + natx=50 (if needed it can be changed in /Modules/parameters.f90) + The index k controls the "interaction type" (k=1 is used for the simplest DFT+U+V calculation): -k=1 - interaction between standard orbitals (both on na and nb); -k=2 - interaction between standard (on na) and background (on nb) orbitals; -k=3 - interaction between background orbitlas (both on na and nb); -k=4 - interaction between background (on na) and standard (on nb) orbitals. +k=1 - interaction between standard orbitals (both on na and nb); +k=2 - interaction between standard (on na) and background (on nb) orbitals; +k=3 - interaction between background orbitals (both on na and nb); +k=4 - interaction between background (on na) and standard (on nb) orbitals. + Standard orbitals correspond to the main Hubbard channel (e.g. d electrons in transition metals) and background orbitals correspond to the secondary Hubbard channel (e.g. p electrons in transition metals).
    Hubbard_V(na,nb,k), (na,nb,k) = (1,1,1) ... (natx,27*natx,4)
    - +
    @@ -2023,6 +2042,7 @@

    TABLE OF CONTENTS

    used to compute U (and V) with the linear-response method of Cococcioni and de Gironcoli, PRB 71, 035105 (2005) (only for lda_plus_u_kind=0 and 2). + Note: Hubbard U and V can be computed using the HP code which is based on density-functional perturbation theory, and it gives exactly the same result as the method of @@ -2030,7 +2050,7 @@

    TABLE OF CONTENTS

    Hubbard_alpha(i), i=1,ntyp REAL
    - +
    @@ -2049,7 +2069,7 @@

    TABLE OF CONTENTS

    Hubbard_beta(i), i=1,ntyp REAL
    - +
    @@ -2063,16 +2083,18 @@

    TABLE OF CONTENTS

    Hubbard_J(i,ityp), (i,ityp) = (1,1) ... (3,ntyp)
     Hubbard_J(i,ityp): J parameters (eV) for species ityp,
     used in DFT+U calculations (only for lda_plus_u_kind=1)
    +
     For p orbitals:  J = Hubbard_J(1,ityp);
     For d orbitals:  J = Hubbard_J(1,ityp), B = Hubbard_J(2,ityp);
     For f orbitals:  J = Hubbard_J(1,ityp), E2 = Hubbard_J(2,ityp),
                      E3= Hubbard_J(3,ityp).
    +
     If B or E2 or E3 are not specified or set to 0 they will be
     calculated from J using atomic ratios.
              
    - +
    @@ -2096,7 +2118,7 @@

    TABLE OF CONTENTS

    starting_ns_eigenvalue(m,ispin,ityp), (m,ispin,ityp) = (1,1,1) ... (2*lmax+1,nspin or npol,ntyp)
    - +
    @@ -2161,7 +2183,7 @@

    TABLE OF CONTENTS

    U_projection_type CHARACTER
    - +
    @@ -2195,7 +2217,7 @@

    TABLE OF CONTENTS

    Hubbard_parameters CHARACTER
    - +
    @@ -2206,7 +2228,7 @@

    TABLE OF CONTENTS

    ensemble_energies LOGICAL
    -If ensemble_energies = .true., an ensemble of xc energies
    +If ensemble_energies = .true., an ensemble of xc energies
     is calculated non-selfconsistently for perturbed
     exchange-enhancement factors and LDA vs. PBE correlation
     ratios after each converged electronic ground state
    @@ -2216,12 +2238,12 @@ 

    TABLE OF CONTENTS

    included with libbeef. Requires linking against libbeef. -input_dft must be set to a BEEF-type functional +input_dft must be set to a BEEF-type functional (e.g. input_dft = 'BEEF-vdW')
    - +
    @@ -2234,7 +2256,7 @@

    TABLE OF CONTENTS

    edir INTEGER
    - +
    @@ -2251,7 +2273,7 @@

    TABLE OF CONTENTS

    emaxpos REAL
    - +
    @@ -2267,7 +2289,7 @@

    TABLE OF CONTENTS

    eopreg REAL
    - +
    @@ -2289,7 +2311,7 @@

    TABLE OF CONTENTS

    eamp REAL
    - +
    @@ -2301,7 +2323,7 @@

    TABLE OF CONTENTS

    angle1(i), i=1,ntyp REAL
    - +
    @@ -2313,7 +2335,7 @@

    TABLE OF CONTENTS

    angle2(i), i=1,ntyp REAL
    - +
    @@ -2326,7 +2348,7 @@

    TABLE OF CONTENTS

    lforcet LOGICAL
    - +
    @@ -2411,7 +2433,7 @@

    TABLE OF CONTENTS

    constrained_magnetization CHARACTER
    - +
    @@ -2431,7 +2453,7 @@

    TABLE OF CONTENTS

    fixed_magnetization(i), i=1,3 REAL
    - +
    @@ -2452,7 +2474,7 @@

    TABLE OF CONTENTS

    lambda REAL
    - +
    @@ -2464,13 +2486,13 @@

    TABLE OF CONTENTS

    report INTEGER
     determines when atomic magnetic moments are printed on output:
    -report = 0  never
    -report =-1  at the beginning of the scf and at convergence
    -report = N: as -1, plus every N scf iterations
    +report = 0  never
    +report =-1  at the beginning of the scf and at convergence
    +report = N  as -1, plus every N scf iterations
              
    - +
    @@ -2481,7 +2503,7 @@

    TABLE OF CONTENTS

    lspinorb LOGICAL
    - +
    @@ -2600,7 +2622,7 @@

    TABLE OF CONTENTS

    assume_isolated CHARACTER
    - +
    @@ -2646,7 +2668,7 @@

    TABLE OF CONTENTS

    esm_bc CHARACTER
    - +
    @@ -2668,7 +2690,7 @@

    TABLE OF CONTENTS

    esm_w REAL
    - +
    @@ -2689,7 +2711,7 @@

    TABLE OF CONTENTS

    esm_efield REAL
    - +
    @@ -2709,7 +2731,7 @@

    TABLE OF CONTENTS

    esm_nfit INTEGER
    - +
    @@ -2729,7 +2751,7 @@

    TABLE OF CONTENTS

    fcp_mu REAL
    - +
    @@ -2789,7 +2811,7 @@

    TABLE OF CONTENTS

    vdw_corr CHARACTER
    - +
    @@ -2807,7 +2829,7 @@

    TABLE OF CONTENTS

    london LOGICAL
    - +
    @@ -2822,7 +2844,7 @@

    TABLE OF CONTENTS

    london_s6 REAL
    - +
    @@ -2840,7 +2862,7 @@

    TABLE OF CONTENTS

    london_c6(i), i=1,ntyp REAL
    - +
    @@ -2858,7 +2880,7 @@

    TABLE OF CONTENTS

    london_rvdw(i), i=1,ntyp REAL
    - +
    @@ -2873,7 +2895,7 @@

    TABLE OF CONTENTS

    london_rcut REAL
    - +
    @@ -2923,7 +2945,7 @@

    TABLE OF CONTENTS

    dftd3_version integer
    - +
    @@ -2940,7 +2962,7 @@

    TABLE OF CONTENTS

    dftd3_threebody LOGICAL
    - +
    @@ -2956,7 +2978,7 @@

    TABLE OF CONTENTS

    ts_vdw_econv_thr REAL
    - +
    @@ -2972,7 +2994,7 @@

    TABLE OF CONTENTS

    ts_vdw_isolated LOGICAL
    - +
    @@ -2990,7 +3012,7 @@

    TABLE OF CONTENTS

    xdm LOGICAL
    - +
    @@ -3010,7 +3032,7 @@

    TABLE OF CONTENTS

    xdm_a1 REAL
    - +
    @@ -3030,7 +3052,7 @@

    TABLE OF CONTENTS

    xdm_a2 REAL
    - +
    @@ -3051,7 +3073,7 @@

    TABLE OF CONTENTS

    space_group INTEGER
    - +
    @@ -3063,14 +3085,14 @@

    TABLE OF CONTENTS

    uniqueb LOGICAL
     Used only for monoclinic lattices. If .TRUE. the b
    -unique ibrav (-12 or -13) are used, and symmetry
    +unique ibrav (-12 or -13) are used, and symmetry
     equivalent positions are chosen assuming that the
     twofold axis or the mirror normal is parallel to the
     b axis. If .FALSE. it is parallel to the c axis.
              
    - +
    @@ -3082,13 +3104,13 @@

    TABLE OF CONTENTS

    origin_choice INTEGER
     Used only for space groups that in the ITA allow
    -the use of two different origins. origin_choice=1,
    -means the first origin, while origin_choice=2 is the
    +the use of two different origins. origin_choice=1,
    +means the first origin, while origin_choice=2 is the
     second origin.
              
    - +
    @@ -3111,7 +3133,7 @@

    TABLE OF CONTENTS

    rhombohedral LOGICAL

    variables used only if gate = .TRUE.

    - +
    @@ -3131,7 +3153,7 @@

    TABLE OF CONTENTS

    zgate REAL
    - +
    @@ -3151,7 +3173,7 @@

    TABLE OF CONTENTS

    relaxz LOGICAL
    - +
    @@ -3173,7 +3195,7 @@

    TABLE OF CONTENTS

    block LOGICAL
    - +
    @@ -3190,7 +3212,7 @@

    TABLE OF CONTENTS

    block_1 REAL
    - +
    @@ -3207,7 +3229,7 @@

    TABLE OF CONTENTS

    block_2 REAL
    - +
    @@ -3226,11 +3248,11 @@

    TABLE OF CONTENTS

    block_height REAL
    - +

    Namelist: &ELECTRONS

    - +
    @@ -3245,7 +3267,7 @@

    TABLE OF CONTENTS

    electron_maxstep INTEGER
    - +
    @@ -3261,7 +3283,7 @@

    TABLE OF CONTENTS

    scf_must_converge LOGICAL
    - +
    @@ -3282,7 +3304,7 @@

    TABLE OF CONTENTS

    conv_thr REAL
    - +
    @@ -3298,7 +3320,7 @@

    TABLE OF CONTENTS

    adaptive_thr LOGICAL
    - +
    @@ -3314,7 +3336,7 @@

    TABLE OF CONTENTS

    conv_thr_init REAL
    - +
    @@ -3331,7 +3353,7 @@

    TABLE OF CONTENTS

    conv_thr_multi REAL
    - +
    @@ -3366,7 +3388,7 @@

    TABLE OF CONTENTS

    mixing_mode CHARACTER
    - +
    @@ -3381,7 +3403,7 @@

    TABLE OF CONTENTS

    mixing_beta REAL
    - +
    @@ -3397,7 +3419,7 @@

    TABLE OF CONTENTS

    mixing_ndim INTEGER
    - +
    @@ -3413,7 +3435,7 @@

    TABLE OF CONTENTS

    mixing_fixed_ns INTEGER
    - +
    @@ -3456,7 +3478,7 @@

    TABLE OF CONTENTS

    diagonalization CHARACTER
    - +
    @@ -3475,7 +3497,7 @@

    TABLE OF CONTENTS

    diago_thr_init REAL
    - +
    @@ -3485,7 +3507,7 @@

    TABLE OF CONTENTS

    diago_cg_maxiter INTEGER
    - +
    @@ -3507,7 +3529,7 @@

    TABLE OF CONTENTS

    diago_david_ndim INTEGER
    - +
    @@ -3525,7 +3547,7 @@

    TABLE OF CONTENTS

    diago_full_acc LOGICAL
    - +
    @@ -3542,7 +3564,7 @@

    TABLE OF CONTENTS

    efield REAL
    - +
    @@ -3559,7 +3581,7 @@

    TABLE OF CONTENTS

    efield_cart(i), i=1,3 REAL
    - +
    @@ -3595,7 +3617,7 @@

    TABLE OF CONTENTS

    efield_phase CHARACTER
    - +
    @@ -3622,7 +3644,7 @@

    TABLE OF CONTENTS

    startingpot CHARACTER
    - +
    @@ -3672,7 +3694,7 @@

    TABLE OF CONTENTS

    startingwfc CHARACTER
    - +
    @@ -3690,7 +3712,7 @@

    TABLE OF CONTENTS

    tqr LOGICAL
    - +
    @@ -3711,7 +3733,7 @@

    TABLE OF CONTENTS

    real_space LOGICAL
    - +

    Namelist: &IONS

    @@ -3719,7 +3741,7 @@

    TABLE OF CONTENTS

    REQUIRED if calculation == 'relax', 'md', 'vc-relax', or 'vc-md' OPTIONAL for calculation == 'scf' (only ion_positions is used)

    - +
    @@ -3749,7 +3771,7 @@

    TABLE OF CONTENTS

    ion_positions CHARACTER
    - +
    @@ -3783,7 +3805,7 @@

    TABLE OF CONTENTS

    ion_velocities CHARACTER
    - +
    @@ -3868,7 +3890,7 @@

    TABLE OF CONTENTS

    ion_dynamics CHARACTER
    - +
    @@ -3914,7 +3936,7 @@

    TABLE OF CONTENTS

    pot_extrapolation CHARACTER
    - +
    @@ -3952,7 +3974,7 @@

    TABLE OF CONTENTS

    wfc_extrapolation CHARACTER
    - +
    @@ -3983,7 +4005,7 @@

    TABLE OF CONTENTS

    variables used for molecular dynamics

    -
    remove_rigid_rot LOGICAL
    +
    @@ -4067,7 +4089,7 @@

    TABLE OF CONTENTS

    ion_temperature CHARACTER
    - +
    @@ -4083,7 +4105,7 @@

    TABLE OF CONTENTS

    tempw REAL
    - +
    @@ -4099,7 +4121,7 @@

    TABLE OF CONTENTS

    tolp REAL
    - +
    @@ -4129,7 +4151,7 @@

    TABLE OF CONTENTS

    delta_t REAL
    - +
    @@ -4166,7 +4188,7 @@

    TABLE OF CONTENTS

    nraise INTEGER
    - +
    @@ -4188,7 +4210,7 @@

    TABLE OF CONTENTS

    keywords used only in BFGS calculations

    -
    refold_pos LOGICAL
    +
    @@ -4206,7 +4228,7 @@

    TABLE OF CONTENTS

    upscale REAL
    - +
    @@ -4226,7 +4248,7 @@

    TABLE OF CONTENTS

    bfgs_ndim INTEGER
    - +
    @@ -4242,7 +4264,7 @@

    TABLE OF CONTENTS

    trust_radius_max REAL
    - +
    @@ -4259,7 +4281,7 @@

    TABLE OF CONTENTS

    trust_radius_min REAL
    - +
    @@ -4275,7 +4297,7 @@

    TABLE OF CONTENTS

    trust_radius_ini REAL
    - +
    @@ -4291,7 +4313,7 @@

    TABLE OF CONTENTS

    w_1 REAL
    - +
    @@ -4310,14 +4332,14 @@

    TABLE OF CONTENTS

    w_2 REAL
    - +

    Namelist: &CELL

    input this namelist only if calculation == 'vc-relax' or 'vc-md'

    - +
    @@ -4382,7 +4404,7 @@

    TABLE OF CONTENTS

    cell_dynamics CHARACTER
    - +
    @@ -4397,7 +4419,7 @@

    TABLE OF CONTENTS

    press REAL
    - +
    @@ -4415,7 +4437,7 @@

    TABLE OF CONTENTS

    wmass REAL
    - +
    @@ -4432,7 +4454,7 @@

    TABLE OF CONTENTS

    cell_factor REAL
    - +
    @@ -4449,7 +4471,7 @@

    TABLE OF CONTENTS

    press_conv_thr REAL
    - +
    @@ -4553,7 +4575,7 @@

    TABLE OF CONTENTS

    cell_dofree CHARACTER
    - +

    Card: ATOMIC_SPECIES

    @@ -4561,22 +4583,22 @@

    TABLE OF CONTENTS

    Syntax:

    ATOMIC_SPECIES
    -
    +
    - - - + + + - - - + + + - - - + + +
     X(1)  Mass_X(1)  PseudoPot_X(1)  X(1)  Mass_X(1)  PseudoPot_X(1) 
     X(2)  Mass_X(2)  PseudoPot_X(2)  X(2)  Mass_X(2)  PseudoPot_X(2) 
     . . .
     X(ntyp)  Mass_X(ntyp)  PseudoPot_X(ntyp)  X(ntyp)  Mass_X(ntyp)  PseudoPot_X(ntyp) 
    @@ -4587,7 +4609,7 @@

    Description of items:

    - +
    XX CHARACTER
    @@ -4601,7 +4623,7 @@ 

    Description of items:

    - +
    Mass_XMass_X REAL
    @@ -4616,7 +4638,7 @@ 

    Description of items:

    - +
    PseudoPot_XPseudoPot_X CHARACTER
    @@ -4636,7 +4658,7 @@ 

    Description of items:

    - +

    Card: ATOMIC_POSITIONS { alat | bohr | angstrom | crystal | crystal_sg }

    @@ -4652,39 +4674,39 @@

    Syntax:

    ATOMIC_POSITIONS { alat | bohr | angstrom | crystal | crystal_sg }
    -
    +
    - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + +
     X(1)  x(1)  y(1)  z(1)  X(1)  x(1)  y(1)  z(1)  {  if_pos(1)(1)  if_pos(2)(1)  if_pos(3)(1)  if_pos(1)(1)  if_pos(2)(1)  if_pos(3)(1)  }
     X(2)  x(2)  y(2)  z(2)  X(2)  x(2)  y(2)  z(2)  {  if_pos(1)(2)  if_pos(2)(2)  if_pos(3)(2)  if_pos(1)(2)  if_pos(2)(2)  if_pos(3)(2)  }
     . . .
     X(nat)  x(nat)  y(nat)  z(nat)  X(nat)  x(nat)  y(nat)  z(nat)  {  if_pos(1)(nat)  if_pos(2)(nat)  if_pos(3)(nat)  if_pos(1)(nat)  if_pos(2)(nat)  if_pos(3)(nat)  }
    @@ -4695,7 +4717,7 @@

    Syntax:

    Description of items:

    - +
    Card's options: @@ -4762,7 +4784,7 @@

    Description of items:

    - +
    XX CHARACTER
     label of the atom as specified in ATOMIC_SPECIES
    @@ -4772,7 +4794,7 @@ 

    Description of items:

    @@ -4823,7 +4845,7 @@

    Description of items:

    -x, y, z +x, y, z REAL
    @@ -4847,7 +4869,7 @@

    Description of items:

    -if_pos(1), if_pos(2), if_pos(3) +if_pos(1), if_pos(2), if_pos(3) INTEGER
    - +

    Card: K_POINTS { tpiba | automatic | crystal | gamma | tpiba_b | crystal_b | tpiba_c | crystal_c }

    @@ -4856,25 +4878,25 @@

    Description of items:

    Syntax:

    K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c
    -nks  
    +nks  
    - - - - + + + + - - - - + + + + - - - - + + + +
     xk_x(1)  xk_y(1)  xk_z(1)  wk(1)  xk_x(1)  xk_y(1)  xk_z(1)  wk(1) 
     xk_x(2)  xk_y(2)  xk_z(2)  wk(2)  xk_x(2)  xk_y(2)  xk_z(2)  wk(2) 
     . . .
     xk_x(nks)  xk_y(nks)  xk_z(nks)  wk(nks)  xk_x(nks)  xk_y(nks)  xk_z(nks)  wk(nks) 
    @@ -4884,7 +4906,7 @@

    Syntax:

    Syntax:

    K_POINTS automatic
    -nk1  nk2  nk3  sk1  sk2  sk3  
    +nk1  nk2  nk3  sk1  sk2  sk3  
    @@ -4898,7 +4920,7 @@

    Syntax:

    Description of items:

    - +
    Card's options: @@ -4993,7 +5015,7 @@

    Description of items:

    - +
    @@ -5005,7 +5027,7 @@

    Description of items:

    nks INTEGER
    @@ -5030,7 +5052,7 @@

    Description of items:

    -xk_x, xk_y, xk_z, wk +xk_x, xk_y, xk_z, wk REAL
    +nk1, nk2, nk3
    -nk1, nk2, nk3 INTEGER
    @@ -5042,7 +5064,7 @@ 

    Description of items:

    +sk1, sk2, sk3
    -sk1, sk2, sk3 INTEGER
    @@ -5056,7 +5078,7 @@ 

    Description of items:

    - +

    Card: ADDITIONAL_K_POINTS

    @@ -5071,7 +5093,7 @@

    Syntax:

    - +

    Card: CELL_PARAMETERS { alat | bohr | angstrom }

    @@ -5083,26 +5105,26 @@

    Syntax:

    CELL_PARAMETERS { alat | bohr | angstrom }
    -
    +
    - - - + + + - - - + + + - - - + + +
     v1(1)  v1(2)  v1(3)  v1(1)  v1(2)  v1(3) 
     v2(1)  v2(2)  v2(3)  v2(1)  v2(2)  v2(3) 
     v3(1)  v3(2)  v3(3)  v3(1)  v3(2)  v3(3) 
    @@ -5112,7 +5134,7 @@

    Syntax:

    Description of items:

    - +
    Card's options: @@ -5139,7 +5161,7 @@

    Description of items:

    @@ -5155,7 +5177,7 @@

    Description of items:

    -v1, v2, v3 +v1, v2, v3 REAL
    - +

    Card: CONSTRAINTS

    @@ -5170,11 +5192,11 @@

    Description of items:

    Syntax:

    CONSTRAINTS
    -nconstr   { constr_tol   }
    +nconstr   { constr_tol   }
    - - - + + + @@ -5182,13 +5204,13 @@

    Syntax:

      - + - - - + + + @@ -5196,14 +5218,14 @@

    Syntax:

      - + - - - + + + @@ -5211,7 +5233,7 @@

    Syntax:

      - +
     constr_type(1)  constr(1)(1)  constr(2)(1)  constr_type(1)  constr(1)(1)  constr(2)(1)  [  constr(3)(1)   ] {  constr_target(1)  constr_target(1)  }
     constr_type(2)  constr(1)(2)  constr(2)(2)  constr_type(2)  constr(1)(2)  constr(2)(2)  [  constr(3)(2)   ] {  constr_target(2)  constr_target(2)  }
     . . .
     constr_type(nconstr)  constr(1)(nconstr)  constr(2)(nconstr)  constr_type(nconstr)  constr(1)(nconstr)  constr(2)(nconstr)  [  constr(3)(nconstr)   ] {  constr_target(nconstr)  constr_target(nconstr)  }
    @@ -5221,7 +5243,7 @@

    Syntax:

    Description of items:

    - +
    @@ -5230,7 +5252,7 @@

    Description of items:

    nconstr INTEGER
    - +
    @@ -5241,7 +5263,7 @@

    Description of items:

    constr_tol REAL
    - +
    constr_typeconstr_type CHARACTER
    @@ -5305,7 +5327,7 @@

    Description of items:

    @@ -5341,7 +5363,7 @@

    Description of items:

    -constr(1), constr(2), constr(3), constr(4) +constr(1), constr(2), constr(3), constr(4)
    - +
    constr_targetconstr_target REAL
    @@ -5354,7 +5376,7 @@ 

    Description of items:

    - +

    Card: OCCUPATIONS

    @@ -5364,21 +5386,21 @@

    Description of items:

    Syntax:

    OCCUPATIONS
    -
    +
    - - + + - + - - + + - +
     f_inp1(1)  f_inp1(2)  f_inp1(1)  f_inp1(2)   . . . f_inp1(nbnd)  f_inp1(nbnd) 
    [   f_inp2(1)  f_inp2(2)  f_inp2(1)  f_inp2(2)   . . . f_inp2(nbnd)  f_inp2(nbnd)    ]
    @@ -5390,7 +5412,7 @@

    Description of items:

    - +
    f_inp1f_inp1 REAL
    @@ -5401,7 +5423,7 @@ 

    Description of items:

    - +
    f_inp2f_inp2 REAL
    @@ -5414,7 +5436,7 @@ 

    Description of items:

    - +

    Card: ATOMIC_VELOCITIES { a.u }

    @@ -5426,25 +5448,25 @@

    Syntax:

    ATOMIC_VELOCITIES { a.u }
    -
    +
    - - - - + + + + - - - - + + + + - - - - + + + +
     V(1)  vx(1)  vy(1)  vz(1)  V(1)  vx(1)  vy(1)  vz(1) 
     V(2)  vx(2)  vy(2)  vz(2)  V(2)  vx(2)  vy(2)  vz(2) 
     . . .
     V(nat)  vx(nat)  vy(nat)  vz(nat)  V(nat)  vx(nat)  vy(nat)  vz(nat) 
    @@ -5455,7 +5477,7 @@

    Description of items:

    - +
    VV CHARACTER
     label of the atom as specified in ATOMIC_SPECIES
    @@ -5465,7 +5487,7 @@ 

    Description of items:

    @@ -5477,7 +5499,7 @@

    Description of items:

    -vx, vy, vz +vx, vy, vz REAL
    - +

    Card: ATOMIC_FORCES

    @@ -5491,25 +5513,25 @@

    Description of items:

    Syntax:

    ATOMIC_FORCES
    -
    +
    - - - - + + + + - - - - + + + + - - - - + + + +
     X(1)  fx(1)  fy(1)  fz(1)  X(1)  fx(1)  fy(1)  fz(1) 
     X(2)  fx(2)  fy(2)  fz(2)  X(2)  fx(2)  fy(2)  fz(2) 
     . . .
     X(nat)  fx(nat)  fy(nat)  fz(nat)  X(nat)  fx(nat)  fy(nat)  fz(nat) 
    @@ -5520,7 +5542,7 @@

    Description of items:

    - +
    XX CHARACTER
     label of the atom as specified in ATOMIC_SPECIES
    @@ -5530,7 +5552,7 @@ 

    Description of items:

    @@ -5546,7 +5568,7 @@

    Description of items:

    -fx, fy, fz +fx, fy, fz REAL
    - This file has been created by helpdoc utility on Tue Sep 29 12:44:54 CEST 2020. + This file has been created by helpdoc utility on Sat Nov 28 21:53:08 CET 2020. diff --git a/PW/Doc/INPUT_PW.txt b/PW/Doc/INPUT_PW.txt index 7cb9da732a..a90d7cad99 100644 --- a/PW/Doc/INPUT_PW.txt +++ b/PW/Doc/INPUT_PW.txt @@ -3,7 +3,7 @@ ------------------------------------------------------------------------ INPUT FILE DESCRIPTION -Program: pw.x / PWscf / Quantum Espresso (version: 6.6) +Program: pw.x / PWscf / Quantum Espresso (version: 6.7) ------------------------------------------------------------------------ @@ -321,7 +321,9 @@ NAMELIST: &CONTROL save charge to disk at each SCF step, keep wavefunctions on disk (in "distributed" format), save mixing data as well. - Do not use this option unless you have a good reason to + Do not use this option unless you have a good reason! + It is no longer needed to specify 'high' in order to be able + to restart from an interrupted calculation (see "restart_mode") 'medium' : save charge to disk at each SCF step, @@ -343,10 +345,7 @@ NAMELIST: &CONTROL do not save anything to disk Default is 'low' for the scf case, 'medium' otherwise. - Note that the needed RAM increases as disk I/O decreases! - It is no longer needed to specify 'high' in order to be able - to restart from an interrupted calculation (see "restart_mode") - but you cannot restart in "disk_io"=='nowf' or 'none' + Note that the needed RAM increases as disk I/O decreases +-------------------------------------------------------------------- +-------------------------------------------------------------------- @@ -749,11 +748,14 @@ NAMELIST: &SYSTEM In order to perform LSDA calculations for an antiferromagnetic state, define two different atomic species corresponding to sublattices of the same atomic type. - NOTE 1: starting_magnetization is ignored in most BUT NOT ALL + + NOTE 1: "starting_magnetization" is ignored in most BUT NOT ALL cases in non-scf calculations: it is safe to keep the same values for the scf and subsequent non-scf calculation. + NOTE 2: If you fix the magnetization with - "tot_magnetization", do not specify starting_magnetization. + "tot_magnetization", do not specify "starting_magnetization". + NOTE 3: In the noncollinear/spin-orbit case, starting with zero starting_magnetization on all atoms imposes time reversal symmetry. The magnetization is never calculated and is @@ -1215,8 +1217,7 @@ NAMELIST: &SYSTEM a few selected elements. Modify Modules/set_hubbard_l.f90 and PW/src/tabd.f90 if you plan to use DFT+U with an element that is not configured there. - Description: Specify "lda_plus_u" = .TRUE. to enable DFT+U, DFT+U+V, or - DFT+U+J calculations. + Description: Specify "lda_plus_u" = .TRUE. to enable DFT+U, DFT+U+V, or DFT+U+J calculations. See: Anisimov, Zaanen, and Andersen, PRB 44, 943 (1991); Anisimov et al., PRB 48, 16929 (1993); Liechtenstein, Anisimov, and Zaanen, PRB 52, R5467 (1994). @@ -1231,16 +1232,21 @@ NAMELIST: &SYSTEM Type: INTEGER Default: 0 - Description: Specifies the type of calculation: - - 0 DFT+U simplified version of Cococcioni and de Gironcoli, - PRB 71, 035105 (2005), using "Hubbard_U" - - 1 DFT+U rotationally invariant scheme of Liechtenstein et al., - using "Hubbard_U" and "Hubbard_J" - - 2 DFT+U+V simplified version of Campo Jr and Cococcioni, - J. Phys.: Condens. Matter 22, 055602 (2010), using "Hubbard_V" + Description: + Specifies the type of calculation: + + 0 : + DFT+U simplified version of Cococcioni and de Gironcoli, + PRB 71, 035105 (2005), using "Hubbard_U" + + 1 : + DFT+U rotationally invariant scheme of Liechtenstein et al., + using "Hubbard_U" and "Hubbard_J" + + 2 : + DFT+U+V simplified version of Campo Jr and Cococcioni, + J. Phys.: Condens. Matter 22, 055602 (2010), doi:10.1088/0953-8984/22/5/055602, + using "Hubbard_V" +-------------------------------------------------------------------- +-------------------------------------------------------------------- @@ -1270,15 +1276,19 @@ NAMELIST: &SYSTEM The atomic indices na and nb correspond to the atomic positions in the "ATOMIC_POSITIONS" card (this is not the same as Hubbard_U which is specified for "ATOMIC_SPECIES"). - Wnen na=nb, then Hubbard_V(na,na,k) is the on-site Hubbard_U + + When na=nb, then "Hubbard_V"(na,na,k) is the on-site "Hubbard_U" for the atom na. + natx=50 (if needed it can be changed in /Modules/parameters.f90) + The index k controls the "interaction type" (k=1 is used for the simplest DFT+U+V calculation): k=1 - interaction between standard orbitals (both on na and nb); k=2 - interaction between standard (on na) and background (on nb) orbitals; - k=3 - interaction between background orbitlas (both on na and nb); + k=3 - interaction between background orbitals (both on na and nb); k=4 - interaction between background (on na) and standard (on nb) orbitals. + Standard orbitals correspond to the main Hubbard channel (e.g. d electrons in transition metals) and background orbitals correspond to the secondary Hubbard channel (e.g. p electrons in transition metals). @@ -1293,6 +1303,7 @@ NAMELIST: &SYSTEM used to compute U (and V) with the linear-response method of Cococcioni and de Gironcoli, PRB 71, 035105 (2005) (only for "lda_plus_u_kind"=0 and 2). + Note: Hubbard U and V can be computed using the HP code which is based on density-functional perturbation theory, and it gives exactly the same result as the method of @@ -1318,10 +1329,12 @@ NAMELIST: &SYSTEM Default: 0.D0 for all species Description: Hubbard_J(i,ityp): J parameters (eV) for species ityp, used in DFT+U calculations (only for "lda_plus_u_kind"=1) + For p orbitals: J = Hubbard_J(1,ityp); For d orbitals: J = Hubbard_J(1,ityp), B = Hubbard_J(2,ityp); For f orbitals: J = Hubbard_J(1,ityp), E2 = Hubbard_J(2,ityp), E3= Hubbard_J(3,ityp). + If B or E2 or E3 are not specified or set to 0 they will be calculated from J using atomic ratios. +-------------------------------------------------------------------- @@ -1410,7 +1423,7 @@ NAMELIST: &SYSTEM Type: LOGICAL Default: .false. - Description: If ensemble_energies = .true., an ensemble of xc energies + Description: If "ensemble_energies" = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state @@ -1420,7 +1433,7 @@ NAMELIST: &SYSTEM included with libbeef. Requires linking against libbeef. - input_dft must be set to a BEEF-type functional + "input_dft" must be set to a BEEF-type functional (e.g. input_dft = 'BEEF-vdW') +-------------------------------------------------------------------- @@ -1581,7 +1594,7 @@ NAMELIST: &SYSTEM Description: determines when atomic magnetic moments are printed on output: report = 0 never report =-1 at the beginning of the scf and at convergence - report = N: as -1, plus every N scf iterations + report = N as -1, plus every N scf iterations +-------------------------------------------------------------------- +-------------------------------------------------------------------- @@ -1947,7 +1960,7 @@ NAMELIST: &SYSTEM Type: LOGICAL Default: .FALSE. Description: Used only for monoclinic lattices. If .TRUE. the b - unique ibrav (-12 or -13) are used, and symmetry + unique "ibrav" (-12 or -13) are used, and symmetry equivalent positions are chosen assuming that the twofold axis or the mirror normal is parallel to the b axis. If .FALSE. it is parallel to the c axis. @@ -1959,8 +1972,8 @@ NAMELIST: &SYSTEM Type: INTEGER Default: 1 Description: Used only for space groups that in the ITA allow - the use of two different origins. origin_choice=1, - means the first origin, while origin_choice=2 is the + the use of two different origins. "origin_choice"=1, + means the first origin, while "origin_choice"=2 is the second origin. +-------------------------------------------------------------------- @@ -3536,4 +3549,4 @@ CARD: ATOMIC_FORCES ===END OF CARD========================================================== -This file has been created by helpdoc utility on Tue Sep 29 12:44:54 CEST 2020 +This file has been created by helpdoc utility on Sat Nov 28 21:53:08 CET 2020 diff --git a/PW/Doc/Makefile b/PW/Doc/Makefile index b5a5e32e75..f915fff38d 100644 --- a/PW/Doc/Makefile +++ b/PW/Doc/Makefile @@ -1,4 +1,4 @@ -VERSION = 6.7 +VERSION := $(shell awk -F\' '/version_number/{print $$2}' ../../include/qe_version.h ) HELPDOC = ../../dev-tools/helpdoc -version $(VERSION) LATEX = pdflatex LATEX2HTML = latex2html diff --git a/PW/src/summary.f90 b/PW/src/summary.f90 index fabba83c3b..eb68f8a7f9 100644 --- a/PW/src/summary.f90 +++ b/PW/src/summary.f90 @@ -53,7 +53,6 @@ SUBROUTINE summary() USE fcp_variables, ONLY : lfcpopt, lfcpdyn USE fcp, ONLY : fcp_summary USE relax, ONLY : epse, epsf, epsp - USE force_mod, ONLY : lforce ! IMPLICIT NONE ! @@ -96,7 +95,7 @@ SUBROUTINE summary() WRITE( stdout, 103) nbnd, ecutwfc, ecutrho IF ( dft_is_hybrid () ) WRITE( stdout, 104) ecutfock IF ( lscf) WRITE( stdout, 105) tr2, mixing_beta, nmix, mixing_style - IF ( lforce ) WRITE (stdout, 106) epse, epsf + IF ( lmd .OR. lbfgs ) WRITE (stdout, 106) epse, epsf IF ( lmovecell ) WRITE (stdout, 107) epsp ! 100 FORMAT( /,/,5X, & diff --git a/PWCOND/Doc/Makefile b/PWCOND/Doc/Makefile index 556d58c374..f96de2fdc2 100644 --- a/PWCOND/Doc/Makefile +++ b/PWCOND/Doc/Makefile @@ -1,4 +1,4 @@ -VERSION = 6.7 +VERSION := $(shell awk -F\' '/version_number/{print $$2}' ../../include/qe_version.h ) HELPDOC = ../../dev-tools/helpdoc -version $(VERSION) doc: all diff --git a/TDDFPT/Doc/Makefile b/TDDFPT/Doc/Makefile index 75e756d5a0..73e02a27a5 100644 --- a/TDDFPT/Doc/Makefile +++ b/TDDFPT/Doc/Makefile @@ -1,4 +1,4 @@ -VERSION = 6.7 +VERSION := $(shell awk -F\' '/version_number/{print $$2}' ../../include/qe_version.h ) HELPDOC = ../../dev-tools/helpdoc -version $(VERSION) HTMLS = INPUT_Lanczos.html \ diff --git a/atomic/Doc/INPUT_LD1.def b/atomic/Doc/INPUT_LD1.def index a6200636b9..f599812f08 100644 --- a/atomic/Doc/INPUT_LD1.def +++ b/atomic/Doc/INPUT_LD1.def @@ -181,7 +181,7 @@ input_description -distribution {Quantum Espresso} -program ld1.x { 1 ... spin-polarized calculation @b BEWARE: - not allowed if iswitch=3 (PP generation) or with full + not allowed if @ref iswitch=3 (PP generation) or with full relativistic calculation } default { 0 } @@ -268,7 +268,7 @@ input_description -distribution {Quantum Espresso} -program ld1.x { info { @b 'low' or @b 'high' - if @b 'high' with iswitch=2,3 prints separately core and + if @b 'high' with @ref iswitch=2,3 prints separately core and valence contributions to the energies. Print the frozen-core energy. } @@ -425,12 +425,12 @@ input_description -distribution {Quantum Espresso} -program ld1.x { var pseudotype -type INTEGER { info { 1 ... norm-conserving, single-projector PP - IMPORTANT: if pseudotype=1 all calculations are done + @b IMPORTANT: if pseudotype=1 all calculations are done using the SEMILOCAL form, not the separable nonlocal form 2 ... norm-conserving PP in separable form (obsolescent) All calculations are done using SEPARABLE non-local form - IMPORTANT: multiple projectors allowed but not properly + @b IMPORTANT: multiple projectors allowed but not properly implemented, use only if you know what you are doing 3 ... ultrasoft PP or PAW @@ -746,15 +746,15 @@ input_description -distribution {Quantum Espresso} -program ld1.x { } namelist TEST { - label { needed only if iswitch=2 or iswitch=4, optional if iswitch=3 } + label { needed only if @ref iswitch=2 or @ref iswitch=4, optional if @ref iswitch=3 } var nconf -type INTEGER { - info { the number of configurations to be tested. For iswitch = 4 nconf=2 } + info { the number of configurations to be tested. For @ref iswitch=4 nconf=2 } default { 1 } } var file_pseudo -type CHARACTER { - status { ignored if iswitch=3 } + status { ignored if @ref iswitch=3 } info { File containing the PP. @@ -766,7 +766,7 @@ input_description -distribution {Quantum Espresso} -program ld1.x { * otherwise, the old NC format is read. - IMPORTANT: in the latter case, all calculations are done + @b IMPORTANT: in the latter case, all calculations are done using the SEMILOCAL form, not the separable nonlocal form. Use the UPF format if you want to test the separable form! } @@ -800,9 +800,9 @@ input_description -distribution {Quantum Espresso} -program ld1.x { dimension configts -start 1 -end nconf -type CHARACTER { info { A string array containing the test electronic configuration. - configts(nc), nc=1,nconf, has the same syntax as for "config" + @ref configts(nc), nc=1,@ref nconf, has the same syntax as for @ref config but only VALENCE states must be included. - If configts(i) is not set, the electron configuration + If @ref configts(i) is not set, the electron configuration is read from the cards following the namelist. } } @@ -829,8 +829,10 @@ input_description -distribution {Quantum Espresso} -program ld1.x { } var rcutv -type REAL { - info { Cutoff distance (CUT) for the inclusion of LDA-1/2 potential. - Needed (mandatory) only if iswitch = 4 } + info { + Cutoff distance (CUT) for the inclusion of LDA-1/2 potential. + Needed (mandatory) only if @ref iswitch = 4 + } default { -1.0 } } diff --git a/atomic/Doc/INPUT_LD1.html b/atomic/Doc/INPUT_LD1.html index 866cca01fa..6ce4ce563d 100644 --- a/atomic/Doc/INPUT_LD1.html +++ b/atomic/Doc/INPUT_LD1.html @@ -46,7 +46,7 @@

    Input File Description

    Program: - ld1.x / / Quantum Espresso (version: 6.6) + ld1.x / / Quantum Espresso (version: 6.7)

    @@ -58,29 +58,29 @@

    TABLE OF CONTENTS

    INTRODUCTION

    &INPUT

    -title | zed | atom | xmin | dx | rmax | beta | tr2 | iswitch | nld | rlderiv | eminld | emaxld | deld | rpwe | rel | lsmall | max_out_wfc | noscf | lsd | dft | latt | isic | rytoev_fact | cau_fact | vdw | prefix | verbosity | file_charge | config | relpert | rel_dist | write_coulomb +title | zed | atom | xmin | dx | rmax | beta | tr2 | iswitch | nld | rlderiv | eminld | emaxld | deld | rpwe | rel | lsmall | max_out_wfc | noscf | lsd | dft | latt | isic | rytoev_fact | cau_fact | vdw | prefix | verbosity | file_charge | config | relpert | rel_dist | write_coulomb
    -

    AllElectronCards

    +

    AllElectronCards

    -nwf | nl | n | l | oc | isw | jj +nwf | nl | n | l | oc | isw | jj
    -

    &INPUTP

    +

    &INPUTP

    -zval | pseudotype | file_pseudopw | file_recon | lloc | rcloc | nlcc | new_core_ps | rcore | tm | rho0 | lpaw | which_augfun | rmatch_augfun | rmatch_augfun_nc | lsave_wfc | lgipaw_reconstruction | use_paw_as_gipaw | author | file_chi | file_beta | file_qvan | file_screen | file_core | file_wfcaegen | file_wfcncgen | file_wfcusgen +zval | pseudotype | file_pseudopw | file_recon | lloc | rcloc | nlcc | new_core_ps | rcore | tm | rho0 | lpaw | which_augfun | rmatch_augfun | rmatch_augfun_nc | lsave_wfc | lgipaw_reconstruction | use_paw_as_gipaw | author | file_chi | file_beta | file_qvan | file_screen | file_core | file_wfcaegen | file_wfcncgen | file_wfcusgen
    -

    PseudoPotentialGenerationCards

    +

    PseudoPotentialGenerationCards

    -nwfs | nls | nns | lls | ocs | ener | rcut | rcutus | jjs |
    -

    &TEST

    +nwfs | nls | nns | lls | ocs | ener | rcut | rcutus | jjs | +

    &TEST

    -nconf | file_pseudo | ecutmin | ecutmax | decut | rm | configts | lsdts | frozen_core | rcutv +nconf | file_pseudo | ecutmin | ecutmax | decut | rm | configts | lsdts | frozen_core | rcutv
    -

    PseudoPotentialTestCards

    +

    PseudoPotentialTestCards

    -nwfts | elts | nnts | llts | octs | enerts | rcutts | rcutusts | iswts | jjts |
    -

    Notes

    -
    Output files written
    -
    Recipes to reproduce old all-electron atomic results with the ld1 program
    +nwfts | elts | nnts | llts | octs | enerts | rcutts | rcutusts | iswts | jjts | +

    Notes

    +
    Output files written
    +
    Recipes to reproduce old all-electron atomic results with the ld1 program
    @@ -408,12 +408,12 @@

    TABLE OF CONTENTS

    1 ... spin-polarized calculation BEWARE: -not allowed if iswitch=3 (PP generation) or with full +not allowed if iswitch=3 (PP generation) or with full relativistic calculation
    - +
    @@ -434,7 +434,7 @@

    TABLE OF CONTENTS

    dft CHARACTER
    - +
    @@ -450,7 +450,7 @@

    TABLE OF CONTENTS

    latt INTEGER
    - +
    @@ -472,7 +472,7 @@

    TABLE OF CONTENTS

    isic INTEGER
    - +
    @@ -487,7 +487,7 @@

    TABLE OF CONTENTS

    rytoev_fact REAL
    - +
    @@ -505,7 +505,7 @@

    TABLE OF CONTENTS

    cau_fact REAL
    - +
    @@ -528,7 +528,7 @@

    TABLE OF CONTENTS

    vdw LOGICAL
    - +
    @@ -545,7 +545,7 @@

    TABLE OF CONTENTS

    prefix CHARACTER
    - +
    @@ -558,13 +558,13 @@

    TABLE OF CONTENTS

    verbosity CHARACTER
     'low' or 'high'
     
    -if 'high' with iswitch=2,3 prints separately core and
    +if 'high' with iswitch=2,3 prints separately core and
     valence contributions to the energies. Print the
     frozen-core energy.
              
    - +
    @@ -580,7 +580,7 @@

    TABLE OF CONTENTS

    file_charge CHARACTER
    - +
    @@ -614,7 +614,7 @@

    TABLE OF CONTENTS

    config CHARACTER
    - +
    @@ -642,7 +642,7 @@

    TABLE OF CONTENTS

    relpert LOGICAL
    - +
    @@ -662,7 +662,7 @@

    TABLE OF CONTENTS

    rel_dist CHARACTER
    - +
    @@ -683,7 +683,7 @@

    TABLE OF CONTENTS

    write_coulomb LOGICAL
    - +

    Card: AllElectronCards

    @@ -696,28 +696,28 @@

    TABLE OF CONTENTS

    IF rel < 2 :

    Syntax:

    -nwf  
    +nwf  
    - - - - - + + + + + - - - - - + + + + + - - - - - + + + + +
     nl(1)  n(1)  l(1)  oc(1)  isw(1)  nl(1)  n(1)  l(1)  oc(1)  isw(1) 
     nl(2)  n(2)  l(2)  oc(2)  isw(2)  nl(2)  n(2)  l(2)  oc(2)  isw(2) 
     . . .
     nl(nwf)  n(nwf)  l(nwf)  oc(nwf)  isw(nwf)  nl(nwf)  n(nwf)  l(nwf)  oc(nwf)  isw(nwf) 
    @@ -725,7 +725,7 @@

    Syntax:

    ELSEIF rel = 2 :

    Syntax:

    -nwf  
    +nwf  
    @@ -735,7 +735,7 @@

    Syntax:

      - + - + @@ -758,7 +758,7 @@

    Syntax:

      - +
     nl(1)    oc(1)   jj(1)  jj(1) 
     nl(2) @@ -746,7 +746,7 @@

    Syntax:

     
     oc(2)   jj(2)  jj(2) 
     . . .
     oc(nwf)   jj(nwf)  jj(nwf) 
    @@ -768,7 +768,7 @@

    Syntax:

    Description of items:

    - +
    @@ -780,7 +780,7 @@

    Description of items:

    nwf INTEGER
    - +
    nlnl CHARACTER
     wavefunction label (e.g. 1s, 2s, etc.)
    @@ -789,7 +789,7 @@ 

    Description of items:

    - +
    nn INTEGER
     principal quantum number
    @@ -798,7 +798,7 @@ 

    Description of items:

    - +
    ll INTEGER
     angular quantum number
    @@ -807,7 +807,7 @@ 

    Description of items:

    - +
    ococ REAL
     occupation number
    @@ -816,7 +816,7 @@ 

    Description of items:

    - +
    iswisw INTEGER
     the spin index (1-2) used only in the lsda case
    @@ -825,7 +825,7 @@ 

    Description of items:

    - +
    jjjj REAL
    @@ -839,11 +839,11 @@ 

    Description of items:

    - +

    Namelist: &INPUTP

    - +
    @@ -864,26 +864,26 @@

    Description of items:

    zval REAL
    - +
    pseudotype INTEGER
     1 ... norm-conserving, single-projector PP
    -      IMPORTANT: if pseudotype=1 all calculations are done
    +      IMPORTANT: if pseudotype=1 all calculations are done
           using the SEMILOCAL form, not the separable nonlocal form
     
     2 ... norm-conserving PP in separable form (obsolescent)
           All calculations are done using SEPARABLE non-local form
    -      IMPORTANT: multiple projectors allowed but not properly
    +      IMPORTANT: multiple projectors allowed but not properly
           implemented, use only if you know what you are doing
     
     3 ... ultrasoft PP or PAW
              
    - +
    @@ -909,7 +909,7 @@

    Description of items:

    file_pseudopw CHARACTER
    - +
    @@ -928,7 +928,7 @@

    Description of items:

    file_recon CHARACTER
    - +
    @@ -953,7 +953,7 @@

    Description of items:

    lloc INTEGER
    - +
    @@ -970,7 +970,7 @@

    Description of items:

    rcloc REAL
    - +
    @@ -987,7 +987,7 @@

    Description of items:

    nlcc LOGICAL
    - +
    @@ -1007,7 +1007,7 @@

    Description of items:

    new_core_ps LOGICAL
    - +
    @@ -1019,7 +1019,7 @@

    Description of items:

    rcore REAL
    - +
    @@ -1037,7 +1037,7 @@

    Description of items:

    tm LOGICAL
    - +
    @@ -1055,7 +1055,7 @@

    Description of items:

    rho0 REAL
    - +
    @@ -1072,7 +1072,7 @@

    Description of items:

    lpaw LOGICAL
    - +
    @@ -1102,7 +1102,7 @@

    Description of items:

    which_augfun CHARACTER
    - +
    @@ -1123,7 +1123,7 @@

    Description of items:

    rmatch_augfun REAL
    - +
    @@ -1147,7 +1147,7 @@

    Description of items:

    rmatch_augfun_nc REAL
    - +
    @@ -1164,7 +1164,7 @@

    Description of items:

    lsave_wfc LOGICAL
    - +
    @@ -1192,7 +1192,7 @@

    Description of items:

    lgipaw_reconstruction LOGICAL
    - +
    @@ -1216,7 +1216,7 @@

    Description of items:

    use_paw_as_gipaw LOGICAL
    - +
    @@ -1230,7 +1230,7 @@

    Description of items:

    author CHARACTER
    - +
    @@ -1244,7 +1244,7 @@

    Description of items:

    file_chi CHARACTER
    - +
    @@ -1258,7 +1258,7 @@

    Description of items:

    file_beta CHARACTER
    - +
    @@ -1272,7 +1272,7 @@

    Description of items:

    file_qvan CHARACTER
    - +
    @@ -1286,7 +1286,7 @@

    Description of items:

    file_screen CHARACTER
    - +
    @@ -1300,7 +1300,7 @@

    Description of items:

    file_core CHARACTER
    - +
    @@ -1314,7 +1314,7 @@

    Description of items:

    file_wfcaegen CHARACTER
    - +
    @@ -1328,7 +1328,7 @@

    Description of items:

    file_wfcncgen CHARACTER
    - +
    @@ -1344,7 +1344,7 @@

    Description of items:

    file_wfcusgen CHARACTER
    - +

    Card: PseudoPotentialGenerationCards

    @@ -1352,37 +1352,37 @@

    Description of items:

    IF rel=0 OR rel=2 :

    Syntax:

    -nwfs  
    - - - - - - - - - - - - - - - - - - - +nwfs  
     nls(1)  nns(1)  lls(1)  ocs(1)  ener(1)  rcut(1)  rcutus(1)  jjs(1) 
     nls(2)  nns(2)  lls(2)  ocs(2)  ener(2)  rcut(2)  rcutus(2)  jjs(2) 
    + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + +
     nls(1)  nns(1)  lls(1)  ocs(1)  ener(1)  rcut(1)  rcutus(1)  jjs(1) 
     nls(2)  nns(2)  lls(2)  ocs(2)  ener(2)  rcut(2)  rcutus(2)  jjs(2) 
     . . .
     nls(nwfs)  nns(nwfs)  lls(nwfs)  ocs(nwfs)  ener(nwfs)  rcut(nwfs)  rcutus(nwfs)  jjs(nwfs)  nls(nwfs)  nns(nwfs)  lls(nwfs)  ocs(nwfs)  ener(nwfs)  rcut(nwfs)  rcutus(nwfs)  jjs(nwfs) 
    @@ -1396,7 +1396,7 @@

    Syntax:

    ELSE

    Syntax:

    -nwfs  
    +nwfs  
    @@ -1453,7 +1453,7 @@

    Syntax:

     nls(1)  

    Description of items:

    - +
    @@ -1464,7 +1464,7 @@

    Description of items:

    nwfs INTEGER
    - +
    nlsnls CHARACTER
    @@ -1474,7 +1474,7 @@ 

    Description of items:

    - +
    nnsnns INTEGER
    @@ -1485,7 +1485,7 @@ 

    Description of items:

    - +
    llslls INTEGER
     Angular momentum quantum number.
    @@ -1494,7 +1494,7 @@ 

    Description of items:

    - +
    ocsocs REAL
     Occupation number  (same as in the all-electron configuration).
    @@ -1503,7 +1503,7 @@ 

    Description of items:

    - +
    enerener REAL
    @@ -1515,7 +1515,7 @@ 

    Description of items:

    - +
    rcutrcut REAL
     Matching radius (a.u.) for norm conserving PP.
    @@ -1524,7 +1524,7 @@ 

    Description of items:

    - +
    rcutusrcutus REAL
     Matching radius (a.u.) for ultrasoft PP - only for pseudotype=3.
    @@ -1533,7 +1533,7 @@ 

    Description of items:

    - +
    jjsjjs REAL
     The total angular momentum (0.0 is allowed for complete shells).
    @@ -1544,13 +1544,13 @@ 

    Description of items:

    - +

    Namelist: &TEST

    -

    needed only if iswitch=2 or iswitch=4, optional if iswitch=3 +

    needed only if iswitch=2 or iswitch=4, optional if iswitch=3

    - +
    @@ -1560,11 +1560,11 @@

    Description of items:

    -
    nconf INTEGER 1
     the number of configurations to be tested. For iswitch = 4 nconf=2
    +
     the number of configurations to be tested. For iswitch=4 nconf=2
              
    - +
    @@ -1576,7 +1576,7 @@

    Description of items:

    - @@ -1599,7 +1599,7 @@

    Description of items:

    file_pseudo CHARACTER
    Status: ignored if iswitch=3 + ignored if iswitch=3
    @@ -1590,7 +1590,7 @@ 

    Description of items:

    * otherwise, the old NC format is read. -IMPORTANT: in the latter case, all calculations are done +IMPORTANT: in the latter case, all calculations are done using the SEMILOCAL form, not the separable nonlocal form. Use the UPF format if you want to test the separable form!
    +ecutmin, ecutmax, decut @@ -1624,7 +1624,7 @@

    Description of items:

    -ecutmin, ecutmax, decut REAL
    - +
    @@ -1638,21 +1638,21 @@

    Description of items:

    rm REAL
    - +
    configts(i), i=1,nconf CHARACTER
     A string array containing the test electronic configuration.
    -configts(nc), nc=1,nconf, has the same syntax as for "config"
    +configts(nc), nc=1,nconf, has the same syntax as for config
     but only VALENCE states must be included.
    -If configts(i) is not set, the electron configuration
    +If configts(i) is not set, the electron configuration
     is read from the cards following the namelist.
              
    - +
    @@ -1673,7 +1673,7 @@

    Description of items:

    lsdts(i), i=1,nconf INTEGER
    - +
    @@ -1692,7 +1692,7 @@

    Description of items:

    frozen_core LOGICAL
    - +
    @@ -1704,13 +1704,13 @@

    Description of items:

    rcutv REAL
     Cutoff distance (CUT) for the inclusion of LDA-1/2 potential.
    -                  Needed (mandatory) only if iswitch = 4
    +Needed (mandatory) only if iswitch = 4
              
    - +

    Card: PseudoPotentialTestCards

    @@ -1721,37 +1721,37 @@

    Description of items:

    IF lsd=1 :

    Syntax:

    -nwfts  
    - - - - - - - - - - - - - - - - - - - +nwfts  
     elts(1)  nnts(1)  llts(1)  octs(1)  enerts(1)  rcutts(1)  rcutusts(1)  iswts(1) 
     elts(2)  nnts(2)  llts(2)  octs(2)  enerts(2)  rcutts(2)  rcutusts(2)  iswts(2) 
    + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + +
     elts(1)  nnts(1)  llts(1)  octs(1)  enerts(1)  rcutts(1)  rcutusts(1)  iswts(1) 
     elts(2)  nnts(2)  llts(2)  octs(2)  enerts(2)  rcutts(2)  rcutusts(2)  iswts(2) 
     . . .
     elts(nwfts)  nnts(nwfts)  llts(nwfts)  octs(nwfts)  enerts(nwfts)  rcutts(nwfts)  rcutusts(nwfts)  iswts(nwfts)  elts(nwfts)  nnts(nwfts)  llts(nwfts)  octs(nwfts)  enerts(nwfts)  rcutts(nwfts)  rcutusts(nwfts)  iswts(nwfts) 
    @@ -1759,7 +1759,7 @@

    Syntax:

    ELSEIF rel=2 :

    Syntax:

    -nwfts  
    +nwfts  
    @@ -1775,7 +1775,7 @@

    Syntax:

      - + - + @@ -1810,7 +1810,7 @@

    Syntax:

      - +
     elts(1)    rcutusts(1)   jjts(1)  jjts(1) 
     elts(2) @@ -1792,7 +1792,7 @@

    Syntax:

     
     rcutusts(2)   jjts(2)  jjts(2) 
     . . .
     rcutusts(nwfts)   jjts(nwfts)  jjts(nwfts) 
    @@ -1818,7 +1818,7 @@

    Syntax:

    ELSE

    Syntax:

    -nwfts  
    +nwfts  
    @@ -1876,7 +1876,7 @@

    Syntax:

     elts(1)  

    Description of items:

    - +
    @@ -1887,7 +1887,7 @@

    Description of items:

    nwfts INTEGER
    - + @@ -1898,7 +1898,7 @@

    Description of items:

    eltselts CHARACTER
    - + @@ -1909,7 +1909,7 @@

    Description of items:

    nntsnnts INTEGER
    - + @@ -1920,7 +1920,7 @@

    Description of items:

    lltsllts INTEGER
    - + @@ -1931,7 +1931,7 @@

    Description of items:

    octsocts REAL
    - + @@ -1943,7 +1943,7 @@

    Description of items:

    enertsenerts REAL
    - + @@ -1955,7 +1955,7 @@

    Description of items:

    rcuttsrcutts REAL
    - + @@ -1967,7 +1967,7 @@

    Description of items:

    rcutustsrcutusts REAL
    - +
    iswtsiswts INTEGER
     spin index (1 or 2, used in lsda case)
    @@ -1976,7 +1976,7 @@ 

    Description of items:

    - +
    jjtsjjts REAL
     total angular momentum of the state
    @@ -1988,7 +1988,7 @@ 

    Description of items:

    -

    Notes

    +

    Notes

     For PP generation you do not need to specify namelist &test, UNLESS:
     
    @@ -2001,7 +2001,7 @@ 

    Description of items:

    all-electron orbitals from pseudo-orbitals
    -

    Output files written

    +

    Output files written

     * file_tests            "prefix".test    results of transferability test
     
    @@ -2028,7 +2028,7 @@ 

    Description of items:

    -

    Recipes to reproduce old all-electron atomic results with the ld1 program

    +

    Recipes to reproduce old all-electron atomic results with the ld1 program

     * The Hartree results in Phys. Rev. 59, 299 (1940) or in
       Phys. Rev. 59, 306 (1940) can be reproduced with:
    @@ -2099,7 +2099,7 @@ 

    Description of items:

    - This file has been created by helpdoc utility on Mon Nov 23 08:30:07 UTC 2020. + This file has been created by helpdoc utility on Sun Nov 29 12:43:43 CET 2020. diff --git a/atomic/Doc/INPUT_LD1.txt b/atomic/Doc/INPUT_LD1.txt index 5837231bf3..543a3c41d8 100644 --- a/atomic/Doc/INPUT_LD1.txt +++ b/atomic/Doc/INPUT_LD1.txt @@ -3,7 +3,7 @@ ------------------------------------------------------------------------ INPUT FILE DESCRIPTION -Program: ld1.x / / Quantum Espresso (version: 6.6) +Program: ld1.x / / Quantum Espresso (version: 6.7) ------------------------------------------------------------------------ @@ -217,7 +217,7 @@ NAMELIST: &INPUT 1 ... spin-polarized calculation BEWARE: - not allowed if iswitch=3 (PP generation) or with full + not allowed if "iswitch"=3 (PP generation) or with full relativistic calculation Default: 0 +-------------------------------------------------------------------- @@ -306,7 +306,7 @@ NAMELIST: &INPUT Default: 'low' Description: 'low' or 'high' - if 'high' with iswitch=2,3 prints separately core and + if 'high' with "iswitch"=2,3 prints separately core and valence contributions to the energies. Print the frozen-core energy. +-------------------------------------------------------------------- @@ -928,13 +928,13 @@ CARD: ======================================================================== NAMELIST: &TEST - NEEDED ONLY IF ISWITCH=2 OR ISWITCH=4, OPTIONAL IF ISWITCH=3 + NEEDED ONLY IF "ISWITCH"=2 OR "ISWITCH"=4, OPTIONAL IF "ISWITCH"=3 +-------------------------------------------------------------------- Variable: nconf Type: INTEGER - Description: the number of configurations to be tested. For iswitch = 4 nconf=2 + Description: the number of configurations to be tested. For "iswitch"=4 nconf=2 Default: 1 +-------------------------------------------------------------------- @@ -942,7 +942,7 @@ NAMELIST: &TEST Variable: file_pseudo Type: CHARACTER - Status: ignored if iswitch=3 + Status: ignored if "iswitch"=3 Description: File containing the PP. * If the file name contains ".upf" or ".UPF", @@ -987,9 +987,9 @@ NAMELIST: &TEST Type: CHARACTER Description: A string array containing the test electronic configuration. - configts(nc), nc=1,nconf, has the same syntax as for "config" + "configts"(nc), nc=1,"nconf", has the same syntax as for "config" but only VALENCE states must be included. - If configts(i) is not set, the electron configuration + If "configts"(i) is not set, the electron configuration is read from the cards following the namelist. +-------------------------------------------------------------------- @@ -1021,7 +1021,7 @@ NAMELIST: &TEST Type: REAL Description: Cutoff distance (CUT) for the inclusion of LDA-1/2 potential. - Needed (mandatory) only if iswitch = 4 + Needed (mandatory) only if "iswitch" = 4 Default: -1.0 +-------------------------------------------------------------------- @@ -1266,4 +1266,4 @@ CARD: -This file has been created by helpdoc utility on Mon Nov 23 08:30:07 UTC 2020 +This file has been created by helpdoc utility on Sun Nov 29 12:43:43 CET 2020 diff --git a/atomic/Doc/Makefile b/atomic/Doc/Makefile index ed25d91a5e..b05a83427a 100644 --- a/atomic/Doc/Makefile +++ b/atomic/Doc/Makefile @@ -1,4 +1,4 @@ -VERSION = 6.7 +VERSION := $(shell awk -F\' '/version_number/{print $$2}' ../../include/qe_version.h ) HELPDOC = ../../dev-tools/helpdoc -version $(VERSION) LATEX = pdflatex LATEX2HTML = latex2html diff --git a/dev-tools/Makefile b/dev-tools/Makefile index 690e15657a..0ae653bbee 100644 --- a/dev-tools/Makefile +++ b/dev-tools/Makefile @@ -25,6 +25,9 @@ dos: makedoc atomic: makedoc ./check_gui atomic +hp: makedoc + ./check_gui hp + makedoc: (cd ..; $(MAKE) doc) diff --git a/dev-tools/check_gui b/dev-tools/check_gui index 0f55fbfea8..a6d253923b 100755 --- a/dev-tools/check_gui +++ b/dev-tools/check_gui @@ -4,7 +4,7 @@ exec tclsh "$0" "$@" # # Usage: check_gui module -# ( module = pw, ph, pp, projwfc, atomic, or d3 ) +# ( module = pw, neb, ph, pp, projwfc, bands, dos, atomic ) # # Purpose: check the PWgui modules wrt corresponding INPUT_*.def # files and create a PWgui help files. diff --git a/dev-tools/diff_gui_help b/dev-tools/diff_gui_help index 5f2f8d81bc..b832f12ca7 100755 --- a/dev-tools/diff_gui_help +++ b/dev-tools/diff_gui_help @@ -4,7 +4,7 @@ exec tclsh "$0" "$@" # # Usage: diff_gui_help module -# ( module = pw, ph, pp, neb, projwfc, bands, dos, atomic, or d3 ) +# ( module = pw, ph, pp, neb, projwfc, bands, dos, or atomic ) # # Requirements: execute the check_gui first !!! # diff --git a/dev-tools/helpdoc.d/guihelp.tcl b/dev-tools/helpdoc.d/guihelp.tcl index 2140aba1c6..ff91597e50 100644 --- a/dev-tools/helpdoc.d/guihelp.tcl +++ b/dev-tools/helpdoc.d/guihelp.tcl @@ -157,20 +157,14 @@ proc ::helpdoc::checkGui_makeHelpFile {deffile modulefile} { ::tclu::ERROR "can't find useable xsltproc, gui help file creation skipped" } - # help file will be written to $helpfile - - set helpfile [file tail [file rootname $modulefile]]-help.tcl - set orig_helpfile [file rootname $modulefile]-help.tcl - - if { "$helpfile" == "$orig_helpfile" } { - puts stderr [::tclu::labelMsg WARNING "file \"$orig_helpfile\" exists.\nMaking a $orig_helpfile.bak backup copy."] - file copy -force $orig_helpfile $orig_helpfile.bak - } - - # open/create a temporaty xml file ... set orig_xmlfile [file rootname $deffile].xml + if { ! [file exists $orig_xmlfile] } { + ::tclu::ERROR "file $orig_xmlfile does not exists, remake the documentation first! + +Gui help file creation skipped." + } set xml_prefix [file tail [file rootname $deffile]] if { "$xml_prefix.xml" == "$orig_xmlfile" } { @@ -181,6 +175,16 @@ proc ::helpdoc::checkGui_makeHelpFile {deffile modulefile} { } set xml_fid [open $xml_temp w] + # help file will be written to $helpfile + + set helpfile [file tail [file rootname $modulefile]]-help.tcl + set orig_helpfile [file rootname $modulefile]-help.tcl + + if { "$helpfile" == "$orig_helpfile" } { + puts stderr [::tclu::labelMsg WARNING "file \"$orig_helpfile\" exists.\nMaking a $orig_helpfile.bak backup copy."] + file copy -force $orig_helpfile $orig_helpfile.bak + } + # copy $orig_xmlfile to $xml_temp, but replace the stylesheet input_xx.xsl by guihelp.xsl diff --git a/dev-tools/helpdoc.d/modules.tcl b/dev-tools/helpdoc.d/modules.tcl index 9016d9f481..9c6b82517b 100644 --- a/dev-tools/helpdoc.d/modules.tcl +++ b/dev-tools/helpdoc.d/modules.tcl @@ -16,7 +16,7 @@ proc ::helpdoc::core_modules {} { bands PP/Doc INPUT_BANDS dos PP/Doc INPUT_DOS atomic atomic/Doc INPUT_LD1 - d3 PHonon/Doc INPUT_D3 + hp HP/Doc INPUT_HP } } diff --git a/dev-tools/update_gui_help b/dev-tools/update_gui_help index 49c68d27c3..b1efbcdd91 100755 --- a/dev-tools/update_gui_help +++ b/dev-tools/update_gui_help @@ -4,7 +4,7 @@ exec tclsh "$0" "$@" # # Usage: update_gui_help module -# ( module = pw, ph, pp, neb, projwfc, dos, bands, atomic, or d3 ) +# ( module = pw, ph, pp, neb, projwfc, dos, bands, or atomic ) # # Requirements: execute the check_gui first !!! # diff --git a/install/build_fox_with_pgi.sh b/install/build_fox_with_pgi.sh index 3afbfe713d..fbd9bc5c64 100644 --- a/install/build_fox_with_pgi.sh +++ b/install/build_fox_with_pgi.sh @@ -1,5 +1,8 @@ #!/bin/bash +# This script allows to compile FoX with PGI v.19.10 Community Edition +# on Windows 10 - configure works in general but fails for FoX + set -x rm -rf FoX diff --git a/install/extlibs_makefile b/install/extlibs_makefile index 5c8bbc59dd..9c765ad65e 100644 --- a/install/extlibs_makefile +++ b/install/extlibs_makefile @@ -109,8 +109,10 @@ libcuda_devxlib : --enable-cuda-env-check=no; \ fi; \ make all + touch ../install/libcuda_devxlib # do not download and configure again libcuda_devxlib_clean: + rm libcuda_devxlib cd ../external/devxlib; \ if test -f make.inc; then ($(MAKE) clean); fi libcuda_devxlib_veryclean: