Example #1
0
def test_json():
    """json/energy"""

    import numpy as np

    # Generate JSON data
    json_data = {}
    json_data["molecule"] = """He 0 0 0\n--\nHe 0 0 1"""
    json_data["driver"] = "gradient"
    json_data["method"] = 'SCF'
    json_data["kwargs"] = {}
    json_data["options"] = {"BASIS": "STO-3G"}
    json_data["return_output"] = True

    psi4.json_wrapper.run_json(json_data)

    assert psi4.compare_strings("STO-3G", json_data["options"]["BASIS"],
                                "Options test")
    assert psi4.compare_integers(True, json_data["success"], "Success")

    bench_energy = -5.433191881443323
    cenergy = json_data["variables"]["CURRENT ENERGY"]

    bench_gradient = np.array([[0.0, 0.0, 0.4206844], [0.0, 0.0, -0.4206844]])
    cgradient = psi4.core.Matrix.from_serial(json_data["return_value"])
    assert psi4.compare_arrays(bench_gradient, cgradient.np, 4,
                               "SCF RETURN_VALUE")

    return_wfn = "return_wfn" not in json_data["kwargs"]
    assert psi4.compare_integers(True, return_wfn, "Immutable input")

    with open("pytest_output.dat", "w") as f:
        f.write(json_data["raw_output"])
Example #2
0
def test_json():
    """json/energy"""

    import numpy as np

    # Generate JSON data
    json_data = {}
    json_data["molecule"] = """He 0 0 0\n--\nHe 0 0 1"""
    json_data["driver"] = "gradient"
    json_data["method"] = 'SCF'
    json_data["kwargs"] = {}
    json_data["options"] = {"BASIS": "STO-3G"}
    json_data["return_output"] = True

    psi4.json_wrapper.run_json(json_data)

    assert psi4.compare_strings("STO-3G", json_data["options"]["BASIS"], "Options test")
    assert psi4.compare_integers(True, json_data["success"], "Success")

    bench_energy = -5.433191881443323
    cenergy = json_data["variables"]["CURRENT ENERGY"]

    bench_gradient = np.array([[  0.0 , 0.0 ,   0.4206844],
                               [  0.0 , 0.0 ,  -0.4206844]])
    cgradient = psi4.core.Matrix.from_serial(json_data["return_value"])
    assert psi4.compare_arrays(bench_gradient, cgradient.np, 4, "SCF RETURN_VALUE")

    return_wfn = "return_wfn" not in json_data["kwargs"]
    assert psi4.compare_integers(True, return_wfn, "Immutable input")

    with open("pytest_output.dat", "w") as f:
        f.write(json_data["raw_output"])
Example #3
0
expected_properties = {
    "calcinfo_nbasis": 13,
    "calcinfo_nmo": 13,
    "calcinfo_nalpha": 5,
    "calcinfo_nbeta": 5,
    "calcinfo_natom": 3,
    "scf_one_electron_energy": -122.27509111304202,
    "scf_two_electron_energy": 37.49348718008625,
    "nuclear_repulsion_energy": 8.80146206062943,
    "scf_total_energy": -75.98014187232634,
    "return_energy": -75.98014187232634
}

json_ret = psi4.json_wrapper.run_json(json_data)

with open("output.json", "w") as ofile:  #TEST
    json.dump(json_ret, ofile, indent=2)  #TEST

psi4.compare_integers(True, json_ret["success"], "JSON Success")  #TEST
psi4.compare_strings("qc_schema_output", json_ret["schema_name"],
                     "Schema Name")  #TEST
for k in expected_return_result.keys():  #TEST
    psi4.compare_arrays(expected_return_result[k],
                        json_ret["return_result"][k], 5,
                        "Result: " + k.upper())  #TEST

for k in expected_properties.keys():  #TEST
    psi4.compare_values(expected_properties[k], json_ret["properties"][k], 5,
                        k.upper())  #TEST
Example #4
0
}

expected_properties = {
  "calcinfo_nbasis": 13,
  "calcinfo_nmo": 13,
  "calcinfo_nalpha": 5,
  "calcinfo_nbeta": 5,
  "calcinfo_natom": 3,
  "scf_one_electron_energy": -122.27509111304202,
  "scf_two_electron_energy": 37.49348718008625,
  "nuclear_repulsion_energy": 8.80146206062943,
  "scf_total_energy": -75.98014187232634,
  "return_energy": -75.98014187232634
}


json_ret = psi4.json_wrapper.run_json(json_data)

with open("output.json", "w") as ofile:                                                     #TEST
    json.dump(json_ret, ofile, indent=2)                                                   #TEST

psi4.compare_integers(True, json_ret["success"], "JSON Success")                           #TEST
psi4.compare_strings("qc_schema_output", json_ret["schema_name"], "Schema Name")           #TEST
for k in expected_return_result.keys():                                                     #TEST
    psi4.compare_arrays(expected_return_result[k], json_ret["return_result"][k], 5, "Result: " + k.upper())  #TEST

for k in expected_properties.keys():                                                       #TEST
    psi4.compare_values(expected_properties[k], json_ret["properties"][k], 5, k.upper())   #TEST


Example #5
0
import numpy as np
import psi4

# Generate JSON data
json_data = {}
json_data["molecule"] = """He 0 0 0\n--\nHe 0 0 1"""
json_data["memory"] = "5GB"
json_data["driver"] = "energy"
json_data["method"] = 'SCF'
json_data["kwargs"] = {"bsse_type": "cp"}
json_data["options"] = {"BASIS": "STO-3G"}
json_data["return_output"] = True

psi4.json_wrapper.run_json(json_data)
psi4.compare_strings("STO-3G", json_data["options"]["BASIS"],
                     "Options test")  #TEST
psi4.compare_integers(True,
                      len(json_data["raw_output"]) > 5000,
                      "Output returned")  #TEST
psi4.compare_integers(True, json_data["success"], "Success")  #TEST

bench_cp_energy = 0.183936053861  #TEST
cenergy = json_data["variables"]["CURRENT ENERGY"]  #TEST
psi4.compare_values(bench_cp_energy, cenergy, 5, "SCF CURRENT ENERGY")  #TEST

cenergy = json_data["return_value"]  #TEST
psi4.compare_values(bench_cp_energy, cenergy, 5, "SCF RETURN_VALUE")  #TEST

return_wfn = "return_wfn" not in json_data["kwargs"]  #TEST
psi4.compare_integers(True, return_wfn, "Immutable input")  #TEST
Example #6
0
        172.2560000              0.0617669
         25.9109000              0.3587940
          5.5333500              0.7007130
    SP   2   1.00
          3.6649800             -0.3958970              0.2364600
          0.7705450              1.2158400              0.8606190
    SP   1   1.00
          0.1958570              1.0000000              1.0000000
    ****
    [DZ]
    spherical
    ****
    H     0 
    S   3   1.00
         19.2406000              0.0328280        
          2.8992000              0.2312080        
          0.6534000              0.8172380        
    S   1   1.00
          0.1776000              1.0000000        
    ****
""")

psi4.set_options({'d_convergence': 11, 'e_convergence': 11, 'scf_type': 'pk'})

scfenergy = psi4.energy('scf')

psi4.compare_strings("c2v", bz.schoenflies_symbol(), "Point group")  #TEST
psi4.compare_values(refnuc, bz.nuclear_repulsion_energy(), 10,
                    "Nuclear repulsion energy")  #TEST
psi4.compare_values(refscf, scfenergy, 10, "SCF Energy")  #TEST
Example #7
0
# RIFIT     H 14/15   C  56/66      H +9/10   C +16/20
# JKFIT     H 23/25   C  70/81      H +9/10   C +16/20

mymol = psi4.geometry("""
C    0.0  0.0 0.0
O    1.4  0.0 0.0
H_r -0.5 -0.7 0.0
H_l -0.5  0.7 0.0
""")

psi4.set_options({'basis': 'cc-pvdz'})

print('[1]    <<<  uniform cc-pVDZ  >>>')
wert, ecp = psi4.core.BasisSet.build(mymol, 'BASIS',
                                     psi4.core.get_global_option('BASIS'))
psi4.compare_strings('CC-PVDZ', psi4.core.get_global_option('BASIS'),
                     'name')  #TEST
psi4.compare_integers(38, wert.nbf(), 'nbf()')  #TEST
psi4.compare_integers(40, wert.nao(), 'nao()')  #TEST
psi4.compare_strings('c2v', mymol.schoenflies_symbol(), 'symm')  #TEST
psi4.compare_strings('CC-PVDZ', wert.name(), 'callby')  #TEST
psi4.compare_strings('CC-PVDZ', wert.blend(), 'blend')  #TEST
mymol.print_out()

print('[2]        <<<  RIFIT (default)  >>>')
wert = psi4.core.BasisSet.build(mymol, 'DF_BASIS_MP2', '', 'RIFIT',
                                psi4.core.get_global_option('BASIS'))
psi4.compare_integers(140, wert.nbf(), 'nbf()')  #TEST
psi4.compare_integers(162, wert.nao(), 'nao()')  #TEST
psi4.compare_strings('c2v', mymol.schoenflies_symbol(), 'symm')  #TEST
psi4.compare_strings('(CC-PVDZ AUX)', wert.name(), 'callby')  #TEST
psi4.compare_strings('CC-PVDZ-RI', wert.blend(), 'blend')  #TEST
Example #8
0
# RIFIT     H 14/15   C  56/66      H +9/10   C +16/20
# JKFIT     H 23/25   C  70/81      H +9/10   C +16/20


mymol = psi4.geometry("""
C    0.0  0.0 0.0
O    1.4  0.0 0.0
H_r -0.5 -0.7 0.0
H_l -0.5  0.7 0.0
""")

psi4.set_options({'basis': 'cc-pvdz'})

print('[1]    <<<  uniform cc-pVDZ  >>>')
wert,ecp = psi4.core.BasisSet.build(mymol, 'BASIS', psi4.core.get_global_option('BASIS'))
psi4.compare_strings('CC-PVDZ', psi4.core.get_global_option('BASIS'), 'name')  #TEST
psi4.compare_integers(38, wert.nbf(), 'nbf()')  #TEST
psi4.compare_integers(40, wert.nao(), 'nao()')  #TEST
psi4.compare_strings('c2v', mymol.schoenflies_symbol(), 'symm')  #TEST
psi4.compare_strings('CC-PVDZ', wert.name(), 'callby')  #TEST
psi4.compare_strings('CC-PVDZ', wert.blend(), 'blend')  #TEST
mymol.print_out()


print('[2]        <<<  RIFIT (default)  >>>')
wert = psi4.core.BasisSet.build(mymol, 'DF_BASIS_MP2', '', 'RIFIT', psi4.core.get_global_option('BASIS'))
psi4.compare_integers(140, wert.nbf(), 'nbf()')  #TEST
psi4.compare_integers(162, wert.nao(), 'nao()')  #TEST
psi4.compare_strings('c2v', mymol.schoenflies_symbol(), 'symm')  #TEST
psi4.compare_strings('(CC-PVDZ AUX)', wert.name(), 'callby')  #TEST
psi4.compare_strings('CC-PVDZ-RI', wert.blend(), 'blend')  #TEST
Example #9
0
import psi4

psi4.set_output_file("output.dat", False)

# Generate JSON data
json_data = {}
json_data["molecule"] = """He 0 0 0\n--\nHe 0 0 1"""
json_data["driver"] = "gradient"
json_data["method"] = 'SCF'
json_data["kwargs"] = {}
json_data["options"] = {"BASIS": "STO-3G"}
json_data["return_output"] = True

psi4.json_wrapper.run_json(json_data)

psi4.compare_strings("STO-3G", json_data["options"]["BASIS"], "Options test")  #TEST
psi4.compare_integers(True, json_data["success"], "Success")                   #TEST


bench_energy = -5.433191881443323                                              #TEST
cenergy = json_data["variables"]["CURRENT ENERGY"]                             #TEST
psi4.compare_values(bench_energy, cenergy, 5, "SCF CURRENT ENERGY")            #TEST

bench_gradient = np.array([[  0.0 , 0.0 ,   0.4206844],
                           [  0.0 , 0.0 ,  -0.4206844]])
cgradient = psi4.core.Matrix.from_serial(json_data["return_value"])            #TEST
psi4.compare_arrays(bench_gradient, cgradient.np, 4, "SCF RETURN_VALUE")       #TEST

return_wfn = "return_wfn" not in json_data["kwargs"]                           #TEST
psi4.compare_integers(True, return_wfn, "Immutable input")                     #TEST
Example #10
0
          5.5333500              0.7007130
    SP   2   1.00
          3.6649800             -0.3958970              0.2364600
          0.7705450              1.2158400              0.8606190
    SP   1   1.00
          0.1958570              1.0000000              1.0000000
    ****
    [DZ]
    spherical
    ****
    H     0 
    S   3   1.00
         19.2406000              0.0328280        
          2.8992000              0.2312080        
          0.6534000              0.8172380        
    S   1   1.00
          0.1776000              1.0000000        
    ****
""")

psi4.set_options({
    'd_convergence': 11,
    'e_convergence': 11,
    'scf_type': 'pk'})
 
scfenergy = psi4.energy('scf')

psi4.compare_strings("c2v", bz.schoenflies_symbol(), "Point group")  #TEST
psi4.compare_values(refnuc, bz.nuclear_repulsion_energy(), 10, "Nuclear repulsion energy")  #TEST
psi4.compare_values(refscf, scfenergy, 10, "SCF Energy")  #TEST