deepmodeling/dpdata

After loading cp2k data, the result is empty

Roy-Kid opened this issue · 1 comments

I try to use cp2k to obtain the data, and I have some problems that I can't fix it.

  1. I prepare the pos.xyz and .log file under output folder, and use out = dpdata.LabeledSystem('output', fmt='cp2k/aimd_output') to load it. But the result is nothing, such as print(out['atom_numbs']) == [].

Here is 1 of 4 frames of H2O-pos-1.xyz:

       3
 i =        0, time =        0.000, E =       -17.1635848163

  O        12.2353220000        1.3766420000       10.8698800000
  H        12.4151390000        2.2331250000       11.2576110000
  H        11.9224760000        1.5737990000        9.9869940000

and I attach the log file and .inp file ( I add a .md suffix to upload, rename it and you can open it)
H2O.log
H2O.inp.md

What should I do to fix this problem and convert it to the raw format for next deepmd training?

  1. What's the difference between fmt='cp2k/output' and fmt='cp2k/aimd_output', what should I use?
  1. fmt='aimd_output' assumes all information( include CELL, but not pos) is included in log/output file, and a pos-xyz file is needed. and this is for MD output only. ( You need to change the PRINT LEVEL to MEDIUM)
    I need to rewrite this, since the style is not accustomed to cp2k users who often got -pos-1.xyz and -frc-1.xyz for position and force.
  2. fmt='output' is for single point energy calculation ( RUN_TYPE ENERGY_FORCE)