Phonons with ASR: Py-3 branch is not working

39 views
Skip to first unread message

Arpan Kundu

unread,
Jul 7, 2020, 11:06:26 AM7/7/20
to ipi-users
Hello everybody,

I have encountered one issue with the python-3 branch for calculating phonon frequencies. I ran the example with water. It seems that FD, NMFD and ENMFD code is breaking while applying the acoustic sum rule and gives me the following error in the ipi output. Although it is doing all the displacements but not calculating the dynamical matrix, eigenvectors, etc. This is not happening with the officially released i-PI with python-2. If I do not use <asr> attribute, then it is working fine.

Exception in thread Thread-10:
Traceback (most recent call last):
  File "/software/python-3.5.2-el7-x86_64/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/software/python-3.5.2-el7-x86_64/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/home/arpank/i-pi-master-py3/ipi/engine/motion/phonons.py", line 114, in step
    self.refdynmatrix = self.apply_asr(self.refdynmatrix.copy())
  File "/home/arpank/i-pi-master-py3/ipi/engine/motion/phonons.py", line 263, in apply_asr
    R[iatom, 1] * U[idof, 2] - R[iatom, 2] * U[idof, 1]
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

Does anyone have any ideas why applying asr for the python3 branch is creating a problem? 
I have attached a tar file containing my tests with py2 and py3 version of the code. 

Secondly, I am interested in IMF and SCP phonons.

I was able to run IMF and SCPPhonons, successfully, with python3-branch by taking the dynamical matrix calculated with the python-2 code. For the moment, I am trying to understand the IMF outputs. I have few queries regarding them.

(1) I guess, .qvf file is the vibrational partition function printed out for each mode. However, I do not understand its format. What are the numbers in 3 columns and what are the rows representing?

(2) I guess, .vfit file is the vibrational potential (2nd column) for each normal mode, which is used for fitting the 1-dimensional potential. If the first column represents the normal mode displacements; why the values are so high like from (-30 to +71) for 8th mode for water. Aren't these values normalized?

Best,
Arpan




h2o-lammps-test.tar

Michele Ceriotti

unread,
Jul 7, 2020, 2:22:59 PM7/7/20
to ipi-users
Hi Arpan, this looks like a bug. PLS file it as such on github, so we can address it there. 
Best
M
Reply all
Reply to author
Forward
0 new messages