Skip to content

Commit 7c1235e

Browse files
authored
Merge pull request #24 from pxlxingliang/develop
Develop
2 parents 2fa8921 + a869fd2 commit 7c1235e

39 files changed

Lines changed: 1784 additions & 330 deletions

LICENCE

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
GNU LESSER GENERAL PUBLIC LICENSE
2+
Version 3, 29 June 2007
3+
4+
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
5+
Everyone is permitted to copy and distribute verbatim copies
6+
of this license document, but changing it is not allowed.
7+
8+
9+
This version of the GNU Lesser General Public License incorporates
10+
the terms and conditions of version 3 of the GNU General Public
11+
License, supplemented by the additional permissions listed below.
12+
13+
0. Additional Definitions.
14+
15+
As used herein, "this License" refers to version 3 of the GNU Lesser
16+
General Public License, and the "GNU GPL" refers to version 3 of the GNU
17+
General Public License.
18+
19+
"The Library" refers to a covered work governed by this License,
20+
other than an Application or a Combined Work as defined below.
21+
22+
An "Application" is any work that makes use of an interface provided
23+
by the Library, but which is not otherwise based on the Library.
24+
Defining a subclass of a class defined by the Library is deemed a mode
25+
of using an interface provided by the Library.
26+
27+
A "Combined Work" is a work produced by combining or linking an
28+
Application with the Library. The particular version of the Library
29+
with which the Combined Work was made is also called the "Linked
30+
Version".
31+
32+
The "Minimal Corresponding Source" for a Combined Work means the
33+
Corresponding Source for the Combined Work, excluding any source code
34+
for portions of the Combined Work that, considered in isolation, are
35+
based on the Application, and not on the Linked Version.
36+
37+
The "Corresponding Application Code" for a Combined Work means the
38+
object code and/or source code for the Application, including any data
39+
and utility programs needed for reproducing the Combined Work from the
40+
Application, but excluding the System Libraries of the Combined Work.
41+
42+
1. Exception to Section 3 of the GNU GPL.
43+
44+
You may convey a covered work under sections 3 and 4 of this License
45+
without being bound by section 3 of the GNU GPL.
46+
47+
2. Conveying Modified Versions.
48+
49+
If you modify a copy of the Library, and, in your modifications, a
50+
facility refers to a function or data to be supplied by an Application
51+
that uses the facility (other than as an argument passed when the
52+
facility is invoked), then you may convey a copy of the modified
53+
version:
54+
55+
a) under this License, provided that you make a good faith effort to
56+
ensure that, in the event an Application does not supply the
57+
function or data, the facility still operates, and performs
58+
whatever part of its purpose remains meaningful, or
59+
60+
b) under the GNU GPL, with none of the additional permissions of
61+
this License applicable to that copy.
62+
63+
3. Object Code Incorporating Material from Library Header Files.
64+
65+
The object code form of an Application may incorporate material from
66+
a header file that is part of the Library. You may convey such object
67+
code under terms of your choice, provided that, if the incorporated
68+
material is not limited to numerical parameters, data structure
69+
layouts and accessors, or small macros, inline functions and templates
70+
(ten or fewer lines in length), you do both of the following:
71+
72+
a) Give prominent notice with each copy of the object code that the
73+
Library is used in it and that the Library and its use are
74+
covered by this License.
75+
76+
b) Accompany the object code with a copy of the GNU GPL and this license
77+
document.
78+
79+
4. Combined Works.
80+
81+
You may convey a Combined Work under terms of your choice that,
82+
taken together, effectively do not restrict modification of the
83+
portions of the Library contained in the Combined Work and reverse
84+
engineering for debugging such modifications, if you also do each of
85+
the following:
86+
87+
a) Give prominent notice with each copy of the Combined Work that
88+
the Library is used in it and that the Library and its use are
89+
covered by this License.
90+
91+
b) Accompany the Combined Work with a copy of the GNU GPL and this license
92+
document.
93+
94+
c) For a Combined Work that displays copyright notices during
95+
execution, include the copyright notice for the Library among
96+
these notices, as well as a reference directing the user to the
97+
copies of the GNU GPL and this license document.
98+
99+
d) Do one of the following:
100+
101+
0) Convey the Minimal Corresponding Source under the terms of this
102+
License, and the Corresponding Application Code in a form
103+
suitable for, and under terms that permit, the user to
104+
recombine or relink the Application with a modified version of
105+
the Linked Version to produce a modified Combined Work, in the
106+
manner specified by section 6 of the GNU GPL for conveying
107+
Corresponding Source.
108+
109+
1) Use a suitable shared library mechanism for linking with the
110+
Library. A suitable mechanism is one that (a) uses at run time
111+
a copy of the Library already present on the user's computer
112+
system, and (b) will operate properly with a modified version
113+
of the Library that is interface-compatible with the Linked
114+
Version.
115+
116+
e) Provide Installation Information, but only if you would otherwise
117+
be required to provide such information under section 6 of the
118+
GNU GPL, and only to the extent that such information is
119+
necessary to install and execute a modified version of the
120+
Combined Work produced by recombining or relinking the
121+
Application with a modified version of the Linked Version. (If
122+
you use option 4d0, the Installation Information must accompany
123+
the Minimal Corresponding Source and Corresponding Application
124+
Code. If you use option 4d1, you must provide the Installation
125+
Information in the manner specified by section 6 of the GNU GPL
126+
for conveying Corresponding Source.)
127+
128+
5. Combined Libraries.
129+
130+
You may place library facilities that are a work based on the
131+
Library side by side in a single library together with other library
132+
facilities that are not Applications and are not covered by this
133+
License, and convey such a combined library under terms of your
134+
choice, if you do both of the following:
135+
136+
a) Accompany the combined library with a copy of the same work based
137+
on the Library, uncombined with any other library facilities,
138+
conveyed under the terms of this License.
139+
140+
b) Give prominent notice with the combined library that part of it
141+
is a work based on the Library, and explaining where to find the
142+
accompanying uncombined form of the same work.
143+
144+
6. Revised Versions of the GNU Lesser General Public License.
145+
146+
The Free Software Foundation may publish revised and/or new versions
147+
of the GNU Lesser General Public License from time to time. Such new
148+
versions will be similar in spirit to the present version, but may
149+
differ in detail to address new problems or concerns.
150+
151+
Each version is given a distinguishing version number. If the
152+
Library as you received it specifies that a certain numbered version
153+
of the GNU Lesser General Public License "or any later version"
154+
applies to it, you have the option of following the terms and
155+
conditions either of that published version or of any later version
156+
published by the Free Software Foundation. If the Library as you
157+
received it does not specify a version number of the GNU Lesser
158+
General Public License, you may choose any version of the GNU Lesser
159+
General Public License ever published by the Free Software Foundation.
160+
161+
If the Library as you received it specifies that a proxy can decide
162+
whether future versions of the GNU Lesser General Public License shall
163+
apply, that proxy's public statement of acceptance of any version is
164+
permanent authorization for you to choose that version for the
165+
Library.

MANIFEST.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
include LICENCE
2+
include README.md

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,9 @@ Only key "prepare" is recongnized by `abacustest prepare`.
362362
- `mag_rotate_angle`: the angle of rotation of magnetic moment. Unit in degree. If is null, will not rotate the magnetic moment.
363363
- `mag_tilt_angle`: the angle of tilt of magnetic moment. Unit in degree. If is null, will not tilt the magnetic moment.
364364
- `mag_norm_dist`: the distance of magnetic moment to the normal direction. If is null, will not move the magnetic moment. Unit in $\mu_B$.\
365+
365366
Note1: the perturbation of magnetic moment is only valid for the spin-constrained atom that the "sc" of at leaset one magnetic component is 1.
367+
366368
Note2: the value can also be a list of two values, which means the minimum and maximum value of perturbation. Such as for `atom_pert_dist`: [0.1,0.15], means the perturbation distance of atom is between 0.1 and 0.15 Angstrom, and if the two values are same, the perturbation distance is fixed.
367369
- `pp_dict`: the pseudopotential dict. The key is the element name, and the value is the pseudopotential file name. Such as: {"H":"H.psp8","O":"O.psp8"}.
368370
- `orb_dict`: the orbital dict. The key is the element name, and the value is the orbital file name. Such as: {"H":"H.orb","O":"O.orb"}.

abacustest/__init__.py

Whitespace-only changes.

abacustest/constant.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,3 +265,4 @@
265265
'Ra': 88, 'Ac': 89, 'Th': 90, 'Pa': 91, 'U': 92, 'Np': 93, 'Pu': 94, 'Am': 95, 'Cm': 96, 'Bk': 97, 'Cf': 98, \
266266
'Es': 99, 'Fm': 100, 'Md': 101, 'No': 102, 'Lr': 103}
267267

268+
RECOMMAND_IMAGE = "registry.dp.tech/dptech/abacus-stable:LTSv3.10"

abacustest/launching/comm_class_rundft.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,20 @@
2323
from typing import Literal
2424
import re
2525
from . import comm_class
26+
from abacustest.constant import RECOMMAND_IMAGE
2627

2728

2829
class Image(BaseModel):
2930
type: Literal["Local Image"]
30-
image: String = Field(default="registry.dp.tech/deepmodeling/abacus-intel:latest",
31+
image: String = Field(default=RECOMMAND_IMAGE,
3132
title="",
3233
description="",)
3334

3435

3536
class ImageBohrium(BaseModel):
3637
type: Literal["Use Bohrium Image"]
3738

38-
image: String = Field(default=BohriumMachineType("registry.dp.tech/deepmodeling/abacus-intel:latest"),
39+
image: String = Field(default=BohriumMachineType(RECOMMAND_IMAGE),
3940
title="Bohrium Image Address",
4041
description="",)
4142
bohrium_machine_type: BohriumMachineType = Field(default=BohriumMachineType("c32_m64_cpu"))

abacustest/launching/comm_func.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import shutil
66
import select
77
import copy
8-
from dp.metadata import MetadataContext
9-
from dp.metadata.utils.storage import TiefblueStorageClient
8+
#from dp.metadata import MetadataContext
9+
#from dp.metadata.utils.storage import TiefblueStorageClient
1010
from dflow import download_artifact, S3Artifact, config, s3_config
1111
from dflow.plugins import bohrium
1212
from dflow.plugins.bohrium import TiefblueClient
@@ -158,7 +158,7 @@ def produce_html_table(table):
158158
content += "</table>"
159159
return content
160160

161-
161+
'''
162162
def get_datahub_dataset(bohrium_username, bohrium_password, bohrium_project, urn, download_path=None):
163163
metadata_storage_client = TiefblueStorageClient(
164164
bohrium_username, bohrium_password, bohrium_project)
@@ -170,7 +170,7 @@ def get_datahub_dataset(bohrium_username, bohrium_password, bohrium_project, urn
170170
artifact = S3Artifact(key=dataset.uri)
171171
download_artifact(artifact, path=download_path)
172172
return dataset
173-
173+
'''
174174

175175
def unpack(filepath, output_path, filetype=None, get_support_filetype=False):
176176
# if file type is not supportted, just copy the file to output_path

abacustest/launching/get_aim_data.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from pprint import pprint
55
from typing import Iterator
66
from tqdm import tqdm
7-
from loguru import logger
7+
#from loguru import logger
88
from aim.storage.treeutils import decode_tree
99

1010
def decode_encoded_tree_stream(stream: Iterator[bytes], concat_chunks=False) -> bytes:
@@ -147,7 +147,7 @@ def get_runs(token,experiment,experiment_id,needed_tags=None,collect_metrics=Fal
147147
all_run_infos = []
148148
all_run = []
149149
experiment_info = get_experiment_info(experiment_id, token)
150-
logger.info(experiment_info)
150+
#logger.info(experiment_info)
151151
total = experiment_info['run_count']
152152
needed_tags = set(needed_tags) if needed_tags else None
153153
with tqdm(total=total) as pbar:
@@ -170,7 +170,7 @@ def get_runs(token,experiment,experiment_id,needed_tags=None,collect_metrics=Fal
170170
except KeyError: # already empty
171171
break
172172
elapsed = time.time() - start
173-
logger.info(f'All done! elapsed: {elapsed}')
173+
#logger.info(f'All done! elapsed: {elapsed}')
174174
return all_run,all_run_infos
175175

176176
'''

abacustest/launching/launching.py

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
1-
import traceback
2-
from dp.launching.cli import SubParser,run_sp_and_exit,default_exception_handler
3-
from abacustest.launching import (model_normal,
4-
model_selfDefine,
5-
model_summary,
6-
model_postdft,
7-
model_predft,
8-
model_advanced,
1+
2+
from dp.launching.cli import (
3+
SubParser,
4+
default_minimal_exception_handler,
5+
run_sp_and_exit,
6+
to_runner,
7+
default_exception_handler
8+
)
9+
10+
from abacustest.launching import (
11+
#model_normal,
12+
#model_selfDefine,
13+
#model_summary,
14+
#model_postdft,
15+
#model_predft,
16+
#model_advanced,
917
model_expert,
1018
model_report,
1119
model_reuse,
1220
model_phonon,
1321
model_fdforce,
1422
model_fdmagforce,
15-
model_fdstress
23+
model_fdstress,
24+
model_autoAbacus
1625
)
1726

1827

@@ -32,7 +41,8 @@ def to_parser():
3241
# "SettingFileDatasets":SubParser(model_selfDefine.SelfDefineDatasetsModel,model_selfDefine.SelfDefineModelRunner,"run self-defined model(use launching datasets as input)"),
3342
#"UploadDatasets":SubParser(model_uploadDataset.UplaodDatasetModel,model_uploadDataset.UplaodDatasetModelRunner,"upload datasets to datahub"),
3443
# "Report":SubParser(model_report.ReportModel,model_report.ReportModelRunner,"report metrics.json"),
35-
"06-FDMagForce": SubParser(model_fdmagforce.FDMagForceModel,model_fdmagforce.FDMagForceModelRunner,"Do finite difference magnetic force calculation. Need mag_force_info.txt file in each example inputs."),
44+
"07-AutoRun": SubParser(model_autoAbacus.AutoABACUSModel,model_autoAbacus.AutoABACUSRunner,"Auto run abacus jobs"),
45+
"06-FDMagForce": SubParser(model_fdmagforce.FDMagForceModel,model_fdmagforce.FDMagForceModelRunner,"Do finite difference magnetic force calculation. Need mag_force_info.txt file in each example inputs."),
3646
"05-FDStress": SubParser(model_fdstress.FDStressModel,model_fdstress.FDStressModelRunner,"Do finite difference stress calculation."),
3747
"04-FDForce": SubParser(model_fdforce.FDForceModel,model_fdforce.FDForceModelRunner,"Do finite difference force calculation. Need info.txt file in each example inputs."),
3848
"03-Phonon": SubParser(model_phonon.PhononModel,model_phonon.PhononModelRunner,"Calculate phonon"),

0 commit comments

Comments
 (0)