You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extended Lagrangian Born–Oppenheimer Molecular Dynamics (XL-BOMD) improves upon traditional Born–Oppenheimer Molecular Dynamics (BOMD) by introducing auxiliary dynamical variables that track the electronic density matrix in a harmonic potential. This reduces the need for fully converged self-consistent field (SCF) calculations at each time step.
5
5
6
-
The method enables energy-conserving dynamics even with relaxed SCF convergence, significantly lowering computational cost while maintaining stability. XL-BOMD is particularly effective for long-time simulations and large molecular systems, and is well-suited for semiempirical, Hartree–Fock, and DFT-based electronic structure methods.
6
+
The method enables energy-conserving dynamics even with relaxed SCF convergence, significantly lowering computational cost while maintaining stability. XL-BOMD is particularly effective for long-time simulations and large molecular systems.
7
7
8
-
This implementation supports efficient simulations by reducing the number of SCF iterations required per time step, enabling practical quantum-based molecular dynamics for systems where conventional BOMD would be prohibitively expensive.
9
-
10
-
PYSEQM provides two variants:
8
+
PYSEQM provides two variants of XL-BOMD:
11
9
12
10
- **XL_BOMD**
13
11
Base extended‐Lagrangian Born–Oppenheimer MD.
14
12
15
13
- **KSA_XL_BOMD**
16
-
Krylov‐subspace‐approximated XL‐BOMD with low‐rank electronic updates (more accurate dynamics without sacrificing speed).
14
+
An improved Krylov subspace approximation (KSA) scheme for the integration of the electronic equations of motion within XL-BOMD
15
+
(more accurate dynamics without sacrificing speed).
17
16
18
17
19
18
Driver Classes & Initialization
@@ -42,35 +41,47 @@ Import the drivers and instantiate with common arguments:
damp=100.0, # optional, if needed, damping constant (fs) for Langevin dynamics
54
53
seqm_parameters=seqm_parameters,
55
54
Temp=400.0,
56
55
timestep=0.4,
57
56
output=output
58
57
).to(device)
59
58
60
-
Key Parameters
61
-
~~~~~~~~~~~~~~
62
-
- **xl_bomd_params['k']** (`float`)
63
-
Controls the strength of the dissipative electronic force `Niklasson, Anders, et al., The Journal of Chemical Physics 130.21 (2009) <https://aip.scitation.org/doi/full/10.1063/1.3148075>`_.
59
+
Key Parameters of XL-BOMD
60
+
~~~~~~~~~~~~~~~~~~~~~~~~~~
61
+
62
+
The XL-BOMD drivers need a dictionary that specify the parameters for XL-BOMD dynamics. In the above code, this dictionary is `xl_bomd_params`.
63
+
The key/value pairs for this dictionary are:
64
+
65
+
- **'k'** (`int`)
66
+
Controls `K` of the dissipative electronic force. See `Niklasson, Anders, et al., The Journal of Chemical Physics 130.21 (2009) <https://aip.scitation.org/doi/full/10.1063/1.3148075>`_.
64
67
65
-
- **max_rank** (`int`, KSA only)
66
-
Maximum rank of the Krylov subspace used in the low‐rank update.
68
+
Values from ``3`` to ``9`` are accepted.
67
69
68
-
- **err_threshold** (`float`, KSA only)
70
+
- **'max_rank'** (`int`, KSA only)
71
+
Maximum rank of the kernel for the update in the Krylov subspace approximation.
72
+
73
+
- **'err_threshold'** (`float`, KSA only)
69
74
Error tolerance for the low‐rank approximation (set to 0.0 to fix at `max_rank`).
70
75
71
-
- **T_el** (`float`, KSA only)
76
+
- **'T_el'** (`float`, KSA only)
72
77
Electronic “temperature” for thermalized Hartree–Fock.
73
78
79
+
The parameters to initialize the MD drivers `XL_BOMD()` and `KSA_XL_BOMD()` are the same as those for `Molecular_Dynamics_Basic()` as in :ref:`bomd_driver`.
80
+
The extra parameters you can specify for XL-BOMD drivers are:
81
+
82
+
- **xl_bomd_params** (`dict`)
83
+
The dictionary that specifes the parameters for XL-BOMD dynamics, as described above.
84
+
74
85
- **damp** (`float`)
75
86
If you want to run Langevin dynamics, then specify the damping constant `damp` in fs. Langevin dynamics is turned off by default.
- **`.xyz` files** (read and padded automatically)
13
+
- **.xyz files** (read and padded automatically)
14
14
15
15
16
16
Using PyTorch Tensors
@@ -66,8 +66,8 @@ An `.xyz` file includes:
66
66
2. Comment or title (second line)
67
67
3. Atom symbol and coordinates per line (x, y, z)
68
68
69
-
Use `read_xyz` to load and pad.
70
-
The `read_xyz` function returns numpy tensors (species and coordinates) that have to be converted to PyTorch tensors
69
+
Use `read_xyz(...)` to load and pad.
70
+
The `read_xyz(...)` function returns numpy tensors (species and coordinates) that have to be converted to PyTorch tensors
71
71
72
72
.. code-block:: python
73
73
@@ -147,7 +147,7 @@ These imports provide the core components needed to define molecules and access
147
147
from seqm.seqm_functions.constants import Constants
148
148
from seqm.Molecule import Molecule
149
149
150
-
**Required if reading molecular structures from a `.xyz` file:**
150
+
**Required if reading molecular structures from .xyz files:**
151
151
152
152
Use this to load molecular geometries from `.xyz` files
153
153
@@ -179,12 +179,15 @@ Includes stochastic and frictional forces to model interaction with a heat bath,
179
179
180
180
from seqm.MolecularDynamics import Molecular_Dynamics_Langevin
181
181
182
-
**Required for KSA-XL Born-Oppenheimer Molecular Dynamics:**
182
+
**Required for Extended-Lagrangian Born-Oppenheimer Molecular Dynamics:**
183
183
184
-
Implements an efficient Born-Oppenheimer MD scheme using extended Lagrangian and Krylov subspace methods for long, accurate simulations on quantum surfaces.
184
+
Implements an extended Lagrangian Born-Oppenheimer MD (XL-BOMD) scheme and an improved Krylov subspace approximation (KSA) scheme for the integration of the electronic equations of motion within XL-BOMD termed as KSA-XL-BOMD for long, accurate MD simulations.
185
185
186
186
.. code-block:: python
187
187
188
+
# basic XL-BOMD
189
+
from seqm.MolecularDynamics importXL_BOMD
190
+
# XL-BOMD with Krylov subspace approximation for the integration of the electronic equations of motion
188
191
from seqm.MolecularDynamics importKSA_XL_BOMD
189
192
190
193
@@ -197,7 +200,7 @@ Implements an efficient Born-Oppenheimer MD scheme using extended Lagrangian and
197
200
SEQM Parameters
198
201
---------------
199
202
200
-
The ``seqm_parameters`` dictionary defines settings for a semiempirical quantum mechanics (SEQM) simulation.
203
+
The ``seqm_parameters`` dictionary helps you give the specifications for the semiempirical quantum mechanics (SEQM) calculation.
201
204
Below is a typical configuration:
202
205
203
206
.. code-block:: python
@@ -207,9 +210,10 @@ Below is a typical configuration:
207
210
'scf_eps': 1.0e-6,
208
211
'scf_converger': [2,],
209
212
'sp2': [False, 1.0e-5],
213
+
...
210
214
}
211
215
212
-
Some of the basic parameters in the ``seqm_parameters`` dictionary are:
216
+
Some of the basic key/value pairs in the ``seqm_parameters`` dictionary are:
213
217
214
218
**method** (`str`)
215
219
Specifies the semiempirical model to use.
@@ -220,10 +224,10 @@ Some of the basic parameters in the ``seqm_parameters`` dictionary are:
220
224
Convergence threshold for the SCF (Self-Consistent Field) loop.
221
225
The SCF iteration stops when the energy difference between steps is less than this value.
222
226
223
-
:recommended: 1e-5 for singlepoint SCF, 1e-8 for excitedstate calculations
227
+
:recommended:``1e-5`` for single-point SCF, ``1e-8`` for excited-state calculations
224
228
225
229
**scf_converger** (`list`)
226
-
Specifies the alorithm used to update the density matrix to converge SCF.
230
+
Specifies the alorithm and other details that will be used to update the density matrix to converge SCF.
227
231
228
232
Available options:
229
233
@@ -232,7 +236,7 @@ Some of the basic parameters in the ``seqm_parameters`` dictionary are:
- `Temp` (`float`) Specify the inital temperature (K) for BOMD. Given the initial temperature in BOMD, the initial nuclear velocities are set by drawing from a Maxwell–Boltzmann distribution so that each degree of freedom has an average kinetic energy of ½ kT
33
+
- ``Temp`` (`float`) Specify the inital temperature (K) for BOMD. Given the initial temperature in BOMD, the initial nuclear velocities are set by drawing from a Maxwell–Boltzmann distribution so that each degree of freedom has an average kinetic energy of ½ kT
0 commit comments