def fire(frames=files.read_xyz("CNH_HCN.xyz"), maxiter=1000): new_opt_params = {'dt': 0.1, 'euler': False, 'maxiter': maxiter} return neb.NEB("neb_test", frames, "! HF-3c", opt="FIRE", new_opt_params=new_opt_params)
def quick_min(frames=files.read_xyz("CNH_HCN.xyz"), maxiter=1000): new_opt_params = { 'dt': 0.1, 'verbose': False, 'euler': False, 'maxiter': maxiter } return neb.NEB("neb_test", frames, "! HF-3c", opt="QM", new_opt_params=new_opt_params)
def sd(frames=files.read_xyz("CNH_HCN.xyz"), maxiter=1000): new_opt_params = { 'step_size': 0.1, 'step_size_adjustment': 0.5, 'max_step': 0.2, 'linesearch': 'backtrack', 'accelerate': True, 'maxiter': maxiter } return neb.NEB("neb_test", frames, "! HF-3c", opt="SD", new_opt_params=new_opt_params)
def scipy(method="slsqp", frames=files.read_xyz("CNH_HCN.xyz"), maxiter=1000): new_opt_params = { 'disp': False, 'gtol': units.convert_energy("Ha", "eV", 1e-3), 'eps': 1.4901161193847656e-08, 'return_all': False, 'maxiter': maxiter, 'norm': 2.0, 'ftol': 0.0 } return neb.NEB("scipy", frames, "! HF-3c", opt="scipy_" + method, new_opt_params=new_opt_params)
def conjugate_gradient(frames=files.read_xyz("CNH_HCN.xyz"), maxiter=1000): new_opt_params = { 'step_size': 0.1, 'step_size_adjustment': 0.5, 'max_step': 0.2, 'linesearch': 'backtrack', 'accelerate': True, 'maxiter': maxiter, 'method': 'FR', 'linesearch': 'backtrack' } return neb.NEB("squid_cg", frames, "! HF-3c", opt="CG", new_opt_params=new_opt_params)
def lbfgs(frames=files.read_xyz("CNH_HCN.xyz"), maxiter=1000): new_opt_params = { 'step_size': 1.0, 'step_size_adjustment': 0.5, 'max_step': 0.04, 'linesearch': None, 'accelerate': True, 'reset_step_size': 20, 'maxiter': maxiter } return neb.NEB("neb_test", frames, "! HF-3c", opt="LBFGS", queue=None, procs=1, new_opt_params=new_opt_params, ci_neb=True, no_energy=False)
atom.fz = units.convert("kcal/ang", "Ha/ang", float(atom.extras['fz'])) energy = open("lammps/solv_box-%d-%d/energy.profile" % (step_to_use, i), 'r').read().strip().split("\n")[-1] new_energy = float(energy.strip().split()[-1].strip()) # Add the forces onto our state for a, b in zip(state, new_atoms): a.fx, a.fy, a.fz = b.fx, b.fy, b.fz return units.convert_energy("kcal/mol", "Ha", new_energy), new_atoms frames = generate_frames() files.write_xyz(frames, "neb_initial_configuration.xyz") sim = neb.NEB( 'benzene', frames, ('water.cml', 1.0), #('CH3OH.cml', 0.8), DFT="None", opt="LBFGS", queue="short", procs=4, start_job=run_simulation, get_results=read_simulation, no_energy=False) sim.optimize()