Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
584613b
Add pt2 format for C/C++ inference.
Mar 7, 2026
98fa3fa
fix(dpmodel): fix NoPbc for DPA1 pt2 export and unify test models
Mar 7, 2026
6f7c11f
feat(c++): add DPA2 C++ inference tests and fix mapping bug in all ba…
Mar 8, 2026
f92b408
feat(c++): add DPA3 .pt2 export and C/C++ inference tests
Mar 9, 2026
46908c0
fix(ci): restore pre-committed .pth files and handle missing custom ops
Mar 9, 2026
da5579d
temporarily clears the default device (None) before calling aoti_comp…
Mar 9, 2026
0091315
fix issue of c/c++ ut
Mar 9, 2026
46c56e3
check the size validity
Mar 9, 2026
1ec9b85
fix: zip 64-bit widths
Mar 9, 2026
fbb8a61
rm dead code
Mar 9, 2026
7530a6e
fix: trace on CPU during export to avoid CUDA stream assert in make_fx
Mar 9, 2026
0269ef7
fix: trace on CPU then move to target device for CUDA-compatible export
Mar 9, 2026
f120319
fix(ci): preload LSAN runtime for gen scripts in sanitizer builds
Mar 9, 2026
f60f423
fix(export): use move_to_device_pass for CPU→CUDA device relocation
Mar 10, 2026
f564b1a
fix: harden C++ parser, fix CI gen script failures
Mar 10, 2026
cd90c31
fix(ci): clear LD_PRELOAD before AOTInductor compilation
Mar 10, 2026
914f401
feat(c++): implement has_default_fparam for pt_expt backend
Mar 21, 2026
9f52a35
fix: address coderabbitai review comments on PR #5298
Mar 21, 2026
5b346f6
fix(ci): don't preload LSAN into gen script Python processes
Mar 21, 2026
4b1f897
fix: resolve github-advanced-security alerts
Mar 21, 2026
1aded45
fix(ci): preload LSAN with detect_leaks=0 for gen scripts
Mar 21, 2026
59a3bf7
fix(build): guard pt_expt C++ backend on AOTInductor header availability
Mar 21, 2026
460ccf7
fix: move _load_custom_ops after deepmd.pt import in gen scripts
Mar 22, 2026
dd0b96a
fix(ci): install custom op .so to deepmd/lib before gen scripts
Mar 22, 2026
dd75039
fix(ci): add install prefix to LD_LIBRARY_PATH for gen scripts
Mar 22, 2026
00327cc
fix(ci): use SHARED_LIB_DIR to find correct custom op install path
Mar 22, 2026
7e04ad5
fix(ci): guard gen scripts behind ENABLE_PYTORCH and clean up test_cc…
Mar 22, 2026
f25a800
fix: address CodeQL alerts — integer overflow and duplicate import
Mar 23, 2026
6434c9a
fix(pt): add fallback stub for tabulate_fusion_se_t_tebd custom op
Mar 23, 2026
6d21400
fix: widen all int operands in fold_back to ptrdiff_t
Mar 23, 2026
a2ec6f7
merge upstream/master into feat-pt-expt-c
Mar 23, 2026
f911ee0
refactor: extract common gen script helpers into gen_common.py
Mar 23, 2026
ce9f3dd
refactor: simplify custom op .so install in test_cc_local.sh
Mar 23, 2026
50507c6
test(pt_expt): add .pt2 (AOTInductor) unit tests for freeze and compress
Mar 23, 2026
5a53e20
fix: support default fparam in .pt2 inference and NoPBC negative coords
Mar 24, 2026
00fcba0
merge upstream/master into feat-pt-expt-c
Mar 24, 2026
35e3335
test(c++): add NoPBC atomic and multi-frame tests for DeepPotPTExpt
Mar 24, 2026
0cb00cb
Merge remote-tracking branch 'origin/feat-pt-expt-c' into feat-pt-exp…
Mar 24, 2026
9b52564
test(pt_expt): add .pt2 finetune tests
Mar 24, 2026
1f1d929
test(c++): add parser, ZIP, and metadata accessor tests for DeepPotPT…
Mar 24, 2026
1a45b88
merge upstream/master into feat-pt-expt-pt2-uts
Mar 24, 2026
80aa996
Merge remote-tracking branch 'upstream/master' into feat-pt-expt-pt2-uts
Mar 25, 2026
78d5bde
test(pt_expt): add .pt2 change-bias tests
Mar 25, 2026
b6e7db3
fix: address reviewer comments on PR #5334
Mar 25, 2026
196bcca
fix(c++): raise error when fparam required but not provided and no de…
Mar 25, 2026
808b9c7
fix: address remaining reviewer comments
Mar 25, 2026
62b29c3
feat(lmp): add .pt2 LAMMPS fparam tests, fix in-memory loading
Mar 28, 2026
6ec9860
fix(c++): update fparam ptexpt C++ test expected values
Mar 28, 2026
13aa131
fix(test): squeeze leading dim in change-bias user-defined bias check
Mar 28, 2026
c9a8fa9
Merge remote-tracking branch 'upstream/master' into feat-pt-expt-pt2-uts
Mar 28, 2026
9776c10
fix(test): add default_fparam to fparam_aparam_default.pth model_def_…
Mar 28, 2026
3c0d5dc
test(lmp): add .pt2 LAMMPS tests for se_e2_a model
Mar 28, 2026
1a0efa6
test(c++): add DPA1 .pt2 C++ inference test
Mar 28, 2026
5d61e4a
fix(test): tighten DPA1 C++ test epsilon (1e-7/1e-1 -> 1e-10/1e-4)
Mar 28, 2026
8b73aa5
fix(test): tighten all DPA C++ test epsilon (1e-7/1e-1 -> 1e-10/1e-4)
Mar 28, 2026
c17d741
fix(test): update fparam .pth and C API expected values for pre-commi…
Mar 28, 2026
e159771
fix(test): update all fparam C++ expected values for pre-committed model
Mar 29, 2026
8e9f87b
fix(test): remove duplicate DefaultFParamPtExpt class causing SEGFAULT
Mar 29, 2026
06dc839
Merge remote-tracking branch 'upstream/master' into feat-pt-expt-pt2-uts
Mar 29, 2026
38c9bde
feat(test): add LAMMPS .pt2 model_devi tests with default_fparam
Mar 29, 2026
e4b043c
fix(test): negate virial in LAMMPS model_devi .pt2 test
Mar 29, 2026
27f5763
fix(test): convert relative param to real units in LAMMPS model_devi …
Mar 29, 2026
fdff8a6
fix(test): update model_devi C++ expected values for new fitting neurons
Mar 29, 2026
2f39abd
feat(test): add LAMMPS .pt2 DPA3 tests (PBC and NoPbc)
Mar 29, 2026
443a140
fix(test): add atom_modify map yes for DPA3 LAMMPS tests
Mar 29, 2026
4bc6426
fix(pt): guard against double-loading libdeepmd_op_pt.so
Mar 29, 2026
1cffe46
fix(pt): use loaded_libraries + catch RuntimeError instead of hardcod…
Mar 29, 2026
e86d867
fix(pt): only suppress RuntimeError for duplicate op registration
Mar 29, 2026
8cf970d
fix(pt): detect C++ linkage via op existence, not RuntimeError catch
Mar 29, 2026
760d505
fix(test): compute model_devi expected values in subprocess
Mar 30, 2026
1ca098f
Merge remote-tracking branch 'upstream/master' into feat-pt-expt-pt2-uts
Mar 30, 2026
450c79e
Merge remote-tracking branch 'upstream/master' into feat-pt-expt-pt2-uts
Apr 3, 2026
716165d
fix(pt_expt): load metadata.json in DeepEval for .pte and .pt2 models
Apr 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions deepmd/pt/cxx_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,16 @@ def load_library(module_name: str) -> bool:
module_file = (SHARED_LIB_DIR / (prefix + module_name)).with_suffix(ext).resolve()

if module_file.is_file():
# Skip if this library was already loaded by torch.ops.load_library.
if str(module_file) in torch.ops.loaded_libraries:
return True
# Skip if ops were already registered via C++ shared-library linkage
# (e.g. LAMMPS plugin links libdeepmd_op_pt.so at the C++ level).
# TORCH_LIBRARY(deepmd, m) in print_summary.cc registers "enable_mpi"
# as the first op; if it's accessible, the library is already loaded.
# Calling torch.ops.load_library again would abort() the process.
if hasattr(torch.ops, "deepmd") and hasattr(torch.ops.deepmd, "enable_mpi"):
return True
try:
torch.ops.load_library(module_file)
except OSError as e:
Expand Down
28 changes: 27 additions & 1 deletion deepmd/pt_expt/infer/deep_eval.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,18 @@ def _init_from_model_json(self, model_json_str: str) -> None:

def _load_pte(self, model_file: str) -> None:
"""Load a .pte (torch.export) model file."""
extra_files = {"model.json": "", "model_def_script.json": ""}
extra_files = {
"model.json": "",
"model_def_script.json": "",
"metadata.json": "",
}
exported = torch.export.load(model_file, extra_files=extra_files)
self.exported_module = exported.module()
self._init_from_model_json(extra_files["model.json"])
mds = extra_files["model_def_script.json"]
self._model_def_script = json.loads(mds) if mds else {}
md = extra_files["metadata.json"]
self.metadata = json.loads(md) if md else {}

def _load_pt2(self, model_file: str) -> None:
"""Load a .pt2 (AOTInductor) model file."""
Expand All @@ -157,9 +163,13 @@ def _load_pt2(self, model_file: str) -> None:
mds = ""
if "extra/model_def_script.json" in names:
mds = zf.read("extra/model_def_script.json").decode("utf-8")
md = ""
if "extra/metadata.json" in names:
md = zf.read("extra/metadata.json").decode("utf-8")

self._init_from_model_json(model_json_str)
self._model_def_script = json.loads(mds) if mds else {}
self.metadata = json.loads(md) if md else {}

# Load the AOTInductor model package (.pt2 ZIP archive).
# Uses torch._inductor.aoti_load_package (private API, stable since PyTorch 2.6).
Expand Down Expand Up @@ -612,6 +622,22 @@ def _eval_model(
dtype=torch.float64,
device=DEVICE,
)
elif self._is_pt2 and self.get_dim_fparam() > 0:
# .pt2 models are compiled with fparam as a required input.
# When the user omits fparam, fill with default values from metadata.
default_fp = self.metadata.get("default_fparam")
if default_fp is not None:
fparam_t = (
torch.tensor(default_fp, dtype=torch.float64, device=DEVICE)
.unsqueeze(0)
.expand(nframes, -1)
.contiguous()
)
Comment thread
wanghan-iapcm marked this conversation as resolved.
else:
raise ValueError(
f"fparam is required for this model (dim_fparam={self.get_dim_fparam()}) "
"but was not provided, and no default_fparam is stored in the model."
)
else:
fparam_t = None

Expand Down
79 changes: 40 additions & 39 deletions source/api_c/tests/test_deeppot_a_fparam_aparam_ptexpt.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,48 +23,49 @@ class TestInferDeepPotAFParamAParamPtExptC : public ::testing::Test {
float aparamf[6] = {0.25852028, 0.25852028, 0.25852028,
0.25852028, 0.25852028, 0.25852028};
// Same reference values as test_deeppot_a_fparam_aparam_ptexpt.cc (C++ API)
// Generated from pre-committed fparam_aparam_default.pth
std::vector<double> expected_e = {
1.596836265688982293e-01, 1.596933624175455035e-01,
1.596859462832928844e-01, 1.596779837732069107e-01,
1.596776702807257142e-01, 1.596869048501883825e-01};
-1.038271223729636539e-01, -7.285433579124989123e-02,
-9.467600492266425860e-02, -1.467050207422957442e-01,
-7.660561676973243195e-02, -7.277296000253175023e-02};
std::vector<double> expected_f = {
1.112134318320094352e-05, 1.085230789880272100e-04,
9.298442641358874074e-07, 1.491517597320257530e-04,
-1.250419527572717225e-05, -9.768265174690741028e-05,
-5.021052645725073397e-05, -9.741678916887848341e-05,
9.375317764392495572e-05, 8.664103999852425394e-05,
-4.538513400016661465e-05, 8.561605116672722879e-05,
-2.454811055475981441e-05, 1.079491454988312104e-04,
-1.656974003674590440e-04, -1.721555059017403750e-04,
-6.116610604208616705e-05, 8.308097903957835525e-05};
6.622266941151369601e-02, 5.278739714221529489e-02,
2.265728009692277028e-02, -2.606048291367509331e-02,
-4.538812303131847109e-02, 1.058247419681241676e-02,
1.679392617013223121e-01, -2.257826240741929533e-03,
-4.490146347357203138e-02, -1.148364179422036724e-01,
-1.169790528013799069e-02, 6.140403441496700837e-02,
-8.078778123309421355e-02, -5.838879041789352825e-02,
6.773641084621376263e-02, -1.247724902386305318e-02,
6.494524782787665373e-02, -1.174787360813439457e-01};
std::vector<double> expected_v = {
-1.264062189119726106e-04, -1.636544077308309524e-05,
4.453224130911556590e-05, -7.947403699519458518e-06,
-4.603504987332719071e-05, 9.491045850088816000e-06,
4.131028921467394082e-05, 9.691472468201876704e-06,
-3.323572704427471520e-05, -1.024556912293147473e-04,
5.530809120954559223e-06, 5.211030391191971272e-05,
-3.851138686809524851e-06, 2.101414374153427902e-07,
3.247573516972862344e-06, 4.561253716254950400e-05,
-3.865680092083280590e-06, -3.262252150841829144e-05,
-1.166788692566841262e-04, -1.814499890570940753e-05,
2.155064011880968559e-05, -1.629918981392229854e-05,
-3.245631268444005592e-05, 2.968538417601228937e-05,
2.463149007223104176e-05, 3.660689861518736949e-05,
-3.586518711234946879e-05, -1.424206401855391917e-04,
-1.017840928263488617e-05, 1.421307534994552908e-05,
-8.618294024757048886e-06, -2.192409332705383732e-05,
3.461715847634955364e-05, 1.277625693457703254e-05,
3.486479415793123331e-05, -5.604161168847292539e-05,
-8.612844407008925294e-05, 2.508361660152536905e-06,
-1.633895954532816838e-07, 1.903591783622687189e-06,
-3.028341203071209831e-05, 4.685511271783763848e-05,
2.876824509984768127e-06, 4.576515617130315025e-05,
-7.108738780331672730e-05, -1.062354815105974551e-04,
-2.954644717832223544e-05, 4.075640001084848793e-05,
-3.138369091725678469e-05, -1.316088004849699161e-05,
1.786389692843508954e-05, 4.579187321116929540e-05,
1.869753034515593833e-05, -2.550749273395911822e-05};
-1.589185601903579381e-01, 2.586167090689088510e-03,
-1.575150812458056548e-04, -1.855360549216640564e-02,
1.949822308966445150e-02, -1.006552178977542650e-02,
3.177030388421490936e-02, 1.714350280402104215e-03,
-1.290389705296313833e-03, -8.553511587973079699e-02,
-5.654638208496251539e-03, -1.286955066237439882e-02,
2.464156699303176462e-02, -2.398203243424212178e-02,
-1.957110698882909630e-02, 2.233493653505165544e-02,
6.107843889444162372e-03, 1.707076397717688723e-03,
-1.653994136896924094e-01, 3.894358809712639147e-02,
-2.169596032233910010e-02, 6.819702786556020371e-03,
-5.018240707559744503e-03, 2.640663592968431426e-03,
-1.985295554050418160e-03, -3.638422207618969423e-02,
2.342932709960221863e-02, -8.501331666888653493e-02,
-2.181253119706856591e-03, 4.311299629418858387e-03,
-1.910329576491436726e-03, -1.808810428459609043e-03,
-1.540075460017477360e-03, -1.173703527688202929e-02,
-2.596307050960845741e-03, 6.705026635782097323e-03,
-9.038454847872562370e-02, 3.011717694088476838e-02,
-5.083053967307901710e-02, -2.951212926932282599e-03,
2.342446057919112673e-02, -4.091208178777860222e-02,
-1.648470670751139844e-02, -2.872262362355524484e-02,
4.763925761561256522e-02, -8.300037376164930147e-02,
1.020429200603871836e-03, -1.026734257188876599e-03,
5.678534821710372327e-02, 1.273635858276599142e-02,
-1.530143401888291177e-02, -1.061672032476311256e-01,
-2.486859787145567074e-02, 2.875323543588798395e-02};
int natoms;
double expected_tot_e;
std::vector<double> expected_tot_v;
Expand Down
9 changes: 9 additions & 0 deletions source/api_cc/src/DeepPotPTExpt.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1008,6 +1008,15 @@ void DeepPotPTExpt::compute(ENERGYVTYPE& ener,
min_z = std::min(min_z, coord_d[ii * 3 + 2]);
max_z = std::max(max_z, coord_d[ii * 3 + 2]);
}
// Shift coords so minimum is at rcut (ensures all atoms are in [0, L))
double shift_x = rcut - min_x;
double shift_y = rcut - min_y;
double shift_z = rcut - min_z;
for (int ii = 0; ii < natoms; ++ii) {
coord_d[ii * 3 + 0] += shift_x;
coord_d[ii * 3 + 1] += shift_y;
coord_d[ii * 3 + 2] += shift_z;
}
box_d.resize(9, 0.0);
box_d[0] = (max_x - min_x) + 2.0 * rcut;
box_d[4] = (max_y - min_y) + 2.0 * rcut;
Expand Down
156 changes: 78 additions & 78 deletions source/api_cc/tests/test_deeppot_a_fparam_aparam_nframes_ptexpt.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,86 +28,86 @@ class TestInferDeepPotAFparamAparamNFramesPtExpt : public ::testing::Test {
0.25852028, 0.25852028, 0.25852028, 0.25852028, 0.25852028, 0.25852028};
// Same reference values as single-frame, duplicated for 2 frames
std::vector<VALUETYPE> expected_e = {
1.596836265688982293e-01, 1.596933624175455035e-01,
1.596859462832928844e-01, 1.596779837732069107e-01,
1.596776702807257142e-01, 1.596869048501883825e-01,
1.596836265688982293e-01, 1.596933624175455035e-01,
1.596859462832928844e-01, 1.596779837732069107e-01,
1.596776702807257142e-01, 1.596869048501883825e-01};
-1.038271223729636539e-01, -7.285433579124989123e-02,
-9.467600492266425860e-02, -1.467050207422957442e-01,
-7.660561676973243195e-02, -7.277296000253175023e-02,
-1.038271223729636539e-01, -7.285433579124989123e-02,
-9.467600492266425860e-02, -1.467050207422957442e-01,
-7.660561676973243195e-02, -7.277296000253175023e-02};
std::vector<VALUETYPE> expected_f = {
1.112134318320094352e-05, 1.085230789880272100e-04,
9.298442641358874074e-07, 1.491517597320257530e-04,
-1.250419527572717225e-05, -9.768265174690741028e-05,
-5.021052645725073397e-05, -9.741678916887848341e-05,
9.375317764392495572e-05, 8.664103999852425394e-05,
-4.538513400016661465e-05, 8.561605116672722879e-05,
-2.454811055475981441e-05, 1.079491454988312104e-04,
-1.656974003674590440e-04, -1.721555059017403750e-04,
-6.116610604208616705e-05, 8.308097903957835525e-05,
1.112134318320094352e-05, 1.085230789880272100e-04,
9.298442641358874074e-07, 1.491517597320257530e-04,
-1.250419527572717225e-05, -9.768265174690741028e-05,
-5.021052645725073397e-05, -9.741678916887848341e-05,
9.375317764392495572e-05, 8.664103999852425394e-05,
-4.538513400016661465e-05, 8.561605116672722879e-05,
-2.454811055475981441e-05, 1.079491454988312104e-04,
-1.656974003674590440e-04, -1.721555059017403750e-04,
-6.116610604208616705e-05, 8.308097903957835525e-05};
6.622266941151369601e-02, 5.278739714221529489e-02,
2.265728009692277028e-02, -2.606048291367509331e-02,
-4.538812303131847109e-02, 1.058247419681241676e-02,
1.679392617013223121e-01, -2.257826240741929533e-03,
-4.490146347357203138e-02, -1.148364179422036724e-01,
-1.169790528013799069e-02, 6.140403441496700837e-02,
-8.078778123309421355e-02, -5.838879041789352825e-02,
6.773641084621376263e-02, -1.247724902386305318e-02,
6.494524782787665373e-02, -1.174787360813439457e-01,
6.622266941151369601e-02, 5.278739714221529489e-02,
2.265728009692277028e-02, -2.606048291367509331e-02,
-4.538812303131847109e-02, 1.058247419681241676e-02,
1.679392617013223121e-01, -2.257826240741929533e-03,
-4.490146347357203138e-02, -1.148364179422036724e-01,
-1.169790528013799069e-02, 6.140403441496700837e-02,
-8.078778123309421355e-02, -5.838879041789352825e-02,
6.773641084621376263e-02, -1.247724902386305318e-02,
6.494524782787665373e-02, -1.174787360813439457e-01};
std::vector<VALUETYPE> expected_v = {
-1.264062189119726106e-04, -1.636544077308309524e-05,
4.453224130911556590e-05, -7.947403699519458518e-06,
-4.603504987332719071e-05, 9.491045850088816000e-06,
4.131028921467394082e-05, 9.691472468201876704e-06,
-3.323572704427471520e-05, -1.024556912293147473e-04,
5.530809120954559223e-06, 5.211030391191971272e-05,
-3.851138686809524851e-06, 2.101414374153427902e-07,
3.247573516972862344e-06, 4.561253716254950400e-05,
-3.865680092083280590e-06, -3.262252150841829144e-05,
-1.166788692566841262e-04, -1.814499890570940753e-05,
2.155064011880968559e-05, -1.629918981392229854e-05,
-3.245631268444005592e-05, 2.968538417601228937e-05,
2.463149007223104176e-05, 3.660689861518736949e-05,
-3.586518711234946879e-05, -1.424206401855391917e-04,
-1.017840928263488617e-05, 1.421307534994552908e-05,
-8.618294024757048886e-06, -2.192409332705383732e-05,
3.461715847634955364e-05, 1.277625693457703254e-05,
3.486479415793123331e-05, -5.604161168847292539e-05,
-8.612844407008925294e-05, 2.508361660152536905e-06,
-1.633895954532816838e-07, 1.903591783622687189e-06,
-3.028341203071209831e-05, 4.685511271783763848e-05,
2.876824509984768127e-06, 4.576515617130315025e-05,
-7.108738780331672730e-05, -1.062354815105974551e-04,
-2.954644717832223544e-05, 4.075640001084848793e-05,
-3.138369091725678469e-05, -1.316088004849699161e-05,
1.786389692843508954e-05, 4.579187321116929540e-05,
1.869753034515593833e-05, -2.550749273395911822e-05,
-1.264062189119726106e-04, -1.636544077308309524e-05,
4.453224130911556590e-05, -7.947403699519458518e-06,
-4.603504987332719071e-05, 9.491045850088816000e-06,
4.131028921467394082e-05, 9.691472468201876704e-06,
-3.323572704427471520e-05, -1.024556912293147473e-04,
5.530809120954559223e-06, 5.211030391191971272e-05,
-3.851138686809524851e-06, 2.101414374153427902e-07,
3.247573516972862344e-06, 4.561253716254950400e-05,
-3.865680092083280590e-06, -3.262252150841829144e-05,
-1.166788692566841262e-04, -1.814499890570940753e-05,
2.155064011880968559e-05, -1.629918981392229854e-05,
-3.245631268444005592e-05, 2.968538417601228937e-05,
2.463149007223104176e-05, 3.660689861518736949e-05,
-3.586518711234946879e-05, -1.424206401855391917e-04,
-1.017840928263488617e-05, 1.421307534994552908e-05,
-8.618294024757048886e-06, -2.192409332705383732e-05,
3.461715847634955364e-05, 1.277625693457703254e-05,
3.486479415793123331e-05, -5.604161168847292539e-05,
-8.612844407008925294e-05, 2.508361660152536905e-06,
-1.633895954532816838e-07, 1.903591783622687189e-06,
-3.028341203071209831e-05, 4.685511271783763848e-05,
2.876824509984768127e-06, 4.576515617130315025e-05,
-7.108738780331672730e-05, -1.062354815105974551e-04,
-2.954644717832223544e-05, 4.075640001084848793e-05,
-3.138369091725678469e-05, -1.316088004849699161e-05,
1.786389692843508954e-05, 4.579187321116929540e-05,
1.869753034515593833e-05, -2.550749273395911822e-05};
-1.589185601903579381e-01, 2.586167090689088510e-03,
-1.575150812458056548e-04, -1.855360549216640564e-02,
1.949822308966445150e-02, -1.006552178977542650e-02,
3.177030388421490936e-02, 1.714350280402104215e-03,
-1.290389705296313833e-03, -8.553511587973079699e-02,
-5.654638208496251539e-03, -1.286955066237439882e-02,
2.464156699303176462e-02, -2.398203243424212178e-02,
-1.957110698882909630e-02, 2.233493653505165544e-02,
6.107843889444162372e-03, 1.707076397717688723e-03,
-1.653994136896924094e-01, 3.894358809712639147e-02,
-2.169596032233910010e-02, 6.819702786556020371e-03,
-5.018240707559744503e-03, 2.640663592968431426e-03,
-1.985295554050418160e-03, -3.638422207618969423e-02,
2.342932709960221863e-02, -8.501331666888653493e-02,
-2.181253119706856591e-03, 4.311299629418858387e-03,
-1.910329576491436726e-03, -1.808810428459609043e-03,
-1.540075460017477360e-03, -1.173703527688202929e-02,
-2.596307050960845741e-03, 6.705026635782097323e-03,
-9.038454847872562370e-02, 3.011717694088476838e-02,
-5.083053967307901710e-02, -2.951212926932282599e-03,
2.342446057919112673e-02, -4.091208178777860222e-02,
-1.648470670751139844e-02, -2.872262362355524484e-02,
4.763925761561256522e-02, -8.300037376164930147e-02,
1.020429200603871836e-03, -1.026734257188876599e-03,
5.678534821710372327e-02, 1.273635858276599142e-02,
-1.530143401888291177e-02, -1.061672032476311256e-01,
-2.486859787145567074e-02, 2.875323543588798395e-02,
-1.589185601903579381e-01, 2.586167090689088510e-03,
-1.575150812458056548e-04, -1.855360549216640564e-02,
1.949822308966445150e-02, -1.006552178977542650e-02,
3.177030388421490936e-02, 1.714350280402104215e-03,
-1.290389705296313833e-03, -8.553511587973079699e-02,
-5.654638208496251539e-03, -1.286955066237439882e-02,
2.464156699303176462e-02, -2.398203243424212178e-02,
-1.957110698882909630e-02, 2.233493653505165544e-02,
6.107843889444162372e-03, 1.707076397717688723e-03,
-1.653994136896924094e-01, 3.894358809712639147e-02,
-2.169596032233910010e-02, 6.819702786556020371e-03,
-5.018240707559744503e-03, 2.640663592968431426e-03,
-1.985295554050418160e-03, -3.638422207618969423e-02,
2.342932709960221863e-02, -8.501331666888653493e-02,
-2.181253119706856591e-03, 4.311299629418858387e-03,
-1.910329576491436726e-03, -1.808810428459609043e-03,
-1.540075460017477360e-03, -1.173703527688202929e-02,
-2.596307050960845741e-03, 6.705026635782097323e-03,
-9.038454847872562370e-02, 3.011717694088476838e-02,
-5.083053967307901710e-02, -2.951212926932282599e-03,
2.342446057919112673e-02, -4.091208178777860222e-02,
-1.648470670751139844e-02, -2.872262362355524484e-02,
4.763925761561256522e-02, -8.300037376164930147e-02,
1.020429200603871836e-03, -1.026734257188876599e-03,
5.678534821710372327e-02, 1.273635858276599142e-02,
-1.530143401888291177e-02, -1.061672032476311256e-01,
-2.486859787145567074e-02, 2.875323543588798395e-02};
int natoms;
int nframes = 2;
std::vector<double> expected_tot_e;
Expand Down
Loading
Loading