예제 #1
0
coor_monomer2 = np.array(
    [rotate_vector(coor, [0.0, 0.0, 0.0]) for coor in coor_monomer2])

coor_monomer2[:, 0] += 4.0  # monomers separation
coor_monomer2[:, 1] += 0.0  # monomers separation
coor_monomer2[:, 2] += 0.0  # monomers separation

coordinates = ethene + coor_monomer2.tolist()
symbols_dimer = symbols * 2

dimer = Structure(coordinates=coordinates,
                  symbols=symbols_dimer,
                  charge=0,
                  multiplicity=1)

print(dimer.get_xyz())

diabatization_scheme = [
    # {'method': 'ER', 'states': [1, 2, 3, 4]},  # in order with respect to selected states
    {
        'method': 'DQ',
        'states': [1, 2, 3, 4],
        'parameters': 0.0
    }
]

# create Q-Chem input
qc_input = QchemInput(
    dimer,
    jobtype='sp',
    exchange='hf',
예제 #2
0
        if args.show_plot:
            txt_input = create_qchem_input(mol,
                                           jobtype='freq',
                                           method='b3lyp',
                                           basis='cc-pVDZ')

            parsed_data = get_output_from_qchem(txt_input,
                                                processors=4,
                                                force_recalculation=False,
                                                parser=basic_frequencies)
            energy = parsed_data['energy']

            data_for_plot.append(
                [d, (energy - energy_i) * hartree_to_kcalmol,
                 energy2])  # kcal/mol

        f.write(
            mol.get_xyz(title='{:8.5f} kcal/mol  rmsd: {:10.8f}\n'.format(
                energy2, rmsd)))
        f2.write(
            mol.get_xyz(title='{:8.5f} kcal/mol  rmsd: {:10.8f}\n'.format(
                energy2, rmsd)))

    if args.show_plot:
        import matplotlib.pyplot as plt
        plt.plot(np.array(data_for_plot)[:, 0], np.array(data_for_plot)[:, 1:])
        plt.show()
f.close()
f2.close()