[Thermo_pw-forum] nonstoichiometric compounds
Andrea Dal Corso
dalcorso at sissa.it
Sun Oct 23 20:15:36 CEST 2016
If you changed the two lines, now it should work.
Otherwise the path can be given in the input of thermo_pw.
Andrea
Quoting Gunnar Palsson <gunnar.karl at gmail.com>:
> Hi Andrea,
>
> I recompiled with your suggested changes but the problem still
> persists. However I found the factor_dx on line 190 in
> sym_band_sub.f90 and on line 428 in plotband_sub.f90.
> I’m compiling thermo_pw 0.6.0 against espresso 6.0.
>
> Regarding the
>> Possibility one: give explicitely the path where to compute the phonon
>> dispersions in the input of thermo_pw. The same path that works in QE
>> should work also here.
>
> I would normally put that path into matdyn.in., for instance:
> &input
> asr='simple',
> amass(1) = 1.00750,
> amass(2) = 50.94150,
> flfrc = 'forces.fc'
> flfrq = 'frequencies.out'
> q_in_band_form = .true.
> /
> 9
> gG 5
> X 5
> Y 5
> gG 5
> Z 5
> N 5
> P 5
> Z 5
> P 5
>
> following your convention in your document on how to plot inside the
> Brillouin zone. Should this information go into thermo_control or
> ph_control or something else?
>
>
> Regards,
> Gunnar
>
>
>> On 17 Oct 2016, at 17:45, Andrea Dal Corso <dalcorso at sissa.it> wrote:
>>
>> On Sun, 2016-10-16 at 16:41 +0200, Gunnar Palsson wrote:
>>> Dear Andrea,
>>>
>>> I seem to be stuck with this problem. I tried setting
>>> ESPRESSO_TMPDIR instead of specifying outdir in the scf and ph
>>> files but I still get the same error.
>>> Any advice would be most helpful? I was also able to run a manual
>>> phonon run and plot the dispersion and the densites of states,
>>> which look fine. As a workaround, is it possible
>>> for thermo_pw to calculate the thermodynamic quantities from the
>>> dynamic matrices generated from ph.x directly without having run
>>> thermo_pw.x?
>>>
>>
>> Dear Gunnar,
>>
>> Thank you for reporting the problem.
>> I have analyzed your input file and the problem is that the automatic
>> path generated by thermo_pw is not very clever when some parts of the
>> path are much shorter than others as in your case. The code should be
>> able to deal with this, but presently it is not.
>> There are two solutions to your problem:
>>
>> Possibility one: give explicitely the path where to compute the phonon
>> dispersions in the input of thermo_pw. The same path that works in QE
>> should work also here.
>>
>> Possibility number two. A quick and dirty fix for your case:
>> Change the routine thermo_pw/src/sym_band_sub.f90 at line 291 there is
>>
>>
>> factor_dx = MAX(5.0_DP, 2.0_DP * sizeb, 2.0_DP * sizec, &
>> 2.0_DP/sizeb, 2.0_DP/sizec)
>>
>> change the 5.0_DP to 6.0_DP.
>>
>> The same change should be done in thermo_pw/src/plotband_sub.f90
>> at line 462. Then recompile.
>>
>> Thermo_pw can use the dynamical matrices calculated in a previous run,
>> or using the phonon code. You need to use the two input variables
>> after_disp=.TRUE.
>> and fildyn='name of the dynamical matrix used in the ph.x input'
>> in the thermo_pw input.
>> Note however that you need to make the change written above or the code
>> will stop at the same point even if you read the dynamical matrices from
>> file.
>>
>> HTH,
>>
>> Andrea
>>
>>
>>> Best,
>>> Gunnar
>>>
>>>> On 11 Oct 2016, at 00:08, Gunnar Palsson <gunnar.karl at gmail.com> wrote:
>>>>
>>>> Andrea,
>>>>
>>>> I compiled qe-6.0 and thermo_pw 0.6.0, deleted the output folder,
>>>> and repeated the calculation. I still get the same error. Then I
>>>> tried calculating pure vanadium with as similar
>>>> settings as possible which went fine.
>>>>
>>>> Attached are the input and output files.
>>>>
>>>>
>>>>
>>>> Best,
>>>> Gunnar
>>>> <ph_control><thermo_control><v2h.scf.in><v2h.scf.out>
>>>>> On 10 Oct 2016, at 11:03, Andrea Dal Corso <dalcorso at sissa.it> wrote:
>>>>>
>>>>> It is a strange error. It seems that your working directory was not
>>>>> empty. The output has no information.
>>>>> I would try with the last version of thermo_pw and with a clean working
>>>>> directory. If the problem is still there I will check what is happening.
>>>>>
>>>>> Andrea
>>>>>
>>>>>
>>>>> On Mon, 2016-10-10 at 10:51 +0200, Gunnar Palsson wrote:
>>>>>> Andrea,
>>>>>>
>>>>>> Thank you very much for explaining things very clearly! I was
>>>>>> able to create an input file based on the space group and
>>>>>> Wyckoff symbols. It now works nicely to relax the structure and
>>>>>> calculate the elastic constants. However when I did a phonon
>>>>>> calculation I got a message that I do not know how to interpret:
>>>>>>
>>>>>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>>>>>> Error in routine plotband_sub (1):
>>>>>> unexpected change of symmetry
>>>>>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>>>>>>
>>>>>> Any idea of how to proceed from here?
>>>>>>
>>>>>>
>>>>>> Best regards,
>>>>>> Gunnar
>>>>>>
>>>>>>
>>>>>>> On 8 Oct 2016, at 16:02, Andrea Dal Corso <dalcorso at sissa.it> wrote:
>>>>>>>
>>>>>>> This is not a problem of thermo_pw. If you use the same input
>>>>>>> with pw.x you will have only four symmetry operations as well.
>>>>>>> The problem is that using ibrav=6 with 24 atoms the
>>>>>>> code finds that it is a supercell and neglects all symmetries
>>>>>>> with fractional translations.
>>>>>>> Although slow however this cell is correct and should provide
>>>>>>> reasonable results.
>>>>>>> thermo_pw just tells you that you are not exploiting correctly
>>>>>>> the symmetry.
>>>>>>> If you use ibrav=7 without converting the coordinates to the
>>>>>>> centered cell, the coordinates are
>>>>>>> wrong because they are in the crystal basis of the
>>>>>>> conventional cell and the atoms should be 12.
>>>>>>> cif2qe should now have an option that allow you to obtain the
>>>>>>> crystal coordinates for the centered cell.
>>>>>>>
>>>>>>> The alternative is to use the QE ability to deal directly with
>>>>>>> the space group.
>>>>>>> You have to specify space_group=141 and origin_choice=2 in the
>>>>>>> system namelist, to use
>>>>>>> nat=2 because there are only two inequivalent atoms and
>>>>>>> specify the atomic coordinates as crystal_sg,
>>>>>>> giving
>>>>>>>
>>>>>>> V 16h 0.49964 0.26712
>>>>>>> H 8c
>>>>>>>
>>>>>>> extracted from your cif file. With this input QE finds a cell
>>>>>>> with ibrav=7,
>>>>>>> and 12 atoms and thermo_pw recognizes correctly the space
>>>>>>> group 141 and finds a point group D_4h
>>>>>>> compatible with the centered tetragonal lattice.
>>>>>>>
>>>>>>> HTH,
>>>>>>>
>>>>>>> Andrea
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Quoting Gunnar Palsson <gunnar.karl at gmail.com>:
>>>>>>>
>>>>>>>> Dear Andrea,
>>>>>>>>
>>>>>>>>
>>>>>>>> I have obtained a cif file for the stoichiometric compound
>>>>>>>> V2H and I have run cif2cell (1.2.10) to generate a pw input
>>>>>>>> file. Since the cell is body centered tetragonal I changed
>>>>>>>> the Bravais lattice to 7. When running thermo_pw to calculate
>>>>>>>> the phonon dispersion, the program mentions that there is an
>>>>>>>> incompatibility of the point group with the Bravais lattice.
>>>>>>>>
>>>>>>>> However if I run the cif2cell with the following option:
>>>>>>>> cif2cell v2h.cif -p pwscf --no-reduce
>>>>>>>> --print-symmetry-operations I get 32 symmetry operations.
>>>>>>>>
>>>>>>>> The output of thermo_pw (0.5.0) running on QE 5.4.0 is:
>>>>>>>>
>>>>>>>> C_i (-1) is incompatible with the centered tetragonal Bravais lattice
>>>>>>>> It is compatible with the
>>>>>>>> triclinic Bravais lattice; ibrav= 14
>>>>>>>>
>>>>>>>> You might want to change the Bravais lattice or to
>>>>>>>>
>>>>>>>> understand why the symmetries are wrong beforecontinuing
>>>>>>>> The point group or the Laue class are not used to reduce the
>>>>>>>> number of
>>>>>>>> computed tensor components
>>>>>>>> Found symmetry operation: I + ( 0.5000 -0.5000 -0.5000)
>>>>>>>> This is a supercell, fractional translations are disabled
>>>>>>>>
>>>>>>>> FFT mesh: ( 50, 50, 50 )
>>>>>>>>
>>>>>>>> 2 Sym. Ops., with inversion, found
>>>>>>>>
>>>>>>>>
>>>>>>>> s frac. trans.
>>>>>>>>
>>>>>>>> isym = 1 identity
>>>>>>>>
>>>>>>>> cryst. s( 1) = ( 1 0 0 )
>>>>>>>> ( 0 1 0 )
>>>>>>>> ( 0 0 1 )
>>>>>>>>
>>>>>>>> cart. s( 1) = ( 1.0000000 0.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 1.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 0.0000000 1.0000000 )
>>>>>>>>
>>>>>>>>
>>>>>>>> isym = 2 inversion
>>>>>>>>
>>>>>>>> cryst. s( 2) = ( -1 0 0 )
>>>>>>>> ( 0 -1 0 )
>>>>>>>> ( 0 0 -1 )
>>>>>>>>
>>>>>>>>
>>>>>>>> cart. s( 2) = ( -1.0000000 0.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 -1.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 0.0000000 -1.0000000 )
>>>>>>>>
>>>>>>>>
>>>>>>>> point group C_i (-1)
>>>>>>>> there are 2 classes
>>>>>>>> the character table:
>>>>>>>>
>>>>>>>> E i
>>>>>>>> A_g 1.00 1.00
>>>>>>>> A_u 1.00 -1.00
>>>>>>>>
>>>>>>>>
>>>>>>>> Changing the Bravais lattice to 6 yields a different response:
>>>>>>>>
>>>>>>>> C_2h (2/m) is incompatible with the tetragonal Bravais lattice
>>>>>>>> It is compatible with the
>>>>>>>> monoclinic (c unique) Bravais lattice; ibrav= 12
>>>>>>>> base centered monoclinic (c unique) Bravais lattice; ibrav= 13
>>>>>>>> monoclinic (b unique) Bravais lattice; ibrav= -12
>>>>>>>> base centered monoclinic (b unique) Bravais lattice; ibrav= -13
>>>>>>>>
>>>>>>>> You might want to change the Bravais lattice or to
>>>>>>>>
>>>>>>>> understand why the symmetries are wrong beforecontinuing
>>>>>>>> The point group or the Laue class are not used to reduce the
>>>>>>>> number of
>>>>>>>> computed tensor components
>>>>>>>> Found symmetry operation: I + ( -0.5000 -0.5000 -0.5000)
>>>>>>>> This is a supercell, fractional translations are disabled
>>>>>>>>
>>>>>>>> FFT mesh: ( 60, 60, 64 )
>>>>>>>>
>>>>>>>> 4 Sym. Ops., with inversion, found
>>>>>>>>
>>>>>>>>
>>>>>>>> s frac. trans.
>>>>>>>>
>>>>>>>> isym = 1 identity
>>>>>>>>
>>>>>>>> cryst. s( 1) = ( 1 0 0 )
>>>>>>>> ( 0 1 0 )
>>>>>>>> ( 0 0 1 )
>>>>>>>>
>>>>>>>> cart. s( 1) = ( 1.0000000 0.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 1.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 0.0000000 1.0000000 )
>>>>>>>>
>>>>>>>>
>>>>>>>> isym = 2 180 deg rotation - cart. axis [1,0,0]
>>>>>>>>
>>>>>>>> cryst. s( 2) = ( 1 0 0 )
>>>>>>>> ( 0 -1 0 )
>>>>>>>> ( 0 0 -1 )
>>>>>>>>
>>>>>>>> cart. s( 2) = ( 1.0000000 0.0000000 0.0000000 )
>>>>>>>>
>>>>>>>> isym = 3 inversion
>>>>>>>>
>>>>>>>> cryst. s( 3) = ( -1 0 0 )
>>>>>>>> ( 0 -1 0 )
>>>>>>>> ( 0 0 -1 )
>>>>>>>>
>>>>>>>> cart. s( 3) = ( -1.0000000 0.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 -1.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 0.0000000 -1.0000000 )
>>>>>>>>
>>>>>>>>
>>>>>>>> isym = 4 inv. 180 deg rotation - cart. axis [1,0,0]
>>>>>>>>
>>>>>>>> cryst. s( 4) = ( -1 0 0 )
>>>>>>>> ( 0 1 0 )
>>>>>>>> ( 0 0 1 )
>>>>>>>>
>>>>>>>> cart. s( 4) = ( -1.0000000 0.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 1.0000000 0.0000000 )
>>>>>>>> ( 0.0000000 0.0000000 1.0000000 )
>>>>>>>>
>>>>>>>>
>>>>>>>> point group C_2h (2/m)
>>>>>>>> there are 4 classes
>>>>>>>> the character table:
>>>>>>>>
>>>>>>>> I have spent a lot of time trying to figure this out but I am
>>>>>>>> unable. Any advice would be most welcome,
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Gunnar
>>>>>>>>
>>>>>>>>
>>>>>>>>> On 16 Aug 2016, at 12:05, Andrea Dal Corso <dalcorso at sissa.it> wrote:
>>>>>>>>>
>>>>>>>>> On Sat, 2016-08-13 at 13:16 +0200, Gunnar Palsson wrote:
>>>>>>>>>> Dear Andrea,
>>>>>>>>>>
>>>>>>>>>> First I would like to tell you that I find your thermo_pw
>>>>>>>>>> package extremely useful in many ways. I was inspired by
>>>>>>>>>> your article J. Phys. Condensed Matter 26, 335401 (2014)
>>>>>>>>>> and have been practising using your PS library v1.0 and the
>>>>>>>>>> PAW potentials, for pure vanadium and niobium to calculate
>>>>>>>>>> the thermoelastic properties. I have been thinking for
>>>>>>>>>> quite a while about calculating the thermophysical
>>>>>>>>>> properties and changes in free energy of metal hydrides,
>>>>>>>>>> specifically vanadium hydride, in an attempt to determine
>>>>>>>>>> the phase boundaries. I am also interested in the changes
>>>>>>>>>> in the elastic constants with temperature and hydrogen. The
>>>>>>>>>> question I have is whether one can use thermo_pw to
>>>>>>>>>> calculate the Helmholtz free energy in the quasi harmonic
>>>>>>>>>> approximation as a function of temperature for a supercell
>>>>>>>>>> of vanadium with few hydrogen atoms. The size of the
>>>>>>>>>> supercell determines what part of the phase diagram one can
>>>>>>>>>> access in terms of concentration. So for 16 vanadium atoms,
>>>>>>>>>> one can go from
>>>>>>>>> 1/
>>>>>>>>>> 16 to 16/16 in H/V concentration for example. It is my
>>>>>>>>>> understanding that this requires ibrav=0, which may not be
>>>>>>>>>> fully implemented? If not it would still be valuable to
>>>>>>>>>> look into the stoichiometric hydride, V2H, and VH. The V2H
>>>>>>>>>> belongs to space group 141. Finally, I have some neutron
>>>>>>>>>> scattering data on hydrogen containing vanadium, and it
>>>>>>>>>> would be extremely valuable to use the output of thermo_pw
>>>>>>>>>> to calculate various neutron scattering cross sections and
>>>>>>>>>> compare with experiment, which I can probably do.
>>>>>>>>>>
>>>>>>>>> Using ibrav=0 thermo_pw cannot use symmetry to reduce the number of
>>>>>>>>> tensor components that it calculates. Moreover it does not know the
>>>>>>>>> Bravais lattice number and presently it cannot calculate it, so it
>>>>>>>>> cannot find the automatic path, you have to provide it from input.
>>>>>>>>> I think it might also be possible to use ibrav=0 for phonon
>>>>>>>>> calculations
>>>>>>>>> and for the calculation of harmonic thermal properties, but all the
>>>>>>>>> rest, such as the anharmonic properties is most probably
>>>>>>>>> uncorrect. In
>>>>>>>>> any case I have not worked on this option so far, so I think
>>>>>>>>> it is very
>>>>>>>>> probable that there are problems.
>>>>>>>>>
>>>>>>>>> Andrea
>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>> Dr. Gunnar Palsson,
>>>>>>>>>> Researcher,
>>>>>>>>>> Uppsala University.
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Thermo_pw-forum mailing list
>>>>>>>>>> Thermo_pw-forum at qeforge.qe-forge.org
>>>>>>>>>> http://qeforge.qe-forge.org/mailman/listinfo/thermo_pw-forum
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Andrea Dal Corso Tel. 0039-040-3787428
>>>>>>>>> SISSA, Via Bonomea 265 Fax. 0039-040-3787249
>>>>>>>>> I-34136 Trieste (Italy) e-mail: dalcorso at sissa.it
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Thermo_pw-forum mailing list
>>>>>>>>> Thermo_pw-forum at qeforge.qe-forge.org
>>>>>>>>> http://qeforge.qe-forge.org/mailman/listinfo/thermo_pw-forum
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Andrea Dal Corso Tel. 0039-040-3787428
>>>>> SISSA, Via Bonomea 265 Fax. 0039-040-3787249
>>>>> I-34136 Trieste (Italy) e-mail: dalcorso at sissa.it
>>>>>
>>>>
>>>
>>
>> --
>> Andrea Dal Corso Tel. 0039-040-3787428
>> SISSA, Via Bonomea 265 Fax. 0039-040-3787249
>> I-34136 Trieste (Italy) e-mail: dalcorso at sissa.it
>> <mailto:dalcorso at sissa.it>
More information about the Thermo_pw-forum
mailing list