pwact 0.2.0__py3-none-any.whl → 0.2.2.dev0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pwact/active_learning/explore/run_model_md.py +110 -0
- pwact/active_learning/explore/select_image.py +1 -1
- pwact/active_learning/init_bulk/direct.py +182 -0
- pwact/active_learning/init_bulk/duplicate_scale.py +1 -1
- pwact/active_learning/init_bulk/explore.py +301 -0
- pwact/active_learning/init_bulk/init_bulk_run.py +78 -48
- pwact/active_learning/init_bulk/relabel.py +149 -120
- pwact/active_learning/label/labeling.py +125 -11
- pwact/active_learning/user_input/init_bulk_input.py +55 -6
- pwact/active_learning/user_input/iter_input.py +12 -0
- pwact/active_learning/user_input/resource.py +18 -6
- pwact/active_learning/user_input/scf_param.py +24 -6
- pwact/active_learning/user_input/train_param/optimizer_param.py +1 -1
- pwact/main.py +17 -7
- pwact/utils/app_lib/do_direct_sample.py +145 -0
- pwact/utils/app_lib/do_eqv2model.py +41 -0
- pwact/utils/constant.py +31 -11
- pwact/utils/file_operation.py +12 -5
- {pwact-0.2.0.dist-info → pwact-0.2.2.dev0.dist-info}/METADATA +1 -1
- {pwact-0.2.0.dist-info → pwact-0.2.2.dev0.dist-info}/RECORD +24 -20
- {pwact-0.2.0.dist-info → pwact-0.2.2.dev0.dist-info}/LICENSE +0 -0
- {pwact-0.2.0.dist-info → pwact-0.2.2.dev0.dist-info}/WHEEL +0 -0
- {pwact-0.2.0.dist-info → pwact-0.2.2.dev0.dist-info}/entry_points.txt +0 -0
- {pwact-0.2.0.dist-info → pwact-0.2.2.dev0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from ase.io import read
|
|
2
|
+
from fairchem.core import OCPCalculator
|
|
3
|
+
import os
|
|
4
|
+
output_file = 'train.xyz'
|
|
5
|
+
traj = read("select.xyz", index=":")
|
|
6
|
+
calc = OCPCalculator(
|
|
7
|
+
checkpoint_path="/share/public/PWMLFF_test_data/eqv2-models/eqV2_31M_omat.pt",
|
|
8
|
+
cpu=False,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
def atoms2xyzstr(atoms):
|
|
12
|
+
num_atom = atoms.get_global_number_of_atoms()
|
|
13
|
+
vol = atoms.get_volume()
|
|
14
|
+
pos = atoms.positions
|
|
15
|
+
forces = atoms.get_forces()
|
|
16
|
+
energy = atoms.get_potential_energy()
|
|
17
|
+
cell = atoms.cell
|
|
18
|
+
virial = -atoms.get_stress(voigt=False) * vol
|
|
19
|
+
xyzstr = "%d\n" % num_atom
|
|
20
|
+
xyz_head = 'Lattice="%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f" Properties=species:S:1:pos:R:3:forces:R:3 energy=%.8f'
|
|
21
|
+
xyz_format = (cell[0,0],cell[0,1],cell[0,2],cell[1,0],cell[1,1],cell[1,2],cell[2,0],cell[2,1],cell[2,2],energy)
|
|
22
|
+
if virial is not None:
|
|
23
|
+
xyz_head += ' virial="%.8f %.8f %.8f %.8f %.8f %.8f %.8f %.8f %.8f"'
|
|
24
|
+
xyz_format += (
|
|
25
|
+
virial[0,0], virial[0,1], virial[0,2],
|
|
26
|
+
virial[1,0], virial[1,1], virial[1,2],
|
|
27
|
+
virial[2,0], virial[2,1], virial[2,2]
|
|
28
|
+
)
|
|
29
|
+
xyz_head += '\n'
|
|
30
|
+
xyzstr += xyz_head % xyz_format
|
|
31
|
+
for i in range(num_atom):
|
|
32
|
+
xyzstr += "%2s %14.8f %14.8f %14.8f %14.8f %14.8f %14.8f\n" %\
|
|
33
|
+
(atoms[i].symbol,pos[i,0],pos[i,1],pos[i,2],forces[i,0],forces[i,1],forces[i,2])
|
|
34
|
+
return xyzstr
|
|
35
|
+
|
|
36
|
+
f = open(output_file, "w")
|
|
37
|
+
for i in range(len(traj)):
|
|
38
|
+
atoms = traj[i]
|
|
39
|
+
atoms.calc = calc
|
|
40
|
+
f.write(atoms2xyzstr(atoms))
|
|
41
|
+
f.close()
|
pwact/utils/constant.py
CHANGED
|
@@ -41,6 +41,7 @@ class SLURM_JOB_TYPE:
|
|
|
41
41
|
vasp_scf = "vasp/scf"
|
|
42
42
|
vasp_aimd = "vasp/aimd"
|
|
43
43
|
lammps = "lammps"
|
|
44
|
+
direct = "direct"
|
|
44
45
|
|
|
45
46
|
'''
|
|
46
47
|
description:
|
|
@@ -138,6 +139,7 @@ class DFT_STYLE:
|
|
|
138
139
|
pwmat = "pwmat"
|
|
139
140
|
cp2k = "cp2k"
|
|
140
141
|
lammps = "lammps"
|
|
142
|
+
bigmodel="bigmodel"
|
|
141
143
|
|
|
142
144
|
'''
|
|
143
145
|
description:
|
|
@@ -156,6 +158,8 @@ class DFT_STYLE:
|
|
|
156
158
|
return PWDATA.cp2k_scf
|
|
157
159
|
else:
|
|
158
160
|
return PWDATA.vasp_poscar
|
|
161
|
+
if dft_style.lower() == DFT_STYLE.bigmodel.lower():
|
|
162
|
+
return PWDATA.extxyz
|
|
159
163
|
|
|
160
164
|
@staticmethod
|
|
161
165
|
def get_normal_config(dft_style:str): # the input config file name of pwmat vasp and cp2k
|
|
@@ -249,17 +253,6 @@ class DFT_STYLE:
|
|
|
249
253
|
scf_list = [_.lower() for _ in scf_list]
|
|
250
254
|
return scf_list
|
|
251
255
|
|
|
252
|
-
'''
|
|
253
|
-
description:
|
|
254
|
-
the files in scf does not need reserve
|
|
255
|
-
return {*}
|
|
256
|
-
author: wuxingxing
|
|
257
|
-
'''
|
|
258
|
-
@staticmethod
|
|
259
|
-
def get_scf_del_list():
|
|
260
|
-
del_list = ["final.config"]
|
|
261
|
-
return del_list
|
|
262
|
-
|
|
263
256
|
@staticmethod
|
|
264
257
|
def get_aimd_config(dft_style:str):
|
|
265
258
|
if dft_style == DFT_STYLE.pwmat:
|
|
@@ -357,6 +350,20 @@ class INIT_BULK:
|
|
|
357
350
|
scf_tag = "tag.scf.success"
|
|
358
351
|
scf_tag_failed ="tag.scf.failed"
|
|
359
352
|
|
|
353
|
+
bigmodel="bigmodel"
|
|
354
|
+
bigmodel_job = "bigmodel.job"
|
|
355
|
+
bigmodel_tag = "tag.bigmodel.success"
|
|
356
|
+
bigmodel_tag_failed ="tag.bigmodel.failed"
|
|
357
|
+
bigmodel_traj = "traj.xyz"
|
|
358
|
+
|
|
359
|
+
direct="direct"
|
|
360
|
+
direct_job = "direct.job"
|
|
361
|
+
direct_tag = "tag.direct.success"
|
|
362
|
+
direct_tag_failed ="tag.direct.failed"
|
|
363
|
+
candidate_xyz="candidate.xyz"
|
|
364
|
+
candidate_idx="candidate.json"
|
|
365
|
+
direct_traj = "select.xyz"
|
|
366
|
+
|
|
360
367
|
collection = "collection"
|
|
361
368
|
npy_format_save_dir = "PWdata"
|
|
362
369
|
npy_format_name = "datapath.txt"
|
|
@@ -413,11 +420,18 @@ class EXPLORE_FILE_STRUCTURE:
|
|
|
413
420
|
kpu= "kpu"
|
|
414
421
|
md = "md"
|
|
415
422
|
select = "select"
|
|
423
|
+
direct = "direct"
|
|
416
424
|
md_tag = "tag.md.success"
|
|
417
425
|
md_tag_faild = "tag.md.error"
|
|
418
426
|
md_job = "md.job"
|
|
427
|
+
direct_tag = "tag.direct.success"
|
|
428
|
+
direct_tag_faild = "tag.direct.error"
|
|
429
|
+
direct_job = "direct.job"
|
|
419
430
|
# selected image info file names
|
|
420
431
|
candidate = "candidate.csv"
|
|
432
|
+
candidate_xyz="candidate.xyz"
|
|
433
|
+
select_idx = "select_idx.dat"
|
|
434
|
+
select_xyz = "select.xyz"
|
|
421
435
|
# candidate_random = "candidate_random.csv"
|
|
422
436
|
candidate_delete = "candidate_delete.csv"
|
|
423
437
|
failed = "fail.csv"
|
|
@@ -446,11 +460,17 @@ class EXPLORE_FILE_STRUCTURE:
|
|
|
446
460
|
|
|
447
461
|
|
|
448
462
|
class LABEL_FILE_STRUCTURE:
|
|
463
|
+
bigmodel="bigmodel"
|
|
449
464
|
scf = "scf"
|
|
450
465
|
result = "result"
|
|
451
466
|
scf_tag = "tag.scf.success"
|
|
452
467
|
scf_tag_failed = "tag.scf.failed"
|
|
453
468
|
scf_job = "scf.job"
|
|
469
|
+
bigmodel_job="bigmodel.job"
|
|
470
|
+
bigmodel_tag = "tag.bigmodel.success"
|
|
471
|
+
bigmodel_tag_failed = "tag.bigmodel.failed"
|
|
472
|
+
train_xyz = "train.xyz"
|
|
473
|
+
|
|
454
474
|
|
|
455
475
|
class LAMMPS:
|
|
456
476
|
input_lammps="in.lammps"
|
pwact/utils/file_operation.py
CHANGED
|
@@ -318,8 +318,15 @@ def get_file_extension(file_name:str, split_char = "."):
|
|
|
318
318
|
@Author :wuxingxing
|
|
319
319
|
"""
|
|
320
320
|
|
|
321
|
-
def get_random_nums(start, end, n):
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
numsArray
|
|
325
|
-
|
|
321
|
+
def get_random_nums(start, end, n, seed=None):
|
|
322
|
+
if seed is not None:
|
|
323
|
+
local_random = random.Random(seed) # 独立的随机实例
|
|
324
|
+
numsArray = set()
|
|
325
|
+
while len(numsArray) < n:
|
|
326
|
+
numsArray.add(local_random.randint(start, end-1))
|
|
327
|
+
return list(numsArray)
|
|
328
|
+
else:
|
|
329
|
+
numsArray = set()
|
|
330
|
+
while len(numsArray) < n:
|
|
331
|
+
numsArray.add(random.randint(start, end-1))
|
|
332
|
+
return list(numsArray)
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
pwact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
pwact/main.py,sha256=
|
|
2
|
+
pwact/main.py,sha256=FubLfN4QaqPEe7aYGzZhqvT2T2GEvMyU3hy07jvXEWU,15379
|
|
3
3
|
pwact/active_learning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
pwact/active_learning/environment.py,sha256=1vzOWnCNR2OXMFKz4DjQF2wb0aw1Xkjnz7cy1YGQrus,512
|
|
5
5
|
pwact/active_learning/explore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
pwact/active_learning/explore/run_model_md.py,sha256=
|
|
7
|
-
pwact/active_learning/explore/select_image.py,sha256=
|
|
6
|
+
pwact/active_learning/explore/run_model_md.py,sha256=n3f6aSMr1Cpw_cSUrlH28JwoWW7VLwUMcF1XB0ao2sw,27448
|
|
7
|
+
pwact/active_learning/explore/select_image.py,sha256=Qbdk4zhEfkvefY4MPtu7ErDL0XVfgfrBFPZUGDyiGF8,14468
|
|
8
8
|
pwact/active_learning/init_bulk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
pwact/active_learning/init_bulk/aimd.py,sha256=XzDlX2vylaljQKoUnv6nrI2NfiOdHZpq8qr3DenA1F4,10465
|
|
10
|
-
pwact/active_learning/init_bulk/
|
|
11
|
-
pwact/active_learning/init_bulk/
|
|
12
|
-
pwact/active_learning/init_bulk/
|
|
10
|
+
pwact/active_learning/init_bulk/direct.py,sha256=TBB7f13wbbURDgn4_IkgRZ-rwQ3p4gviNVYIAldi97U,9680
|
|
11
|
+
pwact/active_learning/init_bulk/duplicate_scale.py,sha256=hlGAr27YJhOElMz5GMyN0wWoChia4Jj_tvENsJ3wSBs,9481
|
|
12
|
+
pwact/active_learning/init_bulk/explore.py,sha256=ef1KA4Sii7sXSGncvomsLXTBtFM89H8Q5lYWGoAbN2U,15935
|
|
13
|
+
pwact/active_learning/init_bulk/init_bulk_run.py,sha256=t-lCiraAtHEUtW-rdhfRuXYoWpP4eJndX3F3E6IxWt8,10871
|
|
14
|
+
pwact/active_learning/init_bulk/relabel.py,sha256=I5vSmyDaCJtcJCWS6aAtlb72kAQSva4vCx4mn1BYXjg,11846
|
|
13
15
|
pwact/active_learning/init_bulk/relax.py,sha256=edyCZLEylUckIwOLBa55agUMo-aedj0dvoyG165YpuE,10450
|
|
14
16
|
pwact/active_learning/label/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
pwact/active_learning/label/labeling.py,sha256=
|
|
17
|
+
pwact/active_learning/label/labeling.py,sha256=JUdyaSvpspUwbMnhi65i6Cna0vWgMOAMNS1XTtqlygc,21740
|
|
16
18
|
pwact/active_learning/slurm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
19
|
pwact/active_learning/slurm/slurm.py,sha256=-Dmc2B9y4_27THCR2tZFXnwJvMmifivJeZ2FX8iy2Tw,16881
|
|
18
20
|
pwact/active_learning/slurm/slurm_tool.py,sha256=-4tc5dkpAUP0vmEdmqM8oYLcsUwixa4Z8h5_E9Gevdg,1249
|
|
@@ -23,24 +25,24 @@ pwact/active_learning/train/dp_kpu.py,sha256=GkGKEGhLmOvPERqgTkf_0_vD9zOEPlBX2N7
|
|
|
23
25
|
pwact/active_learning/train/train_model.py,sha256=F6DUOuTsYGvinv-qz2iqa2j7DPy3hnCySVUkx8DpR_U,11605
|
|
24
26
|
pwact/active_learning/user_input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
27
|
pwact/active_learning/user_input/cmd_infos.py,sha256=g1QW5Wi3JvmC5xEY4F-7AO1xBuJSjHG8IhZjom8haxQ,3728
|
|
26
|
-
pwact/active_learning/user_input/init_bulk_input.py,sha256=
|
|
27
|
-
pwact/active_learning/user_input/iter_input.py,sha256=
|
|
28
|
-
pwact/active_learning/user_input/resource.py,sha256=
|
|
29
|
-
pwact/active_learning/user_input/scf_param.py,sha256=
|
|
28
|
+
pwact/active_learning/user_input/init_bulk_input.py,sha256=M8IlT4ABJUEwomb6eQGq8d3h1darMHtDlws1fcq077k,9422
|
|
29
|
+
pwact/active_learning/user_input/iter_input.py,sha256=7k0M3BaP1dMWK2Bglvb2WXQ2Ugrfy0v7yMqPqWqNCdE,12744
|
|
30
|
+
pwact/active_learning/user_input/resource.py,sha256=28rbsJ9qtkToeuXst7Q1Z189KpDd8YZ8bBK7cuDp7RU,7358
|
|
31
|
+
pwact/active_learning/user_input/scf_param.py,sha256=QX_Dd6c9Q2sjV4lIKjfV7t-DgIwDKZp7fh2KY5HyKOU,11262
|
|
30
32
|
pwact/active_learning/user_input/workdir.py,sha256=64J3wBbYzy6ztYHs513YHfEIF5d8zwv_WpF-U9HOEkA,8245
|
|
31
33
|
pwact/active_learning/user_input/train_param/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
34
|
pwact/active_learning/user_input/train_param/model_param.py,sha256=4-bJAGOJDTLT11lLqpEZAWMqgen7zghHESfHeb0UUb4,4574
|
|
33
35
|
pwact/active_learning/user_input/train_param/nep_param.py,sha256=04GEKqT2miZYxgVtxTEGIWJW5mUZriPcvwfgdp7IL0g,21249
|
|
34
36
|
pwact/active_learning/user_input/train_param/nn_feature_type.py,sha256=eGmqfsPTlIpftzvUqHV_VziGQuUZ_KKqek3SQKZl85o,15640
|
|
35
|
-
pwact/active_learning/user_input/train_param/optimizer_param.py,sha256=
|
|
37
|
+
pwact/active_learning/user_input/train_param/optimizer_param.py,sha256=8zG3l6DqEjmwNCqRwpcA1J1oY2tm-J-V4zl3sM0G_ek,13085
|
|
36
38
|
pwact/active_learning/user_input/train_param/train_param.py,sha256=rpLmOncwqQ82Hudwwl-VzZKJv2jCtrsCsJN2UpuHqKg,16640
|
|
37
39
|
pwact/active_learning/user_input/train_param/work_file_param.py,sha256=3sQiHcquQO9hw0JexiMXkuf01gy871yjYz9GEZ3Icoo,12239
|
|
38
40
|
pwact/bin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
41
|
pwact/data_format/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
42
|
pwact/data_format/configop.py,sha256=6JA84cK7Ck-t1z3iLz3pPVJ-q4srhDiQQhs9-G-cxY0,11772
|
|
41
43
|
pwact/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
-
pwact/utils/constant.py,sha256=
|
|
43
|
-
pwact/utils/file_operation.py,sha256=
|
|
44
|
+
pwact/utils/constant.py,sha256=qKiASMwMpROa_w29NEyUG6Uov8di4UGprXBIa7tUGjc,19482
|
|
45
|
+
pwact/utils/file_operation.py,sha256=bfLezgJHD3BRtZFm0HwSGTNBPukVNICZFpXYWMs68A4,9827
|
|
44
46
|
pwact/utils/format_input_output.py,sha256=oYFydQy3-btXzieO2O2LbHFoeRyhPnLVE4c5TNgS-IQ,1798
|
|
45
47
|
pwact/utils/json_operation.py,sha256=BqBsnIjk1URoMW_s2yu7Gk8IBxlir-oo6ivt8P3RIqg,1794
|
|
46
48
|
pwact/utils/pre_al_data_util.py,sha256=QE-axnVYUIyORFiVs-WK9-UaJlMUFY816_rSyYOOJc8,2542
|
|
@@ -51,13 +53,15 @@ pwact/utils/app_lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
|
51
53
|
pwact/utils/app_lib/common.py,sha256=lQmI-9Qumq62MNjr-eVlLL88ISDHBOb6vAfYYFcDIgM,6040
|
|
52
54
|
pwact/utils/app_lib/cp2k.py,sha256=txd-eMDUOsWPug395WJOQz3aqhwz7eU4hcEZIWTF1OY,15492
|
|
53
55
|
pwact/utils/app_lib/cp2k_dp.py,sha256=VP4gyPGhLcMAqAjrqCQSUiiGlESNlyYz7Gs3Q4QoUHo,6912
|
|
56
|
+
pwact/utils/app_lib/do_direct_sample.py,sha256=G8VZH23c2vBJwG9pp_H9EvRVaRJPsQVliDH-v6l2Gek,4947
|
|
57
|
+
pwact/utils/app_lib/do_eqv2model.py,sha256=cRVzagozELK6kCZuX6dqg2gDHQPr7n3TQk6JghDjiy4,1509
|
|
54
58
|
pwact/utils/app_lib/lammps.py,sha256=t3nkBqwkViO6UbnInGKAHiwVngHKayeat2pPEtaZZIU,8015
|
|
55
59
|
pwact/utils/app_lib/pwmat.py,sha256=PTRPkG_d00ibGhpCe2-4M7MW3dx2ZuAyb9hT2jl_LAs,18047
|
|
56
60
|
pwact/utils/draw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
61
|
pwact/utils/draw/hist_model_devi.py,sha256=o1Try-ekith2A7S6u1mt3zuTqaQwyw5tdURReh8BeLY,4945
|
|
58
|
-
pwact-0.2.
|
|
59
|
-
pwact-0.2.
|
|
60
|
-
pwact-0.2.
|
|
61
|
-
pwact-0.2.
|
|
62
|
-
pwact-0.2.
|
|
63
|
-
pwact-0.2.
|
|
62
|
+
pwact-0.2.2.dev0.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
63
|
+
pwact-0.2.2.dev0.dist-info/METADATA,sha256=RGt1qWZv8xFV4H4W3oFbtZGmMs_sPK73JRJFwm2ZJbQ,3663
|
|
64
|
+
pwact-0.2.2.dev0.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
|
65
|
+
pwact-0.2.2.dev0.dist-info/entry_points.txt,sha256=p61auAnpbn8E2WjvHNBA7rb9_NRAOCew4zdcCj33cGc,42
|
|
66
|
+
pwact-0.2.2.dev0.dist-info/top_level.txt,sha256=fY1_7sH5Lke4dC9L8MbYM4fT5aat5eCkAmpkIzY1SlM,6
|
|
67
|
+
pwact-0.2.2.dev0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|