Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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)