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',
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()