Re: [Phonopy-users] Segmentation fault creating fc3.hdf5
Brought to you by:
atztogo
|
From: Atsushi T. <atz...@gm...> - 2019-01-14 08:12:24
|
Hi Tomas,
Thanks for your investigation. Can you send your input files to me to
reproduce your problem and to solve this issue?
Togo
On Mon, Jan 14, 2019 at 5:02 PM Tomas Kamencek
<tom...@st...> wrote:
>
> Dear Prof. Togo or whoever has an idea for a solution,
>
> I want to calculate the lattice thermal conductivity for a system with 184 atoms in the unit cell. (This is a non-primitive unit cell. The primitive one has only 46 atoms.) I carried out all the calculations for the 2x2x2 supercell of this non-primitive unit cell (i.e. 1472 atoms in total).
> However, when I try to calculate the third order force constants from the FORCES_FC3 file, I always end up with a segmentation fault after the same step. I calculated the thermal conductivity of different systems using exactly the same approach without problem in the past, but for the present case I am stuck at this point. For anybody who might provide some ideas, what the I could do to solve my problem, I will describe what I did so far:
>
> I run phono3py with the following command in order to produce the fc3.hdf5 file.
>
> phono3py -v --dim="2 2 2" -c POSCAR --sym-fc --pa="0 1/2 1/2 1/2 0 1/2 1/2 1/2 0" --cfc
>
> During phono3py's attempt to calculate the third order force constants, I monitored the memory usage of the computation nodes and it was still significantly below the upper limit (at least, when I use the --cfc option).
>
> The following output is produced during the calculation of the 3rd order force constants:
>
> ...
> ----------------------------- Force constants ------------------------------
> Imposing translational and index exchange symmetry to fc2: True
> Imposing translational and index exchange symmetry to fc3: True
> Imposing symmetry of index exchange to fc3 in reciprocal space: False
> Displacement dataset for fc3 is read from disp_fc3.yaml.
> Sets of supercell forces are read from FORCES_FC3.
> Computing fc3[ 1, x, x ] using numpy.linalg.pinv with displacements:
> [ 0.0300 0.0000 0.0000]
> [-0.0300 0.0000 0.0000]
> Computing fc3[ 257, x, x ] using numpy.linalg.pinv with a displacement:
> [ 0.0300 0.0000 0.0000]
> Computing fc3[ 265, x, x ] using numpy.linalg.pinv with displacements:
> [ 0.0300 0.0000 0.0000]
> [-0.0300 0.0000 0.0000]
> [ 0.0000 0.0000 0.0300]
> [ 0.0000 0.0000 -0.0300]
> Computing fc3[ 1089, x, x ] using numpy.linalg.pinv with displacements:
> [ 0.0300 0.0000 0.0000]
> [ 0.0000 0.0000 0.0300]
> [ 0.0000 0.0000 -0.0300]
> Segmentation fault
>
>
> I tried to track down the source of the error by forcing the code to print more output. I used the print statement of line 134-136 in the file fc3.py:
>
> if verbose > 2:
> print(" [ %d, x, x ] to [ %d, x, x ]" %
> (i_done + 1, i_target + 1))
>
> The last lines that were printed, were the following:
>
> ...
> [ 1089, x, x ] to [ 1177, x, x ]
> Segmentation fault
>
> I was able to find out that the problem seems to happen somewhere inside the phono3c.distribute_fc3(fc3,......) method in line 141-145 in fc3.py For that reason, I tried to deliberately jump to the ordinary double loop (the except ImportError option in lines 146f) instead.
>
> There I encountered a small bug, that probably does not show up very often, since this exception is very unlikely to be reached.
>
> I think lines 152-153 should read
>
> fc3[int(s2compact[i_target]), j, k] = third_rank_tensor_rotation(
> rot_cart_inv, fc3[int(s2compact[i_done]), j_rot, k_rot])
>
> instead of
>
> fc3[i_target, j, k] = third_rank_tensor_rotation(
> rot_cart_inv, fc3[i_done, j_rot, k_rot])
>
> Nevertheless, the segmentation fault occurs at the same position. Therefore, I wonder if there is some internal limitation anybody is aware of, which prevents the calculation of the third order force constants for large systems.
>
> I would be very grateful for any help! Thanks in advance for your time!
>
> Best regards,
> Tomas Kamencek
>
> _______________________________________________
> Phonopy-users mailing list
> Pho...@li...
> https://lists.sourceforge.net/lists/listinfo/phonopy-users
--
Atsushi Togo
Elements Strategy Initiative for Structural Materials, Kyoto university
E-mail: atz...@gm...
|