示例#1
0
def test_qmol_12():
    fullans = copy.deepcopy(fullans1a)
    fullans["provenance"] = _arrays_prov_stamp

    asdf = qcdb.Molecule(geom=[0.0, 0.0, 0.0, 1.0, 0.0, 0.0],
                         elez=[8, 1],
                         fix_com=True)

    assert compare_molrecs(fullans,
                           asdf.to_dict(),
                           tnm(),
                           relative_geoms="align",
                           atol=1.0e-4)
    assert compare_integers(2, asdf.natom(), tnm())

    import json

    smol = json.dumps(asdf.to_dict(np_out=False))
    dmol = json.loads(smol)

    asdf2 = qcdb.Molecule(dmol)

    assert compare_molrecs(fullans,
                           asdf2.to_dict(),
                           tnm(),
                           relative_geoms="align",
                           atol=1.0e-4)
    assert compare_integers(2, asdf2.natom(), tnm())
示例#2
0
def test_qmol_12():
    asdf = qcdb.Molecule(geom=[ 0.,  0.,  0.,  1.,  0.,  0.], elez=[8, 1], fix_com=True)
    assess_mol_11(asdf, 'qcdb.Molecule(geom, elez)')

    import json
    smol = json.dumps(asdf.to_dict(np_out=False))
    dmol = json.loads(smol)

    asdf2 = qcdb.Molecule(dmol)
    assess_mol_11(asdf, 'qcdb.Molecule(jsondict)')
示例#3
0
def test_tu2_uhf_yaml():

    yamlin = """
molecule: |
  0 3
  C
  H 1 R
  H 1 R 2 A

  R = 1.075
  A = 133.93

driver: !!python/name:qcdb.energy
method: nwc-hf
options:
  memory: 1gb
  basis: '6-31g**'
  reference: uhf
  puream: cart
  scf_type: pk
"""

    import yaml
    asdf = yaml.load(yamlin, Loader=yaml.FullLoader)

    ene = asdf['driver'](asdf['method'],
                         options=asdf['options'],
                         molecule=qcdb.Molecule(asdf['molecule']))

    assert compare_values(-38.9253416082900827, ene, 6, 'calc from yaml str')
示例#4
0
def test_tu1_rhf_b():
    """tu1-h2o-energy/input.dat
    local testing

    """

    #    memory 600 mb

    h2o = qcdb.Molecule("""
  O 
  H 1 1.8
  H 1 1.8 2 104.5
  units au
""")

    qcdb.set_options({
        'scf_type': 'pk',
    })

    E, jrec = qcdb.energy('p4-hf/cc-pVDZ', molecule=h2o, return_wfn=True)
    print(qcdb.print_variables(jrec['qcvars']))

    assert compare_values(_ref_h2o_pk_rhf,
                          jrec['qcvars']['HF TOTAL ENERGY'].data, 6,
                          sys._getframe().f_code.co_name)
示例#5
0
def test_uhf_yaml_nwchem():

    yamlin = """
molecule: |
  0 3
  C
  H 1 R
  H 1 R 2 A

  R = 1.075
  A = 133.93

driver: !!python/name:qcdb.energy
method: nwc-hf
options:
  basis: '6-31g**'
  reference: uhf
  puream: cart
  scf_type: conv  # longstanding pk
"""

    import yaml

    asdf = yaml.load(yamlin, Loader=yaml.FullLoader)

    ene = asdf["driver"](asdf["method"],
                         options=asdf["options"],
                         molecule=qcdb.Molecule(asdf["molecule"]))

    assert compare_values(-38.9253416082900827, ene, 6, "calc from yaml str")
示例#6
0
def test_scf_conv(program, keywords):
    prefix = qcdb.util.program_prefix(program)

    qcdb.set_keywords(keywords)

    hcn2 = qcdb.Molecule(
        """
H 0.000000 0.000000 3.409664
C 0.000000 0.000000 2.340950
N 0.000000 0.000000 1.185959
--
H 0.000000 0.000000 -0.148222
C 0.000000 0.000000 -1.222546
N 0.000000 0.000000 -2.379698
"""
    )

    ene, wfn = qcdb.energy(prefix + "hf/6-311G*", molecule=hcn2, return_wfn=True)
    pprint.pprint(wfn)

    assert wfn["success"] is True
    assert compare_values(-185.74334367736, ene, 6, "ene")

    ans = _harvest_scf_convergence(wfn["stdout"])
    print(ans)
示例#7
0
def test_10_qmol():
    #eneyne = qcdb.set_molecule(seneyne)
    #eneyne.update_geometry()
    eneyne = qcdb.Molecule(seneyne)

    E, G = eneyne.run_dftd3('b3lyp', 'd2')
    assert compare_values(ref_d2[0], E, 7, 'Q: Ethene-Ethyne -D2')
示例#8
0
def fgrad(name, **kwargs):
    limol = kwargs["molecule"].natom()
    assert fenergy(name, molecule=kwargs["molecule"]) == limol
    numol = qcdb.Molecule(geom=np.arange(limol * 6).reshape((-1, 3)), elez=[2 for _ in range(limol * 2)])
    numol.update_geometry()
    assert fenergy(name, molecule=numol) == limol * 2
    return numol.natom()
示例#9
0
def test_molsymm_alone(subject):
    pg = data[subject]["pg"]
    sigma = data[subject]["rsn"]

    if subject.startswith("iso"):
        isbohr = data[subject[3:]].get("au", False)
        molstr = data[subject[3:]]["mol"].format(isoA=data[subject]["A"])
        refgeomang = None
    else:
        isbohr = data[subject].get("au", False)
        molstr = data[subject]["mol"].format(isoA="")
        refgeomang = data[subject]["ref"]

    symmol = qcdb.Molecule(molstr)
    symmol.update_geometry()
    # symmol.axis_representation()

    assert compare(pg, symmol.get_full_point_group(),
                   pg + " point group: " + subject)
    assert compare(sigma, symmol.rotational_symmetry_number(), pg + " sigma")

    if isbohr:
        geom_now = symmol.full_geometry()
    else:
        geom_now = qcdb.util.vecutil.mscale(symmol.full_geometry(),
                                            qcel.constants.bohr2angstroms)

    if refgeomang:
        assert compare_values(refgeomang,
                              geom_now,
                              pg + " orientation",
                              atol=1.0e-6)
def test_qmol_11a():
    fullans = copy.deepcopy(fullans1a)
    fullans['provenance'] = _string_prov_stamp

    asdf = qcdb.Molecule(fullans)

    assert compare_molrecs(fullans, asdf.to_dict(), tnm(), relative_geoms='align', atol=1.e-4)
    assert compare_integers(2, asdf.natom(), tnm())
def test_qmol_11b():
    fullans = copy.deepcopy(fullans1a)
    fullans['provenance'] = _arrays_prov_stamp

    asdf = qcdb.Molecule(geom=[0., 0., 0., 1., 0., 0.], elez=[8, 1], fix_com=True)

    assert compare_molrecs(fullans, asdf.to_dict(), tnm(), relative_geoms='align', atol=1.e-4)
    assert compare_integers(2, asdf.natom(), tnm())
def test_qmol_11e():
    fullans = copy.deepcopy(fullans1a)
    fullans['provenance'] = _string_prov_stamp

    asdf = qcdb.Molecule("""2\n\nO 0 0 0 \n1 1 0 0 """, dtype='xyz', fix_com=True)

    assert compare_molrecs(fullans, asdf.to_dict(), tnm(), relative_geoms='align', atol=1.e-4)
    assert compare_integers(2, asdf.natom(), tnm())
def test_to_string_mol(subjects, inp, expected):
    if subjects == 'pmol':
        import psi4
        mol = psi4.core.Molecule.from_string(_local_results[inp[0]])

    elif subjects == 'qmol':
        mol = qcdb.Molecule(_local_results[inp[0]])

    smol = mol.format_molecule_for_mol(**inp[1])

    assert compare(_local_results[expected], smol)
示例#14
0
def test_11_a_energy():
    tnm = sys._getframe().f_code.co_name
    eneyne = qcdb.Molecule(seneyne)

    jrec = qcdb.intf_dftd3.run_dftd3('d3-b3lyp-d', eneyne, {}, ptype='energy')

    assert compare_values(ref_d2[0],
                          jrec['qcvars']['DISPERSION CORRECTION ENERGY'].data,
                          7, tnm)
    assert compare_values(
        ref_d2[0],
        jrec['qcvars']['B3LYP-D2 DISPERSION CORRECTION ENERGY'].data, 7, tnm)
示例#15
0
def test_qmol_11d():
    fullans = copy.deepcopy(fullans1a)
    fullans["provenance"] = _string_prov_stamp

    asdf = qcdb.Molecule("""nocom\n8 0 0 0\n1 1 0 0""", dtype="psi4+")

    assert compare_molrecs(fullans,
                           asdf.to_dict(),
                           tnm(),
                           relative_geoms="align",
                           atol=1.0e-4)
    assert compare_integers(2, asdf.natom(), tnm())
def test_to_string_xyz(subjects, inp, expected):
    if subjects == 'pmol':
        import psi4
        mol = psi4.core.Molecule.from_string(_results[inp[0]])
        smol = mol.to_string(**inp[1])

    elif subjects == 'qmol':
        mol = qcdb.Molecule(_results[inp[0]])
        smol = mol.to_string(**inp[1])

    elif subjects == 'qcmol':
        molrec = qcelemental.molparse.from_string(_results[inp[0]])
        smol = qcelemental.molparse.to_string(molrec['qm'], **inp[1])

    assert compare(_results[expected], smol)
示例#17
0
def test_scale_2(h2o_y):
    h2o_y = qcdb.Molecule(h2o_y)
    qcdb.set_options({
        'basis': 'cc-pvdz',
        'cfour_spin_scal': 'on',
        'cfour_reference': 'uhf',
        'cfour_calc_level': 'mp2',
        'cfour_deriv_level': 'first',
        'CFOUR_DIFF_TYPE': 'relaxed',
    })

    val, jrec = qcdb.energy('c4-cfour', return_wfn=True, molecule=h2o_y)
    dip = np.array([float(jrec['qcvars']['CURRENT DIPOLE {}'.format(i)].data) for i in 'XYZ'])

    tnm = sys._getframe().f_code.co_name
    assert compare_arrays(grad_y, jrec['qcvars']['CURRENT GRADIENT'].data, 5, tnm + ' grad')
    assert compare_arrays(dip_y, dip, 5, tnm + ' dipole')
def mol_tester(lbl, molstr, pg, sigma, refgeomang, isbohr=False, iso=False):
    symmol = qcdb.Molecule(molstr)
    if iso is not False:
        if isinstance(iso, int):
            iso = [iso]
        for at in iso:
            # mass needn't make sense for element, just breaking the symmetry
            symmol.set_mass(at, 2.014)
    symmol.update_geometry()
    symmol.axis_representation()
    assert compare_strings(pg, symmol.get_full_point_group(), pg + " point group: " + lbl)
    assert compare_integers(sigma, symmol.rotational_symmetry_number(), pg + " sigma")
    if isbohr:
        geom_now = symmol.full_geometry()
    else:
        geom_now = qcdb.mscale(symmol.full_geometry(), qcel.constants.bohr2angstroms)
    if refgeomang:
        assert compare_matrices(refgeomang, geom_now, 6, pg + " orientation")
示例#19
0
def test_tu1b():
    """tu1-h2o-energy/input.dat
    local testing

    """

#    memory 600 mb

    h2o = qcdb.Molecule("""
  O 
  H 1 0.96
  H 1 0.96 2 104.5
""")

    E, jrec = qcdb.energy('scf/cc-pVDZ', molecule=h2o, return_wfn=True)
    print(qcdb.print_variables(jrec['qcvars']))

    ans1 = -76.0266327341067125
    assert compare_values(ans1, jrec['qcvars']['SCF TOTAL ENERGY'].data, 6, tnm())
示例#20
0
def test_11_c():
    tnm = sys._getframe().f_code.co_name
    eneyne = qcdb.Molecule(seneyne)
    mA = eneyne.extract_subsets(1)
    mB = eneyne.extract_subsets(2)

    jrec = qcdb.intf_dftd3.run_dftd3('d3-b3lyp-d3bj',
                                     molecule=mA,
                                     options={},
                                     ptype='energy')
    assert compare_values(ref_d3bj[1], jrec['qcvars']['CURRENT ENERGY'].data,
                          7, tnm)
    assert compare_values(ref_d3bj[1],
                          jrec['qcvars']['DISPERSION CORRECTION ENERGY'].data,
                          7, tnm)
    assert compare_values(
        ref_d3bj[1],
        jrec['qcvars']['B3LYP-D3(BJ) DISPERSION CORRECTION ENERGY'].data, 7,
        tnm)
示例#21
0
def thermo_analysis(wfn,
                    molecule,
                    E0,
                    Hessian,
                    isotopes=[],
                    T=298.15,
                    P=101325.00):
    """Conduct thermodynamic analysis from a given molecule, energy,
    and Hessian. Molecular coordinates are assumed to be in Angstrom
    and are passed as a string. Energy is is assumed to be in atomic
    units. Hessian is assumed to be in atomic units / Bohr^2. Isotopic
    masses to be subsituted for standard atomic masses may be passed
    in as list of dictionaries. Temperature is set to 298.15 Kelvin by
    default, and Pressure is set to 101315.00 Pascals by default."""

    text = ''

    #makes molecule of molecule so that masses can be manipulated for isotopic studies
    molecule = qcdb.Molecule(molecule)
    molecule.update_geometry()

    #if no isotopic subsittutions given, do standard masses
    if len(isotopes) == 0: isotopes.append({})

    #for each set of isotopic subs
    for dic in isotopes:
        text = print_header(text)
        for key in dic.keys():
            newmass = 0.0
            if type(dic[key]) is str: newmass = eliso2mass[dic[key]]
            else: newmass = float(dic[key])
            text += "Changing mass of atom number %s (%s) from %.8f amu to %.8f amu.\n" % (
                str(key), qcdb.periodictable.z2el[molecule.Z(key - 1)],
                molecule.mass(key - 1), newmass)
            #replace mass of atom key-1 with user-defined mass
            molecule.set_mass(key - 1, newmass)

        text = do_analysis(wfn, E0, Hessian, molecule, T, P, text)
        #reset to standard masses
        for key in dic.keys():
            molecule.set_mass(key - 1, el2mass[molecule.symbol(key - 1)])

    return text
示例#22
0
def test_tu1_rhf_b():
    """tu1-h2o-energy/input.dat
    local testing

    """

    #    memory 600 mb

    h2o = qcdb.Molecule("""
  O 
  H 1 1.8
  H 1 1.8 2 104.5
  units au
""")

    E, jrec = qcdb.energy('nwc-hf/cc-pVDZ', molecule=h2o, return_wfn=True)
    print(qcdb.print_variables(jrec['qcvars']))

    assert compare_values(_ref_h2o_pk_rhf,
                          jrec['qcvars']['HF TOTAL ENERGY'].data, 6, tnm())
示例#23
0
def test_scale_2(h2o_y):
    h2o_y = qcdb.Molecule(h2o_y)
    qcdb.set_options({
        "basis": "cc-pvdz",
        "cfour_spin_scal": "on",
        "cfour_reference": "uhf",
        "cfour_calc_level": "mp2",
        "cfour_deriv_level": "first",
        "CFOUR_DIFF_TYPE": "relaxed",
    })

    val, jrec = qcdb.energy("c4-cfour", return_wfn=True, molecule=h2o_y)
    dip = np.array([
        float(jrec["qcvars"]["CURRENT DIPOLE {}".format(i)].data)
        for i in "XYZ"
    ])

    assert compare_arrays(grad_y, jrec["qcvars"]["CURRENT GRADIENT"].data, 5,
                          tnm() + " grad")
    assert compare_arrays(dip_y, dip, 5, tnm() + " dipole")
示例#24
0
TAGL['%s-%s' % (dbse, 'HCONHOH_to_HCOHNHO')] = ''
TAGL['%s-%s-reagent' % (dbse, 'HCONHOH_to_HCOHNHO')] = ''
TAGL['%s-%s' % (dbse, 'HNC_H2_to_H2CNH')] = ''
TAGL['%s-%s-reagent' % (dbse, 'HNC_H2_to_H2CNH')] = ''
TAGL['%s-%s' % (dbse, 'H2CNH_to_HCNH2')] = ''
TAGL['%s-%s-reagent' % (dbse, 'H2CNH_to_HCNH2')] = ''
TAGL['%s-%s' % (dbse, 'HCNH2_to_HCN_H2')] = ''
TAGL['%s-%s-reagent' % (dbse, 'HCNH2_to_HCN_H2')] = ''

# <<< Geometry Specification Strings >>>
GEOS = {}

GEOS['%s-%s-reagent' % (dbse, 'HCN_to_HNC')] = qcdb.Molecule("""
0 1
C  -0.0399606537   1.7574844925   0.0000000000
N   1.2331003808   0.0000000000   0.0000000000
H  -1.1931397271  -1.7574844925   0.0000000000
units bohr
""")
#set { guess gwh """)

GEOS['%s-%s-reagent' % (dbse, 'HCCH_to_CCH2')] = qcdb.Molecule("""
0 1
C  -0.4287449922  -0.0396754553   0.0000000000
C   1.9151999208   0.0000000000   0.0000000000
H  -2.1914826494   0.9243341981   0.0000000000
H   1.1657551200  -2.7344386158   0.0000000000
units bohr
""")

GEOS['%s-%s-reagent' % (dbse, 'H2CO_to_H2_CO')] = qcdb.Molecule("""
示例#25
0
文件: CORE.py 项目: xiaohaiguicc/psi4
GEOS['%s-%s-dimer' % (dbse, 'dimer3_54')] = qcdb.Molecule("""
0 1
C        0.70622800     0.97211978     0.61694803
C       -0.70622800     0.97211978     0.61694803
C       -1.14280400    -0.37137722     0.61681203
C        0.00000000    -1.20165922     0.61659503
C        1.14280400    -0.37137722     0.61681203
C        1.45779000     2.00650178     0.09413403
C       -1.45779000     2.00650178     0.09413403
C       -2.35873800    -0.76639722     0.09397203
C        0.00000000    -2.48004022     0.09366903
C        2.35873800    -0.76639722     0.09397203
C        0.69261800     3.17923978    -0.25321497
C       -0.69261800     3.17923978    -0.25321497
C       -2.80958100     1.64119778    -0.25292797
C       -3.23765700     0.32373778    -0.25303797
C       -2.42918200    -2.16498922    -0.25302597
C       -1.30841500    -2.97916822    -0.25327697
C        1.30841500    -2.97916822    -0.25327697
C        2.42918200    -2.16498922    -0.25302597
C        3.23765700     0.32373778    -0.25303797
C        2.80958100     1.64119778    -0.25292797
H        1.20851300     4.06642078    -0.61418797
H       -1.20851300     4.06642078    -0.61418797
H       -3.49401500     2.40602178    -0.61367197
H       -4.24094400     0.10729578    -0.61373997
H       -3.36816400    -2.57958822    -0.61350597
H       -1.41248600    -4.00024222    -0.61397997
H        1.41248600    -4.00024222    -0.61397997
H        3.36816400    -2.57958822    -0.61350597
H        4.24094400     0.10729578    -0.61373997
H        3.49401500     2.40602178    -0.61367197
--
0 1
C        0.70622800     0.97211978     4.15694803
C       -0.70622800     0.97211978     4.15694803
C       -1.14280400    -0.37137722     4.15681203
C        0.00000000    -1.20165922     4.15659503
C        1.14280400    -0.37137722     4.15681203
C        1.45779000     2.00650178     3.63413403
C       -1.45779000     2.00650178     3.63413403
C       -2.35873800    -0.76639722     3.63397203
C        0.00000000    -2.48004022     3.63366903
C        2.35873800    -0.76639722     3.63397203
C        0.69261800     3.17923978     3.28678503
C       -0.69261800     3.17923978     3.28678503
C       -2.80958100     1.64119778     3.28707203
C       -3.23765700     0.32373778     3.28696203
C       -2.42918200    -2.16498922     3.28697403
C       -1.30841500    -2.97916822     3.28672303
C        1.30841500    -2.97916822     3.28672303
C        2.42918200    -2.16498922     3.28697403
C        3.23765700     0.32373778     3.28696203
C        2.80958100     1.64119778     3.28707203
H        1.20851300     4.06642078     2.92581203
H       -1.20851300     4.06642078     2.92581203
H       -3.49401500     2.40602178     2.92632803
H       -4.24094400     0.10729578     2.92626003
H       -3.36816400    -2.57958822     2.92649403
H       -1.41248600    -4.00024222     2.92602003
H        1.41248600    -4.00024222     2.92602003
H        3.36816400    -2.57958822     2.92649403
H        4.24094400     0.10729578     2.92626003
H        3.49401500     2.40602178     2.92632803
units angstrom
""")
示例#26
0
import qcdb
from qcdb.moptions.optionsdec import def_mol

import numpy as np

mol1 = qcdb.Molecule("""
He
""")

mol3 = qcdb.Molecule("""
He
He 1 1.5
He 1 1.5 2 90.0
""")

mol4 = qcdb.Molecule("""
He 0 0 0
He 1 1 1
He 2 2 2
He 3 3 3
""")

mol0 = qcdb.Molecule("""Xe""")


@def_mol()
def fenergy(name, **kwargs):
    print(kwargs['molecule'])
    return kwargs['molecule'].natom()

示例#27
0
TAGL = {}
TAGL['%s-%s' % (dbse, 'ch4')] = 'methane'
TAGL['%s-%s-reagent' % (dbse, 'ch4')] = 'methane'
TAGL['%s-%s' % (dbse, 'h2o')] = 'water'
TAGL['%s-%s-reagent' % (dbse, 'h2o')] = 'water'
TAGL['%s-%s' % (dbse, 'nh3')] = 'ammonia'
TAGL['%s-%s-reagent' % (dbse, 'nh3')] = 'ammonia'

# <<< Geometry Specification Strings >>>
GEOS = {}

GEOS['%s-%s-reagent' % (dbse, 'ch4')] = qcdb.Molecule("""
0 1
C        0.00000000    -0.00014000     1.85916100
H       -0.88855100     0.51306000     1.49468500
H        0.88855100     0.51306000     1.49468500
H        0.00000000    -1.02633900     1.49486800
H        0.00000000     0.00008900     2.94828400
units angstrom
""")

GEOS['%s-%s-reagent' % (dbse, 'h2o')] = qcdb.Molecule("""
0 1
O       -1.55100700    -0.11452000     0.00000000
H       -1.93425900     0.76250300     0.00000000
H       -0.59967700     0.04071200     0.00000000
units angstrom
""")

GEOS['%s-%s-reagent' % (dbse, 'nh3')] = qcdb.Molecule("""
0 1
示例#28
0
TAGL['%s-%s-dimer' % (dbse, 24)] = """Dimer from ethyne_ethyne_D2h """
TAGL['%s-%s-monoA-CP' % (dbse, 24)] = """Monomer A from ethyne_ethyne_D2h """
TAGL['%s-%s-monoB-CP' % (dbse, 24)] = """Monomer B from ethyne_ethyne_D2h """
TAGL['%s-%s-monoA-unCP' % (dbse, 24)] = """Monomer A from ethyne_ethyne_D2h """
TAGL['%s-%s-monoB-unCP' % (dbse, 24)] = """Monomer B from ethyne_ethyne_D2h """

# <<< Geometry Specification Strings >>>
GEOS = {}

GEOS['%s-%s-dimer' % (dbse, '1')] = qcdb.Molecule("""
0 1
O          0.00000000      -0.05786571      -1.47979303
H          0.00000000       0.82293384      -1.85541474
H          0.00000000       0.07949567      -0.51934253
--
0 1
N          0.00000000       0.01436394       1.46454628
H          0.00000000      -0.98104857       1.65344779
H         -0.81348351       0.39876776       1.92934049
H          0.81348351       0.39876776       1.92934049
units angstrom
""")

GEOS['%s-%s-dimer' % (dbse, '2')] = qcdb.Molecule("""
0 1
O         -0.06699914       0.00000000       1.49435474
H          0.81573427       0.00000000       1.86586639
H          0.06885510       0.00000000       0.53914277
--
0 1
O          0.06254775       0.00000000      -1.42263208
示例#29
0
文件: HTBH.py 项目: xinxing02/psi4
     (dbse, 'OHHts')] = 'Transition state of OH + H <--> H2 + O'
TAGL['%s-%s-reagent' %
     (dbse, 'OHNH3ts')] = 'Transition state of OH + NH3 <--> NH2 + H2O'
TAGL['%s-%s-reagent' % (dbse, 'PH2')] = 'PH2'
TAGL['%s-%s-reagent' % (dbse, 'PH3')] = 'Phosphine'
TAGL['%s-%s-reagent' % (dbse, 'HS')] = 'HS'

# <<< Geometry Specification Strings >>>
GEOS = {}

GEOS['%s-%s-reagent' % (dbse, 'C2H5')] = qcdb.Molecule("""
0 2
C        0.00550995    -0.00307714    -0.77443959
C        0.00550995    -0.00307714     0.71569982
H        0.00550995    -1.01684444     1.11670108
H        0.37964525     0.84547158    -1.32730429
H       -0.88217468     0.49798042     1.12141209
H        0.87299475     0.52193057     1.11660682
H       -0.50718726    -0.77526005    -1.32801142
units angstrom
""")

GEOS['%s-%s-reagent' % (dbse, 'C2H6')] = qcdb.Molecule("""
0 1
C        0.00000020    -0.00000013    -0.76309187
C        0.00000020    -0.00000013     0.76309163
H        0.00000020    -1.01606691     1.15831231
H       -0.87903844    -0.50959541    -1.15830943
H       -0.87994508     0.50802887     1.15831013
H        0.87993813     0.50804049     1.15830883
H       -0.00180313     1.01606605    -1.15830975
示例#30
0
文件: S22.py 项目: xinxing02/psi4
TAGL['%s-%s-dimer' % (dbse, 22)] = 'Phenol Dimer'
TAGL['%s-%s-monoA-CP' % (dbse, 22)] = 'Phenol from Phenol Dimer'
TAGL['%s-%s-monoB-CP' % (dbse, 22)] = 'Phenol from Phenol Dimer'
TAGL['%s-%s-monoA-unCP' % (dbse, 22)] = 'Phenol from Phenol Dimer'
TAGL['%s-%s-monoB-unCP' % (dbse, 22)] = 'Phenol from Phenol Dimer'

# <<< Geometry Specification Strings >>>
GEOS = {}

GEOS['%s-%s-dimer' % (dbse, '1')] = qcdb.Molecule("""
0 1
N  -1.578718  -0.046611   0.000000
H  -2.158621   0.136396  -0.809565
H  -2.158621   0.136396   0.809565
H  -0.849471   0.658193   0.000000
--
0 1
N   1.578718   0.046611   0.000000
H   2.158621  -0.136396  -0.809565
H   0.849471  -0.658193   0.000000
H   2.158621  -0.136396   0.809565
units angstrom
""")

GEOS['%s-%s-dimer' % (dbse, '2')] = qcdb.Molecule("""
0 1
O  -1.551007  -0.114520   0.000000
H  -1.934259   0.762503   0.000000
H  -0.599677   0.040712   0.000000
--
0 1
O   1.350625   0.111469   0.000000