{ 'method': 'DQ', 'states': [1, 2, 3, 4], 'parameters': 0.0 } ] # create Q-Chem input qc_input = QchemInput( dimer, jobtype='sp', exchange='hf', correlation='rasci', ras_act=6, ras_elec=4, basis='sto-3g', ras_spin_mult=1, # singlets only ras_roots=8, ras_do_hole=False, ras_do_part=False, ras_diabatization_states=[3, 4, 5, 6 ], # adiabatic states selected for diabatization ras_diabatization_scheme=diabatization_scheme, ) print(qc_input.get_txt()) # get data from Q-Chem calculation output, err, electronic_structure = get_output_from_qchem( qc_input, processors=4, force_recalculation=False,
def create_qchem_input(*args, **kwargs): return QchemInput(*args, **kwargs)
basis_custom_repo = trucate_basis(basis_custom_repo, shells=['G', 'H', 'I', 'J', 'K']) qc_input_s = QchemInput( atom, jobtype='sp', exchange='hf', correlation='rasci', unrestricted='False', thresh=14, scf_convergence=11, cis_convergence=9, max_cis_cycles=150, max_scf_cycles=100, basis=basis_custom_repo, ras_elec_alpha=active_spaces['singlet'][0][0], ras_elec_beta=active_spaces['singlet'][0][1], ras_act=active_spaces['singlet'][1], ras_occ=active_spaces['singlet'][2], ras_spin_mult=0, ras_roots=10, calc_soc=1, n_frozen_core=0, # ras_do_part=False, set_iter=1000, mem_total=15000, mem_static=900) qc_input_t = QchemInput(atom, jobtype='sp', exchange='hf',
energies = [] for dist in distances: # generate molecule molecule = Structure(coordinates=[[0.0, 0.0, 0.0], [0.0, 0.0, dist]], symbols=['H', 'H'], charge=0, multiplicity=1) # create qchem input qc_input = QchemInput(molecule, jobtype='sp', exchange='hf', correlation='rasci', basis='sto-3g', ras_act=2, ras_elec=2, ras_spin_mult=0, ras_roots=2, ras_do_part=False, ras_do_hole=False) # calculate and parse qchem output data = get_output_from_qchem( qc_input, processors=4, parser=parser_rasci, store_full_output=True, ) # store energies of excited states states in list
if_missing=basis_name.replace('cc-pC', 'cc-p')) basis_custom_repo = trucate_basis(basis_custom_repo, shells=['G', 'H', 'I', 'J', 'K']) qc_input = QchemInput(molecule, jobtype='sp', exchange='hf', correlation='rasci', purecart='1111', unrestricted='False', thresh=14, scf_convergence=8, max_cis_cycles=150, basis=basis_custom_repo, ras_elec=active_space[0], ras_act=active_space[1], ras_occ=active_space[2], ras_spin_mult=0, ras_roots=2, # calculate 2 states calc_soc=calc_soc, set_iter=60, # n_frozen_core=0, mem_total=15000, mem_static=200 ) # print(qc_input.get_txt()) try: output = get_output_from_qchem(qc_input, processors=4,
# create molecule molecule = Structure(coordinates=ethene, symbols=symbols, charge=0, multiplicity=1) point_group = molecule.get_point_symmetry() print('Point group: {}\n'.format(point_group)) # create Q-Chem input qc_input = QchemInput(molecule, jobtype='sp', exchange='hf', correlation='rasci', ras_act=6, ras_elec=6, basis='6-311(2+,2+)G**', ras_roots=10, ras_do_hole=False, ras_do_part=False) # get data from Q-Chem calculation output, electronic_structure = get_output_from_qchem(qc_input, processors=4, force_recalculation=False, read_fchk=True, parser=parser_rasci, store_full_output=True) # get plane from coordinates to determine orientation using the plane of the molecule coordinates_mat = np.array(electronic_structure['structure'].get_coordinates())
from pyqchem.structure import Structure from pyqchem.parsers.basic import basic_parser_qchem from pyqchem.basis import get_basis_from_ccRepo from pyqchem.basis import get_basis_from_BSE # create molecule molecule = Structure(coordinates=[[0.0, 0.0, 0.0000], [0.0, 0.0, 1.5811]], symbols=['Se', 'H'], charge=-1, multiplicity=1) # Standard input using 6-31G basis qc_input = QchemInput(molecule, jobtype='sp', exchange='hf', basis='6-31G') # print input print(qc_input.get_txt()) output, electronic_structure = get_output_from_qchem(qc_input, processors=4, force_recalculation=False, read_fchk=True, parser=basic_parser_qchem, store_full_output=False) print('scf_energy 6-31G: ', output['scf_energy'])
ethene = Structure(coordinates=coordinates, symbols=['C', 'C', 'H', 'H', 'H', 'H'], charge=0, multiplicity=1) # create qchem input qc_input = QchemInput(ethene, jobtype='sp', exchange='hf', correlation='rasci', basis='6-31G', ras_act=4, ras_elec=2, ras_spin_mult=0, ras_roots=2, ras_do_part=False, ras_do_hole=False, # ras_srdft_spinpol=True, ras_omega=400, max_scf_cycles=100, ras_srdft_cor='srPBE', # ras_srdft_exc='srPBE' ) # calculate and parse qchem output data, ee = get_output_from_qchem(qc_input, processors=3, parser=parser_rasci, read_fchk=True, # store_full_output=True,
coor_monomer = [[0.6695, 0.0000, 0.0000], [-0.6695, 0.0000, 0.0000], [1.2321, 0.9289, 0.0000], [1.2321, -0.9289, 0.0000], [-1.2321, 0.9289, 0.0000], [-1.2321, -0.9289, 0.0000]] symbols_monomer = ['C', 'C', 'H', 'H', 'H', 'H'] monomer = Structure(coordinates=coor_monomer, symbols=symbols_monomer, charge=0, multiplicity=1) # optimization qchem input qc_input = QchemInput(monomer, jobtype='opt', exchange='hf', basis='sto-3g', geom_opt_tol_gradient=300, geom_opt_tol_energy=100, geom_opt_coords=-1, geom_opt_tol_displacement=1200) parsed_data = get_output_from_qchem(qc_input, processors=4, parser=basic_optimization) opt_monomer = parsed_data['optimized_molecule'] print('Optimized monomer structure') print(opt_monomer) # Build dimer from monomer coor_monomer2 = np.array(opt_monomer.get_coordinates())
charge=-2, multiplicity=1, name='C') basis_name = '6-31G**' # RAS_CI calculation qc_input_rasci = QchemInput(atom_c, jobtype='sp', exchange='hf', correlation='rasci', unrestricted=True, thresh=14, scf_convergence=8, max_cis_cycles=150, max_scf_cycles=100, basis=basis_name, ras_elec_alpha=3, ras_elec_beta=1, ras_act=4, ras_occ=1, ras_spin_mult=0, ras_roots=8, calc_soc=1, n_frozen_core=0, ) # CIS calculation qc_input_cis = QchemInput(atom_c, jobtype='sp', exchange='b3lyp', basis=basis_name,
energies = [] for dist in distances: # generate molecule molecule = Structure(coordinates=[[0.0, 0.0, 0.0], [0.0, 0.0, dist]], symbols=['H', 'H'], charge=0, multiplicity=1) # create qchem input qc_input = QchemInput(molecule, jobtype='sp', exchange='b3lyp', unrestricted=False, basis='sto-3g', cis_n_roots=4, cis_convergence=14, cis_singlets=True, cis_triplets=True) # calculate and parse qchem output data = get_output_from_qchem( qc_input, processors=4, parser=basic_cis, store_full_output=True, ) # store energies of excited states states in list energies.append(
basis_custom_repo = trucate_basis(basis_custom_repo, shells=['G', 'H', 'I', 'J', 'K']) qc_input = QchemInput(atom, jobtype='sp', exchange='hf', correlation='rasci', unrestricted='False', thresh=14, scf_convergence=8, max_cis_cycles=150, max_scf_cycles=100, basis=basis_custom_repo, # ras_elec=active_space[0], ras_elec_alpha=active_space[0][0], ras_elec_beta=active_space[0][1], ras_act=active_space[1], ras_occ=active_space[2], ras_spin_mult=0, ras_roots=8, # calculate 5 states calc_soc=1, # n_frozen_core=0, set_iter=1000, mem_total=15000, mem_static=900 ) try: output = get_output_from_qchem(qc_input, processors=4,
[0.0, 0.92281, -1.22792]] symbols = ['C', 'C', 'H', 'H', 'H', 'H'] # create molecule molecule = Structure(coordinates=ethene, symbols=symbols, charge=0, multiplicity=1) # create Q-Chem input qc_input = QchemInput(molecule, jobtype='sp', exchange='hf', correlation='rasci', ras_act=6, ras_elec=6, basis='sto-3g', ras_roots=10, ras_do_hole=False, ras_do_part=False) print(qc_input.get_txt()) # get data from Q-Chem calculation output, electronic_structure = get_output_from_qchem(qc_input, processors=4, force_recalculation=False, read_fchk=True, parser=parser_rasci, store_full_output=True)
symbols=['C', 'C', 'C', 'H', 'H', 'H', 'H', 'H', 'H'], charge=0, multiplicity=3) basis_name = 'cc-pVDZ' qc_input_rasci = QchemInput( molecule, jobtype='sp', exchange='hf', correlation='rasci', unrestricted=False, # thresh=14, scf_convergence=8, max_cis_cycles=100, max_scf_cycles=100, basis=basis_name, ras_elec=6, ras_act=5, ras_occ=9, ras_spin_mult=0, ras_roots=4, calc_soc=1, n_frozen_core=0, state_analysis=True, set_iter=300, ) output = get_output_from_qchem( qc_input_rasci, processors=4, force_recalculation=False,