Simulation Tasks#
enerzyme simulate dispatches ASE workflows from Simulation.task in enerzyme/tasks/simulator.py.
Command#
enerzyme simulate -c sim.yaml -o sim_out/ -m model_dir/ -mc config.yaml \
[-cp calculator_patch.py] [-pp plumed_patch.py]
Task matrix#
sp— (inline config) →sp.xyzopt—opt.yaml→traj-opt.xyz,optim.xyzscan—scan.yaml→scan_optim.xyz,traj-*md—nvt_md.yaml→md.traj.xyzneb—neb.yaml→neb.xyz,ci-neb.xyzplumed—plumed.yaml→plumed.traj.xyzplumed_scan— (plugin) →scan_optim.xyz
Constraints#
constraint:
fix_atom:
indices: [80, 81, 82]
Hookean_allpairs:
indices: [10, 11, 12]
k: 10.0
Optimizers#
opt, scan, plumed_scan: BFGS, LBFGS, FIRE, MDMin, GPMin, line-search variants.
NEB optimizers: odesolver, static (ASE NEBOptimizer).
Integrators#
md / plumed: currently Langevin with time_step, temperature_in_K, friction, n_step.
NEB inputs#
System.structure_file as multi-frame XYZ:
2 frames — reactant + product (interpolate with IDPP)
3 frames — reactant + TS guess + product
num_imagesframes — use path as-is
Options: relax_endpoints, climb, spring_constants, interpolation.method: idpp.
Calculator integration#
The trained model is wrapped as ASECalculator (enerzyme/tasks/calculator.py). Hybrid and UDD setups use external_calculator and uncertainty_calculator — see Enhanced Sampling and PLUMED.