[QE-users] Change in temperature control for md simulation in QE 6.4.1 compared with 6.3 -- perhaps instead an issue with detecting symmetry??

Holzwarth, Natalie natalie at wfu.edu
Thu Apr 18 18:12:48 CEST 2019


Dear Paolo and Lorrenzo,
Thanks so much for your analysis of this issue.     The patch to setup.f90
in the 6.4.1 release does seem to fix this problem at least for the simple
NaCl supercell.     Thanks again.    Natalie

N. A. W. Holzwarth                                       email:
natalie at wfu.edu
Department of Physics                                  web:
http://www.wfu.edu/~natalie
Wake Forest University                                 phone:
1-336-758-5510
Winston-Salem, NC 27109 USA                     office: Rm. 300 Olin
Physical Lab


On Thu, Apr 18, 2019 at 5:59 AM Paolo Giannozzi <p.giannozzi at gmail.com>
wrote:

> Oh well. I see: it's an unintended side effect of a bug fix to 6.3,
> present in 6.3-backports.
> There is a simple solution, not guarantee to be
> unintended-side-effect-free, though:
>
> diff --git a/PW/src/setup.f90 b/PW/src/setup.f90
> index 0918ac017..135e58789 100644
> --- a/PW/src/setup.f90
> +++ b/PW/src/setup.f90
> @@ -519,7 +519,10 @@ SUBROUTINE setup()
>    !
>    ! ... nosym: do not use any point-group symmetry (s(:,:,1) is the
> identity)
>    !
> -  IF ( nosym ) nsym = 1
> +  IF ( nosym ) THEN
> +     nsym = 1
> +     invsym = .FALSE.
> +  END IF
>    !
>    IF ( nsym > 1 .AND. ibrav == 0 ) CALL infomsg('setup', &
>         'DEPRECATED: symmetry with ibrav=0, use correct ibrav instead')
>
> Paolo
>
> On Thu, Apr 18, 2019 at 11:11 AM Lorenzo Paulatto <paulatz at gmail.com>
> wrote:
>
>> > symmetry detection?    We did put nosym=.true. but the code seems to
>> > have set invsym=.true. anyway.
>>
>> I see what you mean,
>> with the exact same input version 6.3 set the variable invsym, from
>> symm_base to false, while the current version sets it to true.
>>
>> This breaks start_therm because the only possible initial velocities
>> that respect the constraint in this case are all zero.
>>
>> The bug is that version 6.3 sets invsym AFTER enforcing nosym=.true.,
>> while git version sets invsym BEFORE enforcing nosym=.true., the
>> subroutine find_sym is identical
>>
>> The change seems to have occurred in commit 23fb73f9b7 inside
>> PW/src/setup.f90 I'll let Paolo Giannozzi have a look before going
>> deeper, as I do not immediately understand what has changed, I think it
>> has something to do with nrot_ vs. nrot, as the former is 1 but the
>> latter is 48 before the call to find_sym in setup.f90 line 513, but
>> find_sym internally uses nrot.
>>
>> cheers
>>
>>
>> Perhaps it is intended that users should
>> > move atoms off of their symmetry positions before running MD
>> > simulations?       Thanks for your advice about this.    Natalie
>> >
>> > N. A. W. Holzwarth                                       email:
>> > natalie at wfu.edu <mailto:natalie at wfu.edu>
>> > Department of Physics                                  web:
>> > http://www.wfu.edu/~natalie
>> > Wake Forest University                                 phone:
>> > 1-336-758-5510
>> > Winston-Salem, NC 27109 USA                     office: Rm. 300 Olin
>> > Physical Lab
>> >
>> >
>> > On Wed, Apr 10, 2019 at 6:29 PM Holzwarth, Natalie <natalie at wfu.edu
>> > <mailto:natalie at wfu.edu>> wrote:
>> >
>> >     Dear Quantum Espresso developers,
>> >             Hopefully this might be something that is easy to track down
>> >     but I cannot figure it out.   We noticed that we cannot set the
>> >     initial temperature in our md simulations in QE 6.4.1  (or 6.4) in
>> >     the same way that works fine in QE 6.3.   For example, in a simple
>> >     test , the comparison between the results for " grep temperature
>> >     *out"   is:
>> >                        QE   6.3                                QE 6.4.1
>> >           temperature    =  1800.00000000 K       temperature    =
>> >       0.00000000 K
>> >           temperature    =  1798.79298998 K       temperature    =
>> >       0.00000000 K
>> >           temperature    =  1795.18924725 K       temperature    =
>> >       0.00000001 K
>> >           temperature    =  1789.20477087 K       temperature    =
>> >       0.00000002 K
>> >           temperature    =  1780.85173941 K       temperature    =
>> >       0.00000048 K
>> >           temperature    =  1770.15802096 K       temperature    =
>> >       0.00000014 K
>> >           temperature    =  1757.15885289 K       temperature    =
>> >       0.00000032 K
>> >           temperature    =  1741.89911601 K       temperature    =
>> >       0.00000575 K
>> >           temperature    =  1724.42918183 K       temperature    =
>> >       0.00001204 K
>> >           temperature    =  1704.80836203 K       temperature    =
>> >       0.00001108 K
>> >           temperature    =  1683.10589232 K       temperature    =
>> >       0.00000872 K
>> >     The sample input file is pasted below.   The only difference between
>> >     the runs is the version of QE.
>> >        Thanks in advance for your suggestions.    Sincerely, Natalie
>> >     -------------------sample input file for md
>> >     run-----------------------------
>> >     #!/bin/tcsh
>> >     #
>> >     #SBATCH --nodes=1
>> >     #SBATCH --ntasks-per-node=8
>> >     #SBATCH --cpus-per-task=1
>> >     #SBATCH --account="natalieGrp"
>> >     #SBATCH --output="JOB-%j.o"
>> >     #SBATCH --error="JOB-%j.e"
>> >     #SBATCH --mail-user=natalie at wfu.edu <mailto:natalie at wfu.edu>
>> >     #SBATCH --mail-type=BEGIN,END,FAIL
>> >     #SBATCH --job-name="NaCl"
>> >     #SBATCH --time=0-10:00:00
>> >     #SBATCH --mem=24gb
>> >     #SBATCH --partition=small
>> >     umask 002
>> >     # Note: SLURM has no batch input for cputime, excluding.
>> >     #
>> >     source /etc/profile.d/modules.csh
>> >     module purge
>> >     module load rhel7/openmpi/3.1.1-intel-2018
>> >     #
>> >     echo 'hostname' `/bin/hostname`
>> >     echo 'job directory' `pwd`
>> >     #
>> >     setenv TMPDIR /scratch/$SLURM_JOBID
>> >     echo 'Reset TMPDIR for this job to ' $TMPDIR
>> >
>> >     set PW=/home/natalie/EL7/publiccode/QE/qe-6.4.1/bin/pw.x
>> >
>> >     #NOTE:SLURM defaults to running jobs in the directory where
>> submitted;
>> >     #NOTE:Consider --workdir directive instead; and check functionality!
>> >     cd ${SLURM_SUBMIT_DIR}
>> >
>> >     cat > NaCl.in << EOF
>> >
>> >     &CONTROL
>> >        calculation = "md",
>> >        pseudo_dir  =
>> >     '/deac/natalieGrp/wfurc9/natalie/EL6/rc9/PAWatoms/poscorenhat/',
>> >        verbosity   = "high",
>> >        outdir      = "$TMPDIR/",
>> >        prefix      = "conv",
>> >        restart_mode = 'from_scratch',
>> >        nstep = 30,
>> >        dt = 20,
>> >        forc_conv_thr = 1.0D-5,
>> >        etot_conv_thr = 1.0D-6,
>> >        tstress = .true.,
>> >        tprnfor = .true.,
>> >     /
>> >     &SYSTEM
>> >        ibrav       = 1,
>> >        celldm(1)=1.0331018E+01,
>> >        nat         = 8,
>> >        ntyp        = 2,
>> >        nosym       =.TRUE.,
>> >        ecutwfc     = 64.D0,
>> >        use_all_frac = .TRUE.,
>> >        occupations = "smearing",
>> >        smearing    = "gaussian",
>> >        degauss     = 0.001D0,
>> >     /
>> >     &ELECTRONS
>> >        conv_thr    = 1.D-8,
>> >        electron_maxstep = 200,
>> >     /
>> >     &IONS
>> >       ion_dynamics = 'verlet',
>> >       ion_temperature = 'initial',
>> >       tempw = 1800.d0,
>> >       pot_extrapolation = 'second-order',
>> >       wfc_extrapolation = 'second-order',
>> >     /
>> >     &CELL
>> >        cell_dynamics='none',
>> >        wmass = 1.0,
>> >        press = 0.0,
>> >     /
>> >     ATOMIC_SPECIES
>> >     Na  22.989769  Na.LDA-PW-paw.UPF
>> >     Cl  35.45   Cl.LDA-PW-paw.UPF
>> >     ATOMIC_POSITIONS {crystal}
>> >     Na       0.000000000  0.000000000  0.000000000
>> >     Na       0.500000000  0.500000000  0.000000000
>> >     Na       0.000000000  0.500000000  0.500000000
>> >     Na       0.500000000  0.000000000  0.500000000
>> >     Cl       0.500000000  0.500000000  0.500000000
>> >     Cl       0.000000000  0.000000000  0.500000000
>> >     Cl       0.500000000  0.000000000  0.000000000
>> >     Cl       0.000000000  0.500000000  0.000000000
>> >     K_POINTS AUTOMATIC
>> >     2 2 2 1 1 1
>> >     EOF
>> >
>> >     mpirun $PW  -in  NaCl.in  >  NaCl.out
>> >
>> >
>>  -------------------------------------------------------------------------------------
>> >
>> >     N. A. W. Holzwarth                                       email:
>> >     natalie@ <mailto:natalie at wfu.edu>
>> >     Department of Physics                                  web:
>> >     http://www.wfu.edu/~natalie
>> >     Wake Forest University                                 phone:
>> >     1-336-758-5510
>> >     Winston-Salem, NC 27109 USA                     office: Rm. 300 Olin
>> >     Physical Lab
>> >
>> >
>> > _______________________________________________
>> > Quantum Espresso is supported by MaX (
>> www.max-centre.eu/quantum-espresso)
>> > users mailing list users at lists.quantum-espresso.org
>> > https://lists.quantum-espresso.org/mailman/listinfo/users
>> >
>>
>> --
>> Lorenzo Paulatto - Paris
>> _______________________________________________
>> Quantum Espresso is supported by MaX (www.max-centre.eu/quantum-espresso)
>> users mailing list users at lists.quantum-espresso.org
>> https://lists.quantum-espresso.org/mailman/listinfo/users
>
>
>
> --
> Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
> Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
> Phone +39-0432-558216, fax +39-0432-558222
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20190418/96bfb9a4/attachment.html>


More information about the users mailing list