def finalize_individual(self, indi): """Call this function just before returning the new individual""" indi.info['key_value_pairs']['origin'] = self.descriptor enable_raw_score_methods(indi) return indi
def finalize_individual(self, indi): """Call this function just before returning the new individual""" indi.info['key_value_pairs']['origin'] = self.descriptor enable_raw_score_methods(indi) return indi
dE=0.3) assert not comp3.looks_like(a1, a2) from ase.ga.standard_comparators import EnergyComparator hard_E_comp = EnergyComparator(dE=1.0) assert hard_E_comp.looks_like(a1, a2) soft_E_comp = EnergyComparator(dE=.01) assert not soft_E_comp.looks_like(a1, a2) from ase.ga.atoms_attach import enable_raw_score_methods from ase.ga.standard_comparators import RawScoreComparator enable_raw_score_methods(a1) a1.set_raw_score(.1) enable_raw_score_methods(a2) a2.set_raw_score(.27) rs_comp = RawScoreComparator(0.15) assert not rs_comp.looks_like(a1, a2) from ase.ga.standard_comparators import SequentialComparator comp1 = SequentialComparator([hard_E_comp, rs_comp], [0, 0]) assert not comp1.looks_like(a1, a2) comp2 = SequentialComparator([hard_E_comp, rs_comp], [0, 1]) assert comp2.looks_like(a1, a2)
def get_atoms(self, id, add_info=True): """Return the atoms object with the specified id""" a = self.c.get_atoms(id, add_additional_information=add_info) enable_raw_score_methods(a) return a
from ase.optimize import BFGS from ase.io import read, write from ase.calculators.emt import EMT from ase.ga.relax_attaches import VariansBreak from ase.ga.atoms_attach import enable_raw_score_methods import sys fname = sys.argv[1] print('Now relaxing {}'.format(fname)) a = read(fname) a.set_calculator(EMT()) dyn = BFGS(a, trajectory=None, logfile=None) vb = VariansBreak(a, dyn) dyn.attach(vb.write) dyn.run(fmax=0.05) enable_raw_score_methods(a) a.set_raw_score(-a.get_potential_energy()) write(fname[:-5] + '_done.traj', a) print('Done relaxing {}'.format(fname))
from ase.optimize import BFGS from ase.io import read, write from ase.calculators.emt import EMT from ase.ga.relax_attaches import VariansBreak from ase.ga.atoms_attach import enable_raw_score_methods import sys fname = sys.argv[1] print('Now relaxing {0}'.format(fname)) a = read(fname) a.set_calculator(EMT()) dyn = BFGS(a, trajectory=None, logfile=None) vb = VariansBreak(a, dyn) dyn.attach(vb.write) dyn.run(fmax=0.05) enable_raw_score_methods(a) a.set_raw_score(-a.get_potential_energy()) write(fname[:-5] + '_done.traj', a) print('Done relaxing {0}'.format(fname))
pair_cor_max=0.7, dE=0.3) assert not comp3.looks_like(a1, a2) from ase.ga.standard_comparators import EnergyComparator hard_E_comp = EnergyComparator(dE=1.0) assert hard_E_comp.looks_like(a1, a2) soft_E_comp = EnergyComparator(dE=.01) assert not soft_E_comp.looks_like(a1, a2) from ase.ga.atoms_attach import enable_raw_score_methods from ase.ga.standard_comparators import RawScoreComparator enable_raw_score_methods(a1) a1.set_raw_score(.1) enable_raw_score_methods(a2) a2.set_raw_score(.27) rs_comp = RawScoreComparator(0.15) assert not rs_comp.looks_like(a1, a2) from ase.ga.standard_comparators import SequentialComparator comp1 = SequentialComparator([hard_E_comp, rs_comp], [0, 0]) assert not comp1.looks_like(a1, a2) comp2 = SequentialComparator([hard_E_comp, rs_comp], [0, 1]) assert comp2.looks_like(a1, a2)