Skip to content

Commit 92992a8

Browse files
committed
Switch to ASE LangevinBAOAB
1 parent 996f526 commit 92992a8

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

wfl/generate/md/__init__.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
from ase.md.logger import MDLogger
1111
from ase.units import fs
1212

13+
# only in 3.27.0b1 as of 2025 Oct 23 or so
1314
try:
14-
from wif.Langevin_BAOAB import Langevin_BAOAB
15+
from ase.md.langevinbaoab import LangevinBAOAB
1516
except ImportError:
1617
LangevinBAOAB = None
1718

@@ -42,9 +43,9 @@ def _sample_autopara_wrappable(atoms, calculator, steps, dt, integrator="Berends
4243
ASE calculator or routine to call to create calculator
4344
dt: float
4445
time step (fs)
45-
integrator: "Berendsen" or "Langevin" or "Langevin_BAOAB", default "Berendsen"
46+
integrator: "Berendsen" or "Langevin" or "LangevinBAOAB", default "Berendsen"
4647
MD time integrator. Berendsen and Langevin fall back to VelocityVerlet (NVE) if temperature_tau is None,
47-
while Langevin_BAOAB will do NPH in that case
48+
while LangevinBAOAB will do NPH in that case
4849
steps: int
4950
number of steps
5051
temperature: float or (float, float, [int]]), or list of dicts default None
@@ -153,8 +154,8 @@ def _sample_autopara_wrappable_single(at, at_i, calculator, steps, dt, logger_in
153154

154155
stage_kwargs = {'timestep': dt * fs}
155156

156-
if integrator == "Langevin_BAOAB":
157-
md_constructor = Langevin_BAOAB
157+
if integrator == "LangevinBAOAB":
158+
md_constructor = LangevinBAOAB
158159
else:
159160
if temperature_tau is None:
160161
md_constructor = VelocityVerlet
@@ -171,7 +172,7 @@ def _sample_autopara_wrappable_single(at, at_i, calculator, steps, dt, logger_in
171172

172173
# pressure arguments, relatively simple because there are no stages
173174
if pressure_use is not None:
174-
if integrator == 'Langevin_BAOAB':
175+
if integrator == 'LangevinBAOAB':
175176
stage_kwargs['externalstress'] = pressure_use
176177
stage_kwargs['P_tau'] = pressure_tau * fs if pressure_tau is not None else temperature_tau * fs * 3
177178
stage_kwargs['P_mass_factor'] = pressure_mass_factor
@@ -185,11 +186,11 @@ def _sample_autopara_wrappable_single(at, at_i, calculator, steps, dt, logger_in
185186
stage_kwargs['compressibility_au'] = compressibility_au_use
186187
stage_kwargs['taup'] = pressure_tau * fs if pressure_tau is not None else temperature_tau * fs * 3
187188
else:
188-
raise ValueError(f'Only Langevin_BAOAB and Berendsen integrator support pressure, got {integrator}')
189+
raise ValueError(f'Only LangevinBAOAB and Berendsen integrator support pressure, got {integrator}')
189190

190191
# temperature args except actual temperature, which is set below with stages
191192
if temperature_tau is not None:
192-
if integrator == 'Langevin_BAOAB':
193+
if integrator == 'LangevinBAOAB':
193194
stage_kwargs['T_tau'] = temperature_tau * fs
194195
assert rng is not None
195196
stage_kwargs["rng"] = rng
@@ -305,7 +306,7 @@ def process_step(interval):
305306

306307

307308
def _sample_autopara_wrappable_kwargs(atoms, calculator, steps, dt, **kwargs):
308-
assert kwargs.get("integrator", "Berendsen") in ["Berendsen", "Langevin", "Langevin_BAOAB"]
309+
assert kwargs.get("integrator", "Berendsen") in ["Berendsen", "Langevin", "LangevinBAOAB"]
309310

310311
calculator = construct_calculator_picklesafe(calculator)
311312

0 commit comments

Comments
 (0)