Skip to content

Commit 89fae40

Browse files
committed
Added tests for all the files with random seed.
1 parent 8b316f5 commit 89fae40

File tree

8 files changed

+252
-7
lines changed

8 files changed

+252
-7
lines changed

tests/geodesic_ts_with_hessian/test_using_mace.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
import pytest
2+
import numpy as np
3+
4+
5+
@pytest.fixture(scope="session", autouse=True)
6+
def set_seed():
7+
np.random.seed(42) # noqa: NPY002
8+
9+
210
import logging
311
from ase.io import read
412
from pathlib import Path
@@ -33,4 +41,20 @@ def test_geodesic_ts_hess_irc_mace(setup_test_environment):
3341
jobs = geodesic_ts_hess_irc_mace(reactant, product, calc_kwargs, logger)
3442

3543
# Assertions
36-
assert len(jobs) == 4
44+
assert jobs[0]['relax_reactant']['results']['energy'] == pytest.approx(-7400.109474432057, 1e-6)
45+
assert jobs[0]['relax_reactant']['results']['forces'][0, 1] == pytest.approx(2.66840467e-04, 1e-2)
46+
47+
assert jobs[0]['relax_product']['results']['energy'] == pytest.approx(-7395.830068714384, 1e-6)
48+
assert jobs[0]['relax_product']['results']['forces'][0, 1] == pytest.approx(-0.00025790767076738774, 1e-2)
49+
50+
# geodesic output
51+
assert jobs[0]['highest_e_atoms'].get_potential_energy() == pytest.approx(-7392.679151885447, 1e-6)
52+
53+
# transition state optimization output
54+
assert jobs[1]['trajectory_results'][-1]['energy'] == pytest.approx(-7395.622784377439, 1e-6)
55+
56+
# IRC forward output
57+
assert jobs[2]['trajectory_results'][-1]['energy'] == pytest.approx(-7395.809412186394, 1e-6)
58+
59+
# IRC reverse output
60+
assert jobs[3]['trajectory_results'][-1]['energy'] == pytest.approx(-7395.787679970261, 1e-6)

tests/geodesic_ts_with_hessian/test_using_newtonnet.py

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
1-
import os
21
import pytest
3-
import logging
2+
import numpy as np
3+
4+
5+
@pytest.fixture(scope="session", autouse=True)
6+
def set_seed():
7+
np.random.seed(42) # noqa: NPY002
48

9+
10+
import logging
511
import torch
612
from ase.io import read
713
from pathlib import Path
@@ -49,4 +55,20 @@ def test_geodesic_ts_hess_irc_newtonnet(setup_test_environment):
4955
jobs = geodesic_ts_hess_irc_newtonnet(reactant, product, calc_kwargs1, calc_kwargs2, logger)
5056

5157
# Assertions
52-
assert len(jobs) == 4
58+
assert jobs[0]['relax_reactant']['results']['energy'] == pytest.approx(-68.26889038085938, 1e-6)
59+
assert jobs[0]['relax_reactant']['results']['forces'][0, 1] == pytest.approx(0.0006616527098231018, 1e-2)
60+
61+
assert jobs[0]['relax_product']['results']['energy'] == pytest.approx(-63.780540466308594, 1e-6)
62+
assert jobs[0]['relax_product']['results']['forces'][0, 1] == pytest.approx(-0.0018400131957605481, 1e-2)
63+
64+
# geodesic output
65+
assert jobs[0]['highest_e_atoms'].get_potential_energy() == pytest.approx(-61.53276824951172, 1e-6)
66+
67+
# transition state optimization output
68+
assert jobs[1]['trajectory_results'][-1]['energy'] == pytest.approx(-63.505672454833984, 1e-6)
69+
70+
# IRC forward output
71+
assert jobs[2]['trajectory_results'][-1]['energy'] == pytest.approx(-67.261962890625, 1e-6)
72+
73+
# IRC reverse output
74+
assert jobs[3]['trajectory_results'][-1]['energy'] == pytest.approx(-68.01041412353516, 1e-6)

tests/geodesic_ts_without_hessian/test_using_mace.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
import pytest
2+
import numpy as np
3+
4+
5+
@pytest.fixture(scope="session", autouse=True)
6+
def set_seed():
7+
np.random.seed(42) # noqa: NPY002
8+
9+
210
import logging
311
from ase.io import read
412
from quacc import get_settings
@@ -32,4 +40,20 @@ def test_geodesic_ts_hess_irc_mace(setup_test_environment):
3240
jobs = geodesic_ts_no_hess_irc_mace(reactant, product, calc_kwargs, logger)
3341

3442
# Assertions
35-
assert len(jobs) == 4
43+
assert jobs[0]['relax_reactant']['results']['energy'] == pytest.approx(-7400.109474432057, 1e-6)
44+
assert jobs[0]['relax_reactant']['results']['forces'][0, 1] == pytest.approx(2.66840467e-04, 1e-2)
45+
46+
assert jobs[0]['relax_product']['results']['energy'] == pytest.approx(-7395.830068714384, 1e-6)
47+
assert jobs[0]['relax_product']['results']['forces'][0, 1] == pytest.approx(-0.00025790767076738774, 1e-2)
48+
49+
# geodesic output
50+
assert jobs[0]['highest_e_atoms'].get_potential_energy() == pytest.approx(-7392.679151885447, 1e-6)
51+
52+
# transition state optimization output
53+
assert jobs[1]['trajectory_results'][-1]['energy'] == pytest.approx(-7395.245196822939, 1e-6)
54+
55+
# IRC forward output
56+
assert jobs[2]['trajectory_results'][-1]['energy'] == pytest.approx(-7395.808953241075, 1e-6)
57+
58+
# IRC reverse output
59+
assert jobs[3]['trajectory_results'][-1]['energy'] == pytest.approx(-7396.074596733643, 1e-6)

tests/geodesic_ts_without_hessian/test_using_newtonnet.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
import os
22
import torch
33
import pytest
4+
5+
import numpy as np
6+
7+
8+
@pytest.fixture(scope="session", autouse=True)
9+
def set_seed():
10+
np.random.seed(42) # noqa: NPY002
11+
12+
413
import logging
514
from ase.io import read
615
from quacc import get_settings
@@ -45,4 +54,20 @@ def test_geodesic_ts_hess_irc_newtonnet(setup_test_environment):
4554
jobs = geodesic_ts_no_hess_irc_newtonnet(reactant, product, calc_kwargs1, logger)
4655

4756
# Assertions
48-
assert len(jobs) == 4
57+
assert jobs[0]['relax_reactant']['results']['energy'] == pytest.approx(-68.26889038085938, 1e-6)
58+
assert jobs[0]['relax_reactant']['results']['forces'][0, 1] == pytest.approx(0.0006616527098231018, 1e-2)
59+
60+
assert jobs[0]['relax_product']['results']['energy'] == pytest.approx(-63.780540466308594, 1e-6)
61+
assert jobs[0]['relax_product']['results']['forces'][0, 1] == pytest.approx(-0.0018400131957605481, 1e-2)
62+
63+
# geodesic output
64+
assert jobs[0]['highest_e_atoms'].get_potential_energy() == pytest.approx(-61.53276824951172, 1e-6)
65+
66+
# transition state optimization output
67+
assert jobs[1]['trajectory_results'][-1]['energy'] == pytest.approx(-63.742549896240234, 1e-6)
68+
69+
# IRC forward output
70+
assert jobs[2]['trajectory_results'][-1]['energy'] == pytest.approx(-67.372802734375, 1e-6)
71+
72+
# IRC reverse output
73+
assert jobs[3]['trajectory_results'][-1]['energy'] == pytest.approx(-67.37286376953125, 1e-6)

tests/neb_ts_with_hessian/test_using_mace.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
import pytest
2+
3+
import numpy as np
4+
5+
6+
@pytest.fixture(scope="session", autouse=True)
7+
def set_seed():
8+
np.random.seed(42) # noqa: NPY002
9+
10+
211
import logging
312
from ase.io import read
413
from quacc import get_settings
@@ -33,3 +42,31 @@ def test_neb_ts_hess_irc_mace(setup_test_environment):
3342

3443
# Assertions
3544
assert len(jobs) == 4
45+
46+
print(jobs[0]['relax_reactant']['results']['energy'])
47+
print(jobs[0]['relax_reactant']['results']['forces'][0, 1])
48+
print(jobs[0]['relax_product']['results']['energy'])
49+
print(jobs[0]['relax_product']['results']['forces'][0, 1])
50+
print(jobs[0]['neb_results']['highest_e_atoms'].get_potential_energy())
51+
print(jobs[1]['trajectory_results'][-1]['energy'])
52+
print(jobs[2]['trajectory_results'][-1]['energy'])
53+
print(jobs[3]['trajectory_results'][-1]['energy'])
54+
55+
# Assertions
56+
assert jobs[0]['relax_reactant']['results']['energy'] == pytest.approx(-68.26889038085938, 1e-6)
57+
assert jobs[0]['relax_reactant']['results']['forces'][0, 1] == pytest.approx(0.0006616527098231, 1e-2)
58+
59+
assert jobs[0]['relax_product']['results']['energy'] == pytest.approx(-63.780540466308594, 1e-6)
60+
assert jobs[0]['relax_product']['results']['forces'][0, 1] == pytest.approx(-0.0018400131957605481, 1e-2)
61+
62+
# neb output
63+
assert jobs[0]['neb_results']['highest_e_atoms'].get_potential_energy() == pytest.approx(-61.5327682495, 1e-6)
64+
65+
# transition state optimization output
66+
assert jobs[1]['trajectory_results'][-1]['energy'] == pytest.approx(-63.742549896240234, 1e-6)
67+
68+
# IRC forward output
69+
assert jobs[2]['trajectory_results'][-1]['energy'] == pytest.approx(-67.372802734375, 1e-6)
70+
71+
# IRC reverse output
72+
assert jobs[3]['trajectory_results'][-1]['energy'] == pytest.approx(-67.37286376953125, 1e-6)

tests/neb_ts_with_hessian/test_using_newtonnet.py

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
import torch
22
import pytest
3+
4+
5+
import numpy as np
6+
7+
8+
@pytest.fixture(scope="session", autouse=True)
9+
def set_seed():
10+
np.random.seed(42) # noqa: NPY002
11+
12+
313
import logging
414
from ase.io import read
515
from pathlib import Path
@@ -23,7 +33,6 @@ def reset_default_tensor_type():
2333
torch.set_default_tensor_type(torch.FloatTensor)
2434

2535

26-
@pytest.mark.skip()
2736
def test_neb_ts_hess_irc_newtonnet(setup_test_environment):
2837
reactant, product = setup_test_environment
2938

@@ -48,3 +57,31 @@ def test_neb_ts_hess_irc_newtonnet(setup_test_environment):
4857

4958
# Assertions
5059
assert len(jobs) == 4
60+
61+
print(jobs[0]['relax_reactant']['results']['energy'])
62+
print(jobs[0]['relax_reactant']['results']['forces'][0, 1])
63+
print(jobs[0]['relax_product']['results']['energy'])
64+
print(jobs[0]['relax_product']['results']['forces'][0, 1])
65+
print(jobs[0]['neb_results']['highest_e_atoms'].get_potential_energy())
66+
print(jobs[1]['trajectory_results'][-1]['energy'])
67+
print(jobs[2]['trajectory_results'][-1]['energy'])
68+
print(jobs[3]['trajectory_results'][-1]['energy'])
69+
70+
# Assertions
71+
assert jobs[0]['relax_reactant']['results']['energy'] == pytest.approx(-68.26889038085938, 1e-6)
72+
assert jobs[0]['relax_reactant']['results']['forces'][0, 1] == pytest.approx(0.0006616527098231, 1e-2)
73+
74+
assert jobs[0]['relax_product']['results']['energy'] == pytest.approx(-63.780540466308594, 1e-6)
75+
assert jobs[0]['relax_product']['results']['forces'][0, 1] == pytest.approx(-0.0018400131957605481, 1e-2)
76+
77+
# neb output
78+
assert jobs[0]['neb_results']['highest_e_atoms'].get_potential_energy() == pytest.approx(-61.5327682495, 1e-6)
79+
80+
# transition state optimization output
81+
assert jobs[1]['trajectory_results'][-1]['energy'] == pytest.approx(-63.742549896240234, 1e-6)
82+
83+
# IRC forward output
84+
assert jobs[2]['trajectory_results'][-1]['energy'] == pytest.approx(-67.372802734375, 1e-6)
85+
86+
# IRC reverse output
87+
assert jobs[3]['trajectory_results'][-1]['energy'] == pytest.approx(-67.37286376953125, 1e-6)

tests/neb_ts_without_hessian/test_using_mace.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
11
import pytest
2+
3+
4+
import numpy as np
5+
6+
7+
@pytest.fixture(scope="session", autouse=True)
8+
def set_seed():
9+
np.random.seed(42) # noqa: NPY002
10+
11+
212
import logging
313
from ase.io import read
414
from pathlib import Path
@@ -34,3 +44,31 @@ def test_neb_ts_no_hess_irc_mace(setup_test_environment):
3444

3545
# Assertions
3646
assert len(jobs) == 4
47+
48+
print(jobs[0]['relax_reactant']['results']['energy'])
49+
print(jobs[0]['relax_reactant']['results']['forces'][0, 1])
50+
print(jobs[0]['relax_product']['results']['energy'])
51+
print(jobs[0]['relax_product']['results']['forces'][0, 1])
52+
print(jobs[0]['neb_results']['highest_e_atoms'].get_potential_energy())
53+
print(jobs[1]['trajectory_results'][-1]['energy'])
54+
print(jobs[2]['trajectory_results'][-1]['energy'])
55+
print(jobs[3]['trajectory_results'][-1]['energy'])
56+
57+
# Assertions
58+
assert jobs[0]['relax_reactant']['results']['energy'] == pytest.approx(-68.26889038085938, 1e-6)
59+
assert jobs[0]['relax_reactant']['results']['forces'][0, 1] == pytest.approx(0.0006616527098231, 1e-2)
60+
61+
assert jobs[0]['relax_product']['results']['energy'] == pytest.approx(-63.780540466308594, 1e-6)
62+
assert jobs[0]['relax_product']['results']['forces'][0, 1] == pytest.approx(-0.0018400131957605481, 1e-2)
63+
64+
# neb output
65+
assert jobs[0]['neb_results']['highest_e_atoms'].get_potential_energy() == pytest.approx(-61.5327682495, 1e-6)
66+
67+
# transition state optimization output
68+
assert jobs[1]['trajectory_results'][-1]['energy'] == pytest.approx(-63.742549896240234, 1e-6)
69+
70+
# IRC forward output
71+
assert jobs[2]['trajectory_results'][-1]['energy'] == pytest.approx(-67.372802734375, 1e-6)
72+
73+
# IRC reverse output
74+
assert jobs[3]['trajectory_results'][-1]['energy'] == pytest.approx(-67.37286376953125, 1e-6)

tests/neb_ts_without_hessian/test_using_newtonnet.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
import torch
22
import pytest
3+
4+
5+
import numpy as np
6+
7+
8+
@pytest.fixture(scope="session", autouse=True)
9+
def set_seed():
10+
np.random.seed(42) # noqa: NPY002
11+
12+
313
import logging
414
from ase.io import read
515
from pathlib import Path
@@ -45,3 +55,31 @@ def test_neb_ts_no_hess_irc_newtonnet(setup_test_environment):
4555

4656
# Assertions
4757
assert len(jobs) == 4
58+
59+
print(jobs[0]['relax_reactant']['results']['energy'])
60+
print(jobs[0]['relax_reactant']['results']['forces'][0, 1])
61+
print(jobs[0]['relax_product']['results']['energy'])
62+
print(jobs[0]['relax_product']['results']['forces'][0, 1])
63+
print(jobs[0]['neb_results']['highest_e_atoms'].get_potential_energy())
64+
print(jobs[1]['trajectory_results'][-1]['energy'])
65+
print(jobs[2]['trajectory_results'][-1]['energy'])
66+
print(jobs[3]['trajectory_results'][-1]['energy'])
67+
68+
# Assertions
69+
assert jobs[0]['relax_reactant']['results']['energy'] == pytest.approx(-68.26889038085938, 1e-6)
70+
assert jobs[0]['relax_reactant']['results']['forces'][0, 1] == pytest.approx(0.0006616527098231, 1e-2)
71+
72+
assert jobs[0]['relax_product']['results']['energy'] == pytest.approx(-63.780540466308594, 1e-6)
73+
assert jobs[0]['relax_product']['results']['forces'][0, 1] == pytest.approx(-0.0018400131957605481, 1e-2)
74+
75+
# neb output
76+
assert jobs[0]['neb_results']['highest_e_atoms'].get_potential_energy() == pytest.approx(-61.5327682495, 1e-6)
77+
78+
# transition state optimization output
79+
assert jobs[1]['trajectory_results'][-1]['energy'] == pytest.approx(-63.742549896240234, 1e-6)
80+
81+
# IRC forward output
82+
assert jobs[2]['trajectory_results'][-1]['energy'] == pytest.approx(-67.372802734375, 1e-6)
83+
84+
# IRC reverse output
85+
assert jobs[3]['trajectory_results'][-1]['energy'] == pytest.approx(-67.37286376953125, 1e-6)

0 commit comments

Comments
 (0)