示例#1
0
    {
        '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,
示例#2
0
def create_qchem_input(*args, **kwargs):
    return QchemInput(*args, **kwargs)
示例#3
0
        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',
示例#4
0
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
示例#5
0
                                                          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())
示例#7
0
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'])
示例#8
0
    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,
示例#9
0
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())
示例#10
0
                   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(
示例#12
0
            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,
示例#13
0
          [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)
示例#14
0
                     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,