Should i-PI expect upper triangular stress tensor elements from driver?

52 views
Skip to first unread message

Arpan Kundu

unread,
Aug 28, 2019, 11:17:38 AM8/28/19
to ipi-users
I was running the tutorial-1 in the example folder. There I saw that the "original Fortran driver" that comes with i-PI is always sending an upper-triangular stress tensor to the i-PI server. Here I am confused. Shouldn't the stress tensor be a symmetric matrix? Am I missing something here? 
I am writing an i-PI interface for an ab-initio code. That ab-initio code is providing me with 6 elements of stress tensor (xx, yy, zz, xy, yz, zx). Naturally, I am assuming them to be symmetric. However, I am not sure what kind of stress tensor "i-PI" expects - i mean symmetric or upper triangular?
Any help will be greatly appreciated.
Thank you.

Michele Ceriotti

unread,
Aug 28, 2019, 1:16:16 PM8/28/19
to ipi-users
i-PI assumes an upper-triangular cell matrix, which is a common convention and is useful when you do variable-cell dynamics to avoid spurious rotations of the cell. 
Because of that, the stress tensor only has an impact on the upper triangular elements of the cell. So you can return the full tensor if you like, the lower part will simply be ignored. 
Hope this helps
M

Arpan Kundu

unread,
Aug 28, 2019, 1:25:44 PM8/28/19
to ipi-users
Thank you very much, Prof. Ceriotti! That is clear and certainly clears my confusion!

Arpan Kundu

unread,
Aug 29, 2019, 6:10:06 PM8/29/19
to ipi-users
I guess "i-PI" expect that the supplied stress to be in Ha/Bohr^3. Am I correct? I just want to be sure.

Michele Ceriotti

unread,
Aug 30, 2019, 4:16:35 AM8/30/19
to ipi-users
Please also check for yourself, but I believe we return the virial tensor, that has just units of bohr, and divide by the cell volume later on when needed.

Arpan Kundu

unread,
Sep 2, 2019, 12:32:42 PM9/2/19
to ipi-users
Thank you very much! 
Reply all
Reply to author
Forward
0 new messages