Bases: BaseDataset
This dataset probes chemical reactions of methyl halides with halide anions, i.e. X- + CH3Y -> CH3X + Y-, and
contains structures for all possible combinations of X,Y = F, Cl, Br, I. The conformations are generated by
running MD simulations at a temperature of 5000K with a time step of 0.1 fs using Atomic Simulation Environment
(ASE). The forces are derived using semi-empirical method PM7 and the structures are saved every 10 steps, and
for each of them, energy and forces are calculated at the DSD-BLYP-D3(BJ)/def2-TZVP level of theory. The dataset
contains 452,709 structures along with the energy, force and dipole moments.
Usage:
from openqdc.datasets import SN2RXN
dataset = SN2RXN()
References
https://doi.org/10.1021/acs.jctc.9b00181
https://zenodo.org/records/2605341
Source code in openqdc/datasets/potential/sn2_rxn.py
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 | class SN2RXN(BaseDataset):
"""
This dataset probes chemical reactions of methyl halides with halide anions, i.e. X- + CH3Y -> CH3X + Y-, and
contains structures for all possible combinations of X,Y = F, Cl, Br, I. The conformations are generated by
running MD simulations at a temperature of 5000K with a time step of 0.1 fs using Atomic Simulation Environment
(ASE). The forces are derived using semi-empirical method PM7 and the structures are saved every 10 steps, and
for each of them, energy and forces are calculated at the DSD-BLYP-D3(BJ)/def2-TZVP level of theory. The dataset
contains 452,709 structures along with the energy, force and dipole moments.
Usage:
```python
from openqdc.datasets import SN2RXN
dataset = SN2RXN()
```
References:
https://doi.org/10.1021/acs.jctc.9b00181\n
https://zenodo.org/records/2605341
"""
__name__ = "sn2_rxn"
__energy_methods__ = [
PotentialMethod.DSD_BLYP_D3_BJ_DEF2_TZVP
# "dsd-blyp-d3(bj)/def2-tzvp",
]
__energy_unit__ = "ev"
__distance_unit__ = "ang"
__forces_unit__ = "ev/ang"
__links__ = {"sn2_rxn.npz": "https://zenodo.org/records/2605341/files/sn2_reactions.npz"}
energy_target_names = [
# TODO: We need to revalidate this to make sure that is not atomization energies.
"DSD-BLYP-D3(BJ):def2-TZVP Atomization Energy",
]
__force_mask__ = [True]
force_target_names = [
"DSD-BLYP-D3(BJ):def2-TZVP Gradient",
]
def read_raw_entries(self):
raw_path = p_join(self.root, "sn2_rxn.npz")
data = np.load(raw_path)
samples = extract_npz_entry(data)
return samples
|