def mass_save(sims, cut, destination_dir, analysis_type='last'): if not isgenerator(sims) or not isinstance(sims, list): sims = [sims] for sim in sims: name = str(sim.atoms.id) new_dir_path = os.path.join(destination_dir, str(sim.name)) if not os.path.exists(new_dir_path): os.mkdir(os.path.join(destination_dir, sim.name)) d = sim_unpack(sim) if analysis_type == 'min': pel = [] for atoms in d['traj']: if atoms._calc is not None: pel.append(atoms.get_potential_energy()) index = int(np.argmin(pel)) print index print pel[index] elif analysis_type == 'last': index = -1 save_config(new_dir_path, name, d, index) plot_pdf(atoms=d['traj'][index], show=False, save_file=os.path.join(new_dir_path, name), **d) plot_angle(cut, show=False, save_file=os.path.join(new_dir_path, name), index=index, **d) plot_coordination(cut, show=False, save_file=os.path.join(new_dir_path, name), index=index, **d) plot_radial_bond_length(cut, show=False, save_file=os.path.join(new_dir_path, name), index=index, **d)
def mass_plot(sims, cut, analysis_type='last'): if not isgenerator(sims) and not isinstance(sims, list): sims = [sims] for sim in sims: d = sim_unpack(sim) if analysis_type == 'min': pel = [] for atoms in d['traj']: if atoms._calc is not None: pel.append(atoms.get_potential_energy()) index = np.argmin(pel) print index print pel[index] elif analysis_type == 'last': index = -1 ase_view(**d) plot_pdf(atoms=d['traj'][index], **d) plot_angle(cut, index=index, **d) plot_coordination(cut, index=index, **d) plot_radial_bond_length(cut, index=index, **d)