@@ -26,10 +26,7 @@ def _load_set(folder, nopbc: bool):
2626 cells = np .zeros ((coords .shape [0 ], 3 , 3 ))
2727 else :
2828 cells = np .load (os .path .join (folder , "box.npy" ))
29- eners = _cond_load_data (os .path .join (folder , "energy.npy" ))
30- forces = _cond_load_data (os .path .join (folder , "force.npy" ))
31- virs = _cond_load_data (os .path .join (folder , "virial.npy" ))
32- return cells , coords , eners , forces , virs
29+ return cells , coords
3330
3431
3532def to_system_data (folder , type_map = None , labels = True ):
@@ -41,31 +38,13 @@ def to_system_data(folder, type_map=None, labels=True):
4138 sets = sorted (glob .glob (os .path .join (folder , "set.*" )))
4239 all_cells = []
4340 all_coords = []
44- all_eners = []
45- all_forces = []
46- all_virs = []
4741 for ii in sets :
48- cells , coords , eners , forces , virs = _load_set (ii , data .get ("nopbc" , False ))
42+ cells , coords = _load_set (ii , data .get ("nopbc" , False ))
4943 nframes = np .reshape (cells , [- 1 , 3 , 3 ]).shape [0 ]
5044 all_cells .append (np .reshape (cells , [nframes , 3 , 3 ]))
5145 all_coords .append (np .reshape (coords , [nframes , - 1 , 3 ]))
52- if eners is not None :
53- eners = np .reshape (eners , [nframes ])
54- if labels :
55- if eners is not None and eners .size > 0 :
56- all_eners .append (np .reshape (eners , [nframes ]))
57- if forces is not None and forces .size > 0 :
58- all_forces .append (np .reshape (forces , [nframes , - 1 , 3 ]))
59- if virs is not None and virs .size > 0 :
60- all_virs .append (np .reshape (virs , [nframes , 3 , 3 ]))
6146 data ["cells" ] = np .concatenate (all_cells , axis = 0 )
6247 data ["coords" ] = np .concatenate (all_coords , axis = 0 )
63- if len (all_eners ) > 0 :
64- data ["energies" ] = np .concatenate (all_eners , axis = 0 )
65- if len (all_forces ) > 0 :
66- data ["forces" ] = np .concatenate (all_forces , axis = 0 )
67- if len (all_virs ) > 0 :
68- data ["virials" ] = np .concatenate (all_virs , axis = 0 )
6948 # allow custom dtypes
7049 if labels :
7150 dtypes = dpdata .system .LabeledSystem .DTYPES
@@ -82,9 +61,6 @@ def to_system_data(folder, type_map=None, labels=True):
8261 "coords" ,
8362 "real_atom_names" ,
8463 "nopbc" ,
85- "energies" ,
86- "forces" ,
87- "virials" ,
8864 ):
8965 # skip as these data contains specific rules
9066 continue
@@ -93,13 +69,13 @@ def to_system_data(folder, type_map=None, labels=True):
9369 f"Shape of { dtype .name } is not (nframes, ...), but { dtype .shape } . This type of data will not converted from deepmd/npy format."
9470 )
9571 continue
96- natoms = data ["coords " ].shape [1 ]
72+ natoms = data ["atom_types " ].shape [0 ]
9773 shape = [
9874 natoms if xx == dpdata .system .Axis .NATOMS else xx for xx in dtype .shape [1 :]
9975 ]
10076 all_data = []
10177 for ii in sets :
102- tmp = _cond_load_data (os .path .join (ii , dtype .name + ".npy" ))
78+ tmp = _cond_load_data (os .path .join (ii , dtype .deepmd_name + ".npy" ))
10379 if tmp is not None :
10480 all_data .append (np .reshape (tmp , [tmp .shape [0 ], * shape ]))
10581 if len (all_data ) > 0 :
@@ -136,19 +112,6 @@ def dump(folder, data, set_size=5000, comp_prec=np.float32, remove_sets=True):
136112 np .savetxt (os .path .join (folder , "formal_charges.raw" ), data ["formal_charges" ])
137113 # reshape frame properties and convert prec
138114 nframes = data ["cells" ].shape [0 ]
139- cells = np .reshape (data ["cells" ], [nframes , 9 ]).astype (comp_prec )
140- coords = np .reshape (data ["coords" ], [nframes , - 1 ]).astype (comp_prec )
141- eners = None
142- forces = None
143- virials = None
144- if "energies" in data :
145- eners = np .reshape (data ["energies" ], [nframes ]).astype (comp_prec )
146- if "forces" in data :
147- forces = np .reshape (data ["forces" ], [nframes , - 1 ]).astype (comp_prec )
148- if "virials" in data :
149- virials = np .reshape (data ["virials" ], [nframes , 9 ]).astype (comp_prec )
150- if "atom_pref" in data :
151- atom_pref = np .reshape (data ["atom_pref" ], [nframes , - 1 ]).astype (comp_prec )
152115 # dump frame properties: cell, coord, energy, force and virial
153116 nsets = nframes // set_size
154117 if set_size * nsets < nframes :
@@ -158,16 +121,6 @@ def dump(folder, data, set_size=5000, comp_prec=np.float32, remove_sets=True):
158121 set_end = (ii + 1 ) * set_size
159122 set_folder = os .path .join (folder , "set.%03d" % ii )
160123 os .makedirs (set_folder )
161- np .save (os .path .join (set_folder , "box" ), cells [set_stt :set_end ])
162- np .save (os .path .join (set_folder , "coord" ), coords [set_stt :set_end ])
163- if eners is not None :
164- np .save (os .path .join (set_folder , "energy" ), eners [set_stt :set_end ])
165- if forces is not None :
166- np .save (os .path .join (set_folder , "force" ), forces [set_stt :set_end ])
167- if virials is not None :
168- np .save (os .path .join (set_folder , "virial" ), virials [set_stt :set_end ])
169- if "atom_pref" in data :
170- np .save (os .path .join (set_folder , "atom_pref" ), atom_pref [set_stt :set_end ])
171124 try :
172125 os .remove (os .path .join (folder , "nopbc" ))
173126 except OSError :
@@ -187,13 +140,8 @@ def dump(folder, data, set_size=5000, comp_prec=np.float32, remove_sets=True):
187140 "atom_names" ,
188141 "atom_types" ,
189142 "orig" ,
190- "cells" ,
191- "coords" ,
192143 "real_atom_names" ,
193144 "nopbc" ,
194- "energies" ,
195- "forces" ,
196- "virials" ,
197145 ):
198146 # skip as these data contains specific rules
199147 continue
@@ -211,4 +159,4 @@ def dump(folder, data, set_size=5000, comp_prec=np.float32, remove_sets=True):
211159 set_stt = ii * set_size
212160 set_end = (ii + 1 ) * set_size
213161 set_folder = os .path .join (folder , "set.%03d" % ii )
214- np .save (os .path .join (set_folder , dtype .name ), ddata [set_stt :set_end ])
162+ np .save (os .path .join (set_folder , dtype .deepmd_name ), ddata [set_stt :set_end ])
0 commit comments