def get_potential_energy(self): self.system.set_calculator(self.setup_calculator()) try: if self.minimize: optimizer = LAMMPSOptimizer(self.system) optimizer.run() e = self.system.get_potential_energy() self.system._del_calculator() except: traceback.print_exc() print "{0} molecule not converged".format(self.name) e = 1000 #not converged value return e
def build_PVA(N): mol, bond_matrix, backbone_carbons = create_PVA(N) distance_geometry(mol, bond_matrix, backbone_carbons) N = len(mol) bonds = np.array(np.where(np.triu(bond_matrix, 1))).T mol.info['bonds'] = Bonds(mol, pairs=bonds) from multiasecalc.lammps.compass import COMPASS from multiasecalc.lammps.dynamics import LAMMPSOptimizer from multiasecalc.utils import get_datafile mol.calc = COMPASS(get_datafile('compass.frc'), parameters=dict(extra_cmds=['communicate single cutoff 80']), debug=True) dyn = LAMMPSOptimizer(mol) dyn.run() return mol
from multiasecalc.lammps.reaxff import ReaxFF from multiasecalc.lammps.compass import COMPASS from multiasecalc.lammps.dynamics import LAMMPSOptimizer, LAMMPS_NVT from multiasecalc.utils import get_datafile from ase.data import s22 from ase import units import numpy as np import ase.io from ase.io.trajectory import PickleTrajectory atoms = s22.create_s22_system('Methane_dimer') atoms.center(vacuum=10.0) print atoms.positions atoms.calc = COMPASS(ff_file_path=get_datafile('compass.frc'), debug=True) optimizer = LAMMPSOptimizer(atoms) optimizer.run() print atoms.positions atoms.calc = ReaxFF(ff_file_path=get_datafile('ffield.reax'), debug=True) dyn = LAMMPS_NVT(atoms, 1 * units.fs, 100, trajectory='test.traj', traj_interval=2) dyn.run(5) atoms.calc = COMPASS(ff_file_path=get_datafile('compass.frc'), debug=True) dyn.run(10) trj = PickleTrajectory('test.traj', 'r')
from ase.atoms import Atoms from multiasecalc.lammps.reaxff import ReaxFF from multiasecalc.lammps.compass import COMPASS from multiasecalc.lammps.dynamics import LAMMPSOptimizer, LAMMPS_NVT from multiasecalc.utils import get_datafile from ase.data import s22 from ase import units import numpy as np import ase.io from ase.io.trajectory import PickleTrajectory atoms = s22.create_s22_system('Methane_dimer') atoms.center(vacuum=10.0) print atoms.positions atoms.calc = COMPASS(ff_file_path=get_datafile('compass.frc'), debug=True) optimizer = LAMMPSOptimizer(atoms) optimizer.run() print atoms.positions atoms.calc = ReaxFF(ff_file_path=get_datafile('ffield.reax'), debug=True) dyn = LAMMPS_NVT(atoms, 1*units.fs, 100, trajectory='test.traj', traj_interval = 2) dyn.run(5) atoms.calc = COMPASS(ff_file_path=get_datafile('compass.frc'), debug=True) dyn.run(10) trj = PickleTrajectory('test.traj', 'r') for t in trj: print t.positions