A couple additions to the extended Hueckel integration (#2955)

* add reference input/output files for yaehmop

* orbital energies, overlap matrix, and hamiltonian on the C++ side

* add the python wrappers for the new functions
This commit is contained in:
Greg Landrum
2020-02-24 10:32:02 +01:00
committed by GitHub
parent 96353c3a8b
commit fcdf086ee5
7 changed files with 919 additions and 69 deletions

View File

@@ -1,5 +1,5 @@
//
// Copyright (C) 2018 Greg Landrum
// Copyright (C) 2018-2020 Greg Landrum
//
#include "EHTTools.h"
#include <GraphMol/RDKitBase.h>
@@ -21,7 +21,8 @@ const std::string _EHTChargeMatrix = "_EHTChargeMatrix";
// thread at a time. This mutex enforces that.
std::mutex yaehmop_mutex;
bool runMol(const ROMol &mol, EHTResults &results, int confId) {
bool runMol(const ROMol &mol, EHTResults &results, int confId,
bool preserveHamiltonianAndOverlapMatrices) {
std::lock_guard<std::mutex> lock(yaehmop_mutex);
// -----------------------------
@@ -126,6 +127,25 @@ bool runMol(const ROMol &mol, EHTResults &results, int confId) {
memcpy(static_cast<void *>(results.reducedOverlapPopulationMatrix.get()),
static_cast<void *>(properties.ROP_mat), sz * sizeof(double));
results.orbitalEnergies = std::make_unique<double[]>(num_orbs);
std::memcpy(static_cast<void *>(results.orbitalEnergies.get()),
static_cast<void *>(eigenset.val), num_orbs * sizeof(double));
if (preserveHamiltonianAndOverlapMatrices) {
// these need to be recalculated, because they were overwritten during the
// calculation
R_space_overlap_matrix(unit_cell, details, Overlap_R, num_orbs,
tot_overlaps, orbital_lookup_table, 0);
full_R_space_Hamiltonian(unit_cell, details, Overlap_R, Hamil_R, num_orbs,
orbital_lookup_table, 1);
sz = num_orbs * num_orbs * sizeof(double);
results.hamiltonianMatrix = std::make_unique<double[]>(sz);
std::memcpy(static_cast<void *>(results.hamiltonianMatrix.get()),
static_cast<void *>(Hamil_R.mat), sz);
results.overlapMatrix = std::make_unique<double[]>(sz);
std::memcpy(static_cast<void *>(results.overlapMatrix.get()),
static_cast<void *>(Overlap_R.mat), sz);
}
cleanup_memory();
fclose(nullfile);

View File

@@ -1,5 +1,5 @@
//
// Copyright (C) 2018 by Greg Landrum
// Copyright (C) 2018-2020 by Greg Landrum
//
#ifndef EHTTOOLS_H_20181226
#define EHTTOOLS_H_20181226
@@ -24,11 +24,14 @@ struct RDKIT_EHTLIB_EXPORT EHTResults {
unsigned int numAtoms;
unsigned int numOrbitals;
unsigned int numElectrons;
std::unique_ptr<double[]> overlapMatrix;
std::unique_ptr<double[]> hamiltonianMatrix;
std::unique_ptr<double[]> overlapPopulationMatrix;
std::unique_ptr<double[]> reducedOverlapPopulationMatrix;
std::unique_ptr<double[]> chargeMatrix;
std::unique_ptr<double[]> reducedChargeMatrix;
std::unique_ptr<double[]> atomicCharges;
std::unique_ptr<double[]> orbitalEnergies;
double fermiEnergy;
double totalEnergy;
EHTResults() = default;
@@ -38,7 +41,9 @@ struct RDKIT_EHTLIB_EXPORT EHTResults {
//! Runs an extended Hueckel calculation for a molecule
//! The results are returned in the EHTResults structure
RDKIT_EHTLIB_EXPORT bool runMol(const ROMol &mol, EHTResults &results, int confId = -1);
RDKIT_EHTLIB_EXPORT bool runMol(
const ROMol &mol, EHTResults &results, int confId = -1,
bool preserveHamiltonianAndOverlapMatrices = false);
} // namespace EHTTools
} // namespace RDKit

View File

@@ -46,9 +46,10 @@ boost::python::object transfer_to_python(T *t) {
return python::object(handle);
}
PyObject *getMatrixProp(const double *mat, unsigned int dim1, unsigned int dim2) {
PyObject *getMatrixProp(const double *mat, unsigned int dim1,
unsigned int dim2) {
if (!mat) {
throw_value_error("matrix has not be initialized");
throw_value_error("matrix has not been initialized");
}
npy_intp dims[2];
dims[0] = dim1;
@@ -63,7 +64,7 @@ PyObject *getMatrixProp(const double *mat, unsigned int dim1, unsigned int dim2)
}
PyObject *getSymmMatrixProp(const double *mat, unsigned int sz) {
if (!mat) {
throw_value_error("matrix has not be initialized");
throw_value_error("matrix has not been initialized");
}
npy_intp dims[1];
dims[0] = sz * (sz + 1) / 2;
@@ -77,7 +78,7 @@ PyObject *getSymmMatrixProp(const double *mat, unsigned int sz) {
}
PyObject *getVectorProp(const double *mat, unsigned int sz) {
if (!mat) {
throw_value_error("vector has not be initialized");
throw_value_error("vector has not been initialized");
}
npy_intp dims[1];
dims[0] = sz;
@@ -90,7 +91,8 @@ PyObject *getVectorProp(const double *mat, unsigned int sz) {
return PyArray_Return(res);
}
PyObject *getChargeMatrix(EHTTools::EHTResults &self) {
return getMatrixProp(self.reducedChargeMatrix.get(), self.numAtoms, self.numOrbitals);
return getMatrixProp(self.reducedChargeMatrix.get(), self.numAtoms,
self.numOrbitals);
}
PyObject *getOPMatrix(EHTTools::EHTResults &self) {
@@ -101,11 +103,35 @@ PyObject *getOPMatrix(EHTTools::EHTResults &self) {
PyObject *getCharges(EHTTools::EHTResults &self) {
return getVectorProp(self.atomicCharges.get(), self.numAtoms);
}
python::tuple runCalc(const RDKit::ROMol &mol, int confId) {
PyObject *getOrbitalEnergies(EHTTools::EHTResults &self) {
return getVectorProp(self.orbitalEnergies.get(), self.numOrbitals);
}
python::tuple runCalc(const RDKit::ROMol &mol, int confId, bool keepMatrices) {
auto eRes = new RDKit::EHTTools::EHTResults();
bool ok = RDKit::EHTTools::runMol(mol, *eRes, confId);
bool ok = RDKit::EHTTools::runMol(mol, *eRes, confId, keepMatrices);
return python::make_tuple(ok, transfer_to_python(eRes));
}
PyObject *getHamiltonian(EHTTools::EHTResults &self) {
if (!self.hamiltonianMatrix) {
throw_value_error(
"Hamiltonian not available, set keepOverlapAndHamiltonianMatrices=True "
"to preserve it.");
}
return getMatrixProp(self.hamiltonianMatrix.get(), self.numOrbitals,
self.numOrbitals);
}
PyObject *getOverlapMatrix(EHTTools::EHTResults &self) {
if (!self.overlapMatrix) {
throw_value_error(
"Overlap matrix not available, set "
"keepOverlapAndHamiltonianMatrices=True "
"to preserve it.");
}
return getMatrixProp(self.overlapMatrix.get(), self.numOrbitals,
self.numOrbitals);
}
} // end of anonymous namespace
@@ -116,7 +142,8 @@ struct EHT_wrapper {
python::class_<RDKit::EHTTools::EHTResults, boost::noncopyable>(
"EHTResults", docString.c_str(), python::no_init)
.def_readonly("numOrbitals", &RDKit::EHTTools::EHTResults::numOrbitals)
.def_readonly("numElectrons", &RDKit::EHTTools::EHTResults::numElectrons)
.def_readonly("numElectrons",
&RDKit::EHTTools::EHTResults::numElectrons)
.def_readonly("fermiEnergy", &RDKit::EHTTools::EHTResults::fermiEnergy)
.def_readonly("totalEnergy", &RDKit::EHTTools::EHTResults::totalEnergy)
.def("GetReducedChargeMatrix", getChargeMatrix,
@@ -124,7 +151,13 @@ struct EHT_wrapper {
.def("GetReducedOverlapPopulationMatrix", getOPMatrix,
"returns the reduced overlap population matrix")
.def("GetAtomicCharges", getCharges,
"returns the calculated atomic charges");
"returns the calculated atomic charges")
.def("GetHamiltonian", getHamiltonian,
"returns the symmetric Hamiltonian matrix")
.def("GetOverlapMatrix", getOverlapMatrix,
"returns the symmetric overlap matrix")
.def("GetOrbitalEnergies", getOrbitalEnergies,
"returns the energies of the molecular orbitals as a vector");
docString =
R"DOC(Runs an extended Hueckel calculation for a molecule.
@@ -133,13 +166,16 @@ The molecule should have at least one conformation
ARGUMENTS:
- mol: molecule to use
- confId: (optional) conformation to use
- keepOverlapAndHamiltonianMatrices: (optional) triggers storing the overlap
and hamiltonian matrices in the EHTResults object
RETURNS: a 2-tuple:
- a boolean indicating whether or not the calculation succeeded
- an EHTResults object with the results
)DOC";
python::def("RunMol", runCalc,
(python::arg("mol"), python::arg("confId") = -1),
(python::arg("mol"), python::arg("confId") = -1,
python::arg("keepOverlapAndHamiltonianMatrices") = false),
docString.c_str());
}
};

View File

@@ -15,58 +15,83 @@ from rdkit.Chem import rdEHTTools
class TestCase(unittest.TestCase):
def setUp(self):
pass
def setUp(self):
pass
def test1(self):
mol = Chem.MolFromMolFile(os.path.join(
RDConfig.RDBaseDir, "External", "YAeHMOP", "test_data", "benzene.mol"), removeHs=False)
self.assertEqual(mol.GetNumAtoms(), 12)
ok, res = rdEHTTools.RunMol(mol)
self.assertTrue(ok)
chgs = res.GetAtomicCharges()
self.assertAlmostEqual(chgs[1], -0.026, places=3)
self.assertAlmostEqual(chgs[7], 0.026, places=3)
def test1(self):
mol = Chem.MolFromMolFile(
os.path.join(RDConfig.RDBaseDir, "External", "YAeHMOP", "test_data", "benzene.mol"),
removeHs=False)
self.assertEqual(mol.GetNumAtoms(), 12)
ok, res = rdEHTTools.RunMol(mol)
self.assertTrue(ok)
chgs = res.GetAtomicCharges()
self.assertAlmostEqual(chgs[1], -0.026, places=3)
self.assertAlmostEqual(chgs[7], 0.026, places=3)
def test2(self):
mol = Chem.MolFromMolFile(os.path.join(
RDConfig.RDBaseDir, "External", "YAeHMOP", "test_data", "benzene.mol"), removeHs=False)
self.assertEqual(mol.GetNumAtoms(), 12)
ok, res = rdEHTTools.RunMol(mol)
self.assertTrue(ok)
self.assertEqual(res.numOrbitals,30)
self.assertEqual(res.numElectrons,30)
cm = res.GetReducedChargeMatrix()
self.assertEqual(cm.shape, (12, res.numOrbitals))
for i in range(6):
self.assertAlmostEqual(cm[i][0], 0.161, places=3)
self.assertAlmostEqual(cm[i+6][0], 0.005, places=3)
self.assertAlmostEqual(cm[i][6], 0.1066, places=3)
self.assertAlmostEqual(cm[i+6][6], 0.060, places=3)
self.assertAlmostEqual(cm[i][9], 0.167, places=3)
self.assertAlmostEqual(cm[i+6][9], 0.000, places=3)
def test2(self):
mol = Chem.MolFromMolFile(
os.path.join(RDConfig.RDBaseDir, "External", "YAeHMOP", "test_data", "benzene.mol"),
removeHs=False)
self.assertEqual(mol.GetNumAtoms(), 12)
ok, res = rdEHTTools.RunMol(mol)
self.assertTrue(ok)
self.assertEqual(res.numOrbitals, 30)
self.assertEqual(res.numElectrons, 30)
cm = res.GetReducedChargeMatrix()
self.assertEqual(cm.shape, (12, res.numOrbitals))
for i in range(6):
self.assertAlmostEqual(cm[i][0], 0.161, places=3)
self.assertAlmostEqual(cm[i + 6][0], 0.005, places=3)
self.assertAlmostEqual(cm[i][6], 0.1066, places=3)
self.assertAlmostEqual(cm[i + 6][6], 0.060, places=3)
self.assertAlmostEqual(cm[i][9], 0.167, places=3)
self.assertAlmostEqual(cm[i + 6][9], 0.000, places=3)
def test3(self):
mol = Chem.MolFromMolFile(os.path.join(
RDConfig.RDBaseDir, "External", "YAeHMOP", "test_data", "benzene.mol"), removeHs=False)
self.assertEqual(mol.GetNumAtoms(), 12)
ok, res = rdEHTTools.RunMol(mol)
self.assertTrue(ok)
opm = res.GetReducedOverlapPopulationMatrix()
self.assertEqual(opm.shape, (int(12 * 13 / 2),))
self.assertAlmostEqual(opm[0], 2.7035, 3)
self.assertAlmostEqual(opm[2], 2.7035, 3)
self.assertAlmostEqual(opm[3], -0.0785, 3)
def test3(self):
mol = Chem.MolFromMolFile(
os.path.join(RDConfig.RDBaseDir, "External", "YAeHMOP", "test_data", "benzene.mol"),
removeHs=False)
self.assertEqual(mol.GetNumAtoms(), 12)
ok, res = rdEHTTools.RunMol(mol)
self.assertTrue(ok)
opm = res.GetReducedOverlapPopulationMatrix()
self.assertEqual(opm.shape, (int(12 * 13 / 2), ))
self.assertAlmostEqual(opm[0], 2.7035, 3)
self.assertAlmostEqual(opm[2], 2.7035, 3)
self.assertAlmostEqual(opm[3], -0.0785, 3)
def test1(self):
mol = Chem.MolFromMolFile(os.path.join(
RDConfig.RDBaseDir, "External", "YAeHMOP", "test_data", "benzene.mol"), removeHs=False)
self.assertEqual(mol.GetNumAtoms(), 12)
ok, res = rdEHTTools.RunMol(mol)
self.assertTrue(ok)
self.assertAlmostEqual(res.fermiEnergy, -12.804, places=3)
self.assertAlmostEqual(res.totalEnergy, -535.026, places=3)
def test4(self):
mol = Chem.MolFromMolFile(
os.path.join(RDConfig.RDBaseDir, "External", "YAeHMOP", "test_data", "benzene.mol"),
removeHs=False)
self.assertEqual(mol.GetNumAtoms(), 12)
ok, res = rdEHTTools.RunMol(mol)
self.assertTrue(ok)
self.assertAlmostEqual(res.fermiEnergy, -12.804, places=3)
self.assertAlmostEqual(res.totalEnergy, -535.026, places=3)
def test5(self):
mol = Chem.MolFromMolFile(
os.path.join(RDConfig.RDBaseDir, "External", "YAeHMOP", "test_data", "benzene.mol"),
removeHs=False)
self.assertEqual(mol.GetNumAtoms(), 12)
ok, res = rdEHTTools.RunMol(mol, keepOverlapAndHamiltonianMatrices=True)
self.assertTrue(ok)
orbEs = res.GetOrbitalEnergies()
self.assertAlmostEqual(orbEs[0], -29.6302, places=3)
self.assertAlmostEqual(orbEs[14], -12.804, places=3)
self.assertAlmostEqual(orbEs[29], 67.0404, places=3)
hamil = res.GetHamiltonian()
self.assertAlmostEqual(hamil[0, 0], -21.4000, places=3)
self.assertAlmostEqual(hamil[0, 4], -15.3224, places=3)
self.assertAlmostEqual(hamil[4, 0], 0.0000, places=3)
overlap = res.GetOverlapMatrix()
self.assertAlmostEqual(overlap[0, 0], 1.0000, places=3)
self.assertAlmostEqual(overlap[0, 4], 0.4091, places=3)
self.assertAlmostEqual(overlap[4, 0], 0.0000, places=3)
if __name__ == '__main__':
unittest.main()
unittest.main()

View File

@@ -37,7 +37,9 @@ TEST_CASE("benzene", "[basics]") {
REQUIRE(mol);
REQUIRE(mol->getNumAtoms() == 12);
EHTTools::EHTResults res;
REQUIRE(EHTTools::runMol(*mol, res));
int confId = -1;
bool preserveMatrices = true;
REQUIRE(EHTTools::runMol(*mol, res, confId, preserveMatrices));
CHECK(res.numElectrons == 30);
CHECK(res.numOrbitals == 30);
CHECK(res.numAtoms == 12);
@@ -48,17 +50,40 @@ TEST_CASE("benzene", "[basics]") {
CHECK(res.atomicCharges[i] == Approx(0.026).margin(0.001));
}
for (unsigned int i = 0; i < 6; ++i) {
CHECK(res.reducedChargeMatrix[i*res.numOrbitals] == Approx(0.1615).margin(0.001));
CHECK(res.reducedChargeMatrix[i*res.numOrbitals+6] == Approx(0.1066).margin(0.001));
CHECK(res.reducedChargeMatrix[i*res.numOrbitals+9] == Approx(0.1667).margin(0.001));
CHECK(res.reducedChargeMatrix[i * res.numOrbitals] ==
Approx(0.1615).margin(0.001));
CHECK(res.reducedChargeMatrix[i * res.numOrbitals + 6] ==
Approx(0.1066).margin(0.001));
CHECK(res.reducedChargeMatrix[i * res.numOrbitals + 9] ==
Approx(0.1667).margin(0.001));
}
for (unsigned int i = 6; i < 12; ++i) {
CHECK(res.reducedChargeMatrix[i*res.numOrbitals] == Approx(0.0052).margin(0.001));
CHECK(res.reducedChargeMatrix[i*res.numOrbitals+6] == Approx(0.0600).margin(0.001));
CHECK(res.reducedChargeMatrix[i*res.numOrbitals+9] == Approx(0.0000).margin(0.001));
CHECK(res.reducedChargeMatrix[i * res.numOrbitals] ==
Approx(0.0052).margin(0.001));
CHECK(res.reducedChargeMatrix[i * res.numOrbitals + 6] ==
Approx(0.0600).margin(0.001));
CHECK(res.reducedChargeMatrix[i * res.numOrbitals + 9] ==
Approx(0.0000).margin(0.001));
}
CHECK(res.orbitalEnergies[0] == Approx(-29.6302).margin(0.001));
CHECK(res.orbitalEnergies[14] == Approx(-12.804).margin(0.001));
CHECK(res.orbitalEnergies[29] == Approx(67.0404).margin(0.001));
CHECK(res.totalEnergy == Approx(-535.026).margin(0.001));
CHECK(res.fermiEnergy == Approx(-12.804).margin(0.001));
CHECK(res.hamiltonianMatrix[0 * res.numOrbitals + 0] ==
Approx(-21.4000).margin(0.001));
CHECK(res.hamiltonianMatrix[0 * res.numOrbitals + 4] ==
Approx(-15.3224).margin(0.001));
CHECK(res.hamiltonianMatrix[4 * res.numOrbitals + 0] ==
Approx(0.0000).margin(0.001));
CHECK(res.overlapMatrix[0 * res.numOrbitals + 0] ==
Approx(1.0000).margin(0.001));
CHECK(res.overlapMatrix[0 * res.numOrbitals + 4] ==
Approx(0.4091).margin(0.001));
CHECK(res.overlapMatrix[4 * res.numOrbitals + 0] ==
Approx(0.0000).margin(0.001));
}
#endif
#if 1

32
External/YAeHMOP/test_data/benzene.b vendored Normal file
View File

@@ -0,0 +1,32 @@
Benzene
Molecular
Geometry
12
C 1.236700 -0.644200 -0.035000
C 1.175700 0.749200 -0.043100
C -0.060900 1.393500 -0.008200
C -1.236600 0.644200 0.035000
C -1.175700 -0.749200 0.043200
C 0.060900 -1.393500 0.008200
H 2.200100 -1.146100 -0.062200
H 2.091700 1.333000 -0.076800
H -0.108400 2.479100 -0.014500
H -2.200100 1.146100 0.062300
H -2.091700 -1.333000 0.076800
H 0.108400 -2.479100 0.014500
charge
0
Print
net charges
overlap
hamiltonian
end_print

707
External/YAeHMOP/test_data/benzene.b.out vendored Normal file
View File

@@ -0,0 +1,707 @@
#BIND_OUTPUT version: 3.0
#JOB_TITLE: Benzene
; ********* Atoms within the unit cell: *********
# NUMBER OF ATOMS:
12
# ATOMIC POSITIONS
1 C 1.236700 -0.644200 -0.035000
2 C 1.175700 0.749200 -0.043100
3 C -0.060900 1.393500 -0.008200
4 C -1.236600 0.644200 0.035000
5 C -1.175700 -0.749200 0.043200
6 C 0.060900 -1.393500 0.008200
7 H 2.200100 -1.146100 -0.062200
8 H 2.091700 1.333000 -0.076800
9 H -0.108400 2.479100 -0.014500
10 H -2.200100 1.146100 0.062300
11 H -2.091700 -1.333000 0.076800
12 H 0.108400 -2.479100 0.014500
# ******** Extended Hueckel Parameters ********
; FORMAT quantum number orbital: Hii, <c1>, exponent1, <c2>, <exponent2>
ATOM: C Atomic number: 6 # Valence Electrons: 4
2S: -21.4000 1.6250
2P: -11.4000 1.6250
ATOM: H Atomic number: 1 # Valence Electrons: 1
1S: -13.6000 1.3000
; Number of orbitals
#Num_Orbitals: 30
; --- Overlap Matrix S(R) ---
C( 1) 2s C( 1) 2px C( 1) 2py
C( 1) 2s 1.0000 0.0000 0.0000
C( 1) 2px 0.0000 1.0000 0.0000
C( 1) 2py 0.0000 0.0000 1.0000
C( 1) 2pz 0.0000 0.0000 0.0000
C( 2) 2s 0.0000 0.0000 0.0000
C( 2) 2px 0.0000 0.0000 0.0000
C( 2) 2py 0.0000 0.0000 0.0000
C( 2) 2pz 0.0000 0.0000 0.0000
C( 3) 2s 0.0000 0.0000 0.0000
C( 3) 2px 0.0000 0.0000 0.0000
C( 3) 2py 0.0000 0.0000 0.0000
C( 3) 2pz 0.0000 0.0000 0.0000
C( 4) 2s 0.0000 0.0000 0.0000
C( 4) 2px 0.0000 0.0000 0.0000
C( 4) 2py 0.0000 0.0000 0.0000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 1) 2pz C( 2) 2s C( 2) 2px
C( 1) 2s 0.0000 0.4091 0.0181
C( 1) 2px 0.0000 -0.0181 0.2454
C( 1) 2py 0.0000 0.4146 0.0252
C( 1) 2pz 1.0000 -0.0024 -0.0001
C( 2) 2s 0.0000 1.0000 0.0000
C( 2) 2px 0.0000 0.0000 1.0000
C( 2) 2py 0.0000 0.0000 0.0000
C( 2) 2pz 0.0000 0.0000 0.0000
C( 3) 2s 0.0000 0.0000 0.0000
C( 3) 2px 0.0000 0.0000 0.0000
C( 3) 2py 0.0000 0.0000 0.0000
C( 3) 2pz 0.0000 0.0000 0.0000
C( 4) 2s 0.0000 0.0000 0.0000
C( 4) 2px 0.0000 0.0000 0.0000
C( 4) 2py 0.0000 0.0000 0.0000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 2) 2py C( 2) 2pz C( 3) 2s
C( 1) 2s -0.4146 0.0024 0.0873
C( 1) 2px 0.0252 -0.0001 -0.0611
C( 1) 2py -0.3295 0.0033 0.0960
C( 1) 2pz 0.0033 0.2465 0.0013
C( 2) 2s 0.0000 0.0000 0.4091
C( 2) 2px 0.0000 0.0000 -0.3679
C( 2) 2py 1.0000 0.0000 0.1917
C( 2) 2pz 0.0000 1.0000 0.0104
C( 3) 2s 0.0000 0.0000 1.0000
C( 3) 2px 0.0000 0.0000 0.0000
C( 3) 2py 0.0000 0.0000 0.0000
C( 3) 2pz 0.0000 0.0000 0.0000
C( 4) 2s 0.0000 0.0000 0.0000
C( 4) 2px 0.0000 0.0000 0.0000
C( 4) 2py 0.0000 0.0000 0.0000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 3) 2px C( 3) 2py C( 3) 2pz
C( 1) 2s 0.0611 -0.0960 -0.0013
C( 1) 2px -0.0164 0.0801 0.0011
C( 1) 2py 0.0801 -0.0912 -0.0017
C( 1) 2pz 0.0011 -0.0017 0.0346
C( 2) 2s 0.3679 -0.1917 -0.0104
C( 2) 2px -0.2071 0.2363 0.0128
C( 2) 2py 0.2363 0.1233 -0.0067
C( 2) 2pz 0.0128 -0.0067 0.2461
C( 3) 2s 0.0000 0.0000 0.0000
C( 3) 2px 1.0000 0.0000 0.0000
C( 3) 2py 0.0000 1.0000 0.0000
C( 3) 2pz 0.0000 0.0000 1.0000
C( 4) 2s 0.0000 0.0000 0.0000
C( 4) 2px 0.0000 0.0000 0.0000
C( 4) 2py 0.0000 0.0000 0.0000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 4) 2s C( 4) 2px C( 4) 2py
C( 1) 2s 0.0441 0.0533 -0.0278
C( 1) 2px -0.0533 -0.0594 0.0389
C( 1) 2py 0.0278 0.0389 -0.0049
C( 1) 2pz 0.0015 0.0021 -0.0011
C( 2) 2s 0.0873 0.1136 0.0049
C( 2) 2px -0.1136 -0.1417 -0.0077
C( 2) 2py -0.0049 -0.0077 0.0343
C( 2) 2pz 0.0037 0.0057 0.0002
C( 3) 2s 0.4091 0.3498 0.2229
C( 3) 2px -0.3498 -0.1636 -0.2613
C( 3) 2py -0.2229 -0.2613 0.0799
C( 3) 2pz 0.0129 0.0151 0.0096
C( 4) 2s 1.0000 0.0000 0.0000
C( 4) 2px 0.0000 1.0000 0.0000
C( 4) 2py 0.0000 0.0000 1.0000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 4) 2pz C( 5) 2s C( 5) 2px
C( 1) 2s -0.0015 0.0873 0.1136
C( 1) 2px 0.0021 -0.1136 -0.1416
C( 1) 2py -0.0011 -0.0049 -0.0077
C( 1) 2pz 0.0153 0.0037 0.0057
C( 2) 2s -0.0037 0.0441 0.0507
C( 2) 2px 0.0057 -0.0507 -0.0522
C( 2) 2py 0.0002 -0.0323 -0.0431
C( 2) 2pz 0.0344 0.0019 0.0025
C( 3) 2s -0.0129 0.0873 0.0525
C( 3) 2px 0.0151 -0.0525 -0.0030
C( 3) 2py 0.0096 -0.1009 -0.0723
C( 3) 2pz 0.2459 0.0024 0.0017
C( 4) 2s 0.0000 0.4091 -0.0181
C( 4) 2px 0.0000 0.0181 0.2454
C( 4) 2py 0.0000 -0.4146 0.0252
C( 4) 2pz 1.0000 0.0024 -0.0001
C( 5) 2s 0.0000 1.0000 0.0000
C( 5) 2px 0.0000 0.0000 1.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 5) 2py C( 5) 2pz C( 6) 2s
C( 1) 2s 0.0049 -0.0037 0.4091
C( 1) 2px -0.0077 0.0057 -0.3498
C( 1) 2py 0.0343 0.0002 -0.2229
C( 1) 2pz 0.0002 0.0344 0.0129
C( 2) 2s 0.0323 -0.0019 0.0873
C( 2) 2px -0.0431 0.0025 -0.0525
C( 2) 2py -0.0120 0.0016 -0.1009
C( 2) 2pz 0.0016 0.0153 0.0024
C( 3) 2s 0.1009 -0.0024 0.0441
C( 3) 2px -0.0723 0.0017 0.0026
C( 3) 2py -0.1045 0.0033 -0.0600
C( 3) 2pz 0.0033 0.0345 0.0004
C( 4) 2s 0.4146 -0.0024 0.0873
C( 4) 2px 0.0252 -0.0001 0.0611
C( 4) 2py -0.3295 0.0034 -0.0960
C( 4) 2pz 0.0034 0.2465 -0.0013
C( 5) 2s 0.0000 0.0000 0.4091
C( 5) 2px 0.0000 0.0000 0.3679
C( 5) 2py 1.0000 0.0000 -0.1917
C( 5) 2pz 0.0000 1.0000 -0.0104
C( 6) 2s 0.0000 0.0000 1.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 6) 2px C( 6) 2py C( 6) 2pz
C( 1) 2s 0.3498 0.2229 -0.0129
C( 1) 2px -0.1636 -0.2613 0.0151
C( 1) 2py -0.2613 0.0799 0.0096
C( 1) 2pz 0.0151 0.0096 0.2459
C( 2) 2s 0.0525 0.1009 -0.0024
C( 2) 2px -0.0030 -0.0723 0.0017
C( 2) 2py -0.0723 -0.1045 0.0033
C( 2) 2pz 0.0017 0.0033 0.0345
C( 3) 2s -0.0026 0.0600 -0.0004
C( 3) 2px 0.0152 0.0041 0.0000
C( 3) 2py 0.0041 -0.0795 0.0006
C( 3) 2pz 0.0000 0.0006 0.0154
C( 4) 2s -0.0611 0.0960 0.0013
C( 4) 2px -0.0164 0.0801 0.0011
C( 4) 2py 0.0801 -0.0912 -0.0017
C( 4) 2pz 0.0011 -0.0017 0.0346
C( 5) 2s -0.3679 0.1917 0.0104
C( 5) 2px -0.2071 0.2363 0.0128
C( 5) 2py 0.2363 0.1233 -0.0067
C( 5) 2pz 0.0128 -0.0067 0.2461
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 1.0000 0.0000 0.0000
C( 6) 2py 0.0000 1.0000 0.0000
C( 6) 2pz 0.0000 0.0000 1.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
H( 7) 1s H( 8) 1s H( 9) 1s
C( 1) 2s 0.4943 0.1039 0.0100
C( 1) 2px 0.4367 0.0527 -0.0055
C( 1) 2py -0.2275 0.1218 0.0128
C( 1) 2pz -0.0123 -0.0026 0.0000
C( 2) 2s 0.1039 0.4942 0.1039
C( 2) 2px 0.0631 0.4152 -0.0791
C( 2) 2py -0.1168 0.2646 0.1065
C( 2) 2pz -0.0012 -0.0153 0.0018
C( 3) 2s 0.0100 0.1039 0.4942
C( 3) 2px 0.0093 0.1326 -0.0215
C( 3) 2py -0.0104 -0.0037 0.4921
C( 3) 2pz -0.0002 -0.0042 -0.0029
C( 4) 2s 0.0038 0.0100 0.1039
C( 4) 2px 0.0048 0.0137 0.0695
C( 4) 2py -0.0025 0.0028 0.1130
C( 4) 2pz -0.0001 -0.0005 -0.0030
C( 5) 2s 0.0100 0.0038 0.0100
C( 5) 2px 0.0139 0.0045 0.0044
C( 5) 2py -0.0016 0.0029 0.0133
C( 5) 2pz -0.0004 -0.0002 -0.0002
C( 6) 2s 0.1039 0.0100 0.0038
C( 6) 2px 0.1318 0.0083 -0.0002
C( 6) 2py 0.0152 0.0112 0.0054
C( 6) 2pz -0.0043 -0.0003 0.0000
H( 7) 1s 1.0000 0.0439 0.0013
H( 8) 1s 0.0000 1.0000 0.0439
H( 9) 1s 0.0000 0.0000 1.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
H( 10) 1s H( 11) 1s H( 12) 1s
C( 1) 2s 0.0038 0.0100 0.1039
C( 1) 2px -0.0048 -0.0137 -0.0695
C( 1) 2py 0.0025 -0.0028 -0.1130
C( 1) 2pz 0.0001 0.0005 0.0030
C( 2) 2s 0.0100 0.0038 0.0100
C( 2) 2px -0.0139 -0.0045 -0.0044
C( 2) 2py 0.0016 -0.0029 -0.0133
C( 2) 2pz 0.0004 0.0002 0.0002
C( 3) 2s 0.1039 0.0100 0.0038
C( 3) 2px -0.1318 -0.0083 0.0002
C( 3) 2py -0.0152 -0.0112 -0.0054
C( 3) 2pz 0.0043 0.0003 0.0000
C( 4) 2s 0.4942 0.1039 0.0100
C( 4) 2px -0.4367 -0.0527 0.0055
C( 4) 2py 0.2275 -0.1218 -0.0128
C( 4) 2pz 0.0124 0.0026 0.0000
C( 5) 2s 0.1039 0.4942 0.1039
C( 5) 2px -0.0631 -0.4152 0.0791
C( 5) 2py 0.1168 -0.2646 -0.1065
C( 5) 2pz 0.0012 0.0152 -0.0018
C( 6) 2s 0.0100 0.1039 0.4942
C( 6) 2px -0.0093 -0.1326 0.0215
C( 6) 2py 0.0104 0.0037 -0.4921
C( 6) 2pz 0.0002 0.0042 0.0029
H( 7) 1s 0.0003 0.0013 0.0439
H( 8) 1s 0.0013 0.0003 0.0013
H( 9) 1s 0.0439 0.0013 0.0003
H( 10) 1s 1.0000 0.0439 0.0013
H( 11) 1s 0.0000 1.0000 0.0439
H( 12) 1s 0.0000 0.0000 1.0000
; --- Hamiltonian H(R) ---
C( 1) 2s C( 1) 2px C( 1) 2py
C( 1) 2s -21.4000 0.0000 0.0000
C( 1) 2px 0.0000 -11.4000 0.0000
C( 1) 2py 0.0000 0.0000 -11.4000
C( 1) 2pz 0.0000 0.0000 0.0000
C( 2) 2s 0.0000 0.0000 0.0000
C( 2) 2px 0.0000 0.0000 0.0000
C( 2) 2py 0.0000 0.0000 0.0000
C( 2) 2pz 0.0000 0.0000 0.0000
C( 3) 2s 0.0000 0.0000 0.0000
C( 3) 2px 0.0000 0.0000 0.0000
C( 3) 2py 0.0000 0.0000 0.0000
C( 3) 2pz 0.0000 0.0000 0.0000
C( 4) 2s 0.0000 0.0000 0.0000
C( 4) 2px 0.0000 0.0000 0.0000
C( 4) 2py 0.0000 0.0000 0.0000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 1) 2pz C( 2) 2s C( 2) 2px
C( 1) 2s 0.0000 -15.3224 -0.5466
C( 1) 2px 0.0000 0.5466 -4.8954
C( 1) 2py 0.0000 -12.4867 -0.5031
C( 1) 2pz -11.4000 0.0726 0.0029
C( 2) 2s 0.0000 -21.4000 0.0000
C( 2) 2px 0.0000 0.0000 -11.4000
C( 2) 2py 0.0000 0.0000 0.0000
C( 2) 2pz 0.0000 0.0000 0.0000
C( 3) 2s 0.0000 0.0000 0.0000
C( 3) 2px 0.0000 0.0000 0.0000
C( 3) 2py 0.0000 0.0000 0.0000
C( 3) 2pz 0.0000 0.0000 0.0000
C( 4) 2s 0.0000 0.0000 0.0000
C( 4) 2px 0.0000 0.0000 0.0000
C( 4) 2py 0.0000 0.0000 0.0000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 2) 2py C( 2) 2pz C( 3) 2s
C( 1) 2s 12.4867 -0.0726 -3.2707
C( 1) 2px -0.5031 0.0029 1.8404
C( 1) 2py 6.5739 -0.0668 -2.8901
C( 1) 2pz -0.0668 -4.9171 -0.0380
C( 2) 2s 0.0000 0.0000 -15.3212
C( 2) 2px 0.0000 0.0000 11.0805
C( 2) 2py -11.4000 0.0000 -5.7732
C( 2) 2pz 0.0000 -11.4000 -0.3127
C( 3) 2s 0.0000 0.0000 -21.4000
C( 3) 2px 0.0000 0.0000 0.0000
C( 3) 2py 0.0000 0.0000 0.0000
C( 3) 2pz 0.0000 0.0000 0.0000
C( 4) 2s 0.0000 0.0000 0.0000
C( 4) 2px 0.0000 0.0000 0.0000
C( 4) 2py 0.0000 0.0000 0.0000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 3) 2px C( 3) 2py C( 3) 2pz
C( 1) 2s -1.8404 2.8901 0.0380
C( 1) 2px 0.3272 -1.5975 -0.0210
C( 1) 2py -1.5975 1.8185 0.0330
C( 1) 2pz -0.0210 0.0330 -0.6897
C( 2) 2s -11.0805 5.7732 0.3127
C( 2) 2px 4.1325 -4.7150 -0.2554
C( 2) 2py -4.7150 -2.4603 0.1331
C( 2) 2pz -0.2554 0.1331 -4.9097
C( 3) 2s 0.0000 0.0000 0.0000
C( 3) 2px -11.4000 0.0000 0.0000
C( 3) 2py 0.0000 -11.4000 0.0000
C( 3) 2pz 0.0000 0.0000 -11.4000
C( 4) 2s 0.0000 0.0000 0.0000
C( 4) 2px 0.0000 0.0000 0.0000
C( 4) 2py 0.0000 0.0000 0.0000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 4) 2s C( 4) 2px C( 4) 2py
C( 1) 2s -1.6524 -1.6049 0.8360
C( 1) 2px 1.6049 1.1843 -0.7769
C( 1) 2py -0.8360 -0.7769 0.0976
C( 1) 2pz -0.0454 -0.0422 0.0220
C( 2) 2s -3.2711 -3.4220 -0.1489
C( 2) 2px 3.4220 2.8262 0.1531
C( 2) 2py 0.1489 0.1531 -0.6836
C( 2) 2pz -0.1108 -0.1138 -0.0050
C( 3) 2s -15.3208 -10.5344 -6.7138
C( 3) 2px 10.5344 3.2629 5.2131
C( 3) 2py 6.7138 5.2131 -1.5943
C( 3) 2pz -0.3871 -0.3006 -0.1916
C( 4) 2s -21.4000 0.0000 0.0000
C( 4) 2px 0.0000 -11.4000 0.0000
C( 4) 2py 0.0000 0.0000 -11.4000
C( 4) 2pz 0.0000 0.0000 0.0000
C( 5) 2s 0.0000 0.0000 0.0000
C( 5) 2px 0.0000 0.0000 0.0000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 4) 2pz C( 5) 2s C( 5) 2px
C( 1) 2s 0.0454 -3.2705 -3.4214
C( 1) 2px -0.0422 3.4214 2.8258
C( 1) 2py 0.0220 0.1489 0.1530
C( 1) 2pz -0.3059 -0.1109 -0.1140
C( 2) 2s 0.1108 -1.6526 -1.5260
C( 2) 2px -0.1138 1.5260 1.0411
C( 2) 2py -0.0050 0.9725 0.8591
C( 2) 2pz -0.6865 -0.0560 -0.0495
C( 3) 2s 0.3871 -3.2708 -1.5812
C( 3) 2px -0.3006 1.5812 0.0607
C( 3) 2py -0.1916 3.0392 1.4432
C( 3) 2pz -4.9057 -0.0729 -0.0346
C( 4) 2s 0.0000 -15.3224 0.5457
C( 4) 2px 0.0000 -0.5457 -4.8955
C( 4) 2py 0.0000 12.4867 -0.5022
C( 4) 2pz -11.4000 -0.0735 0.0030
C( 5) 2s 0.0000 -21.4000 0.0000
C( 5) 2px 0.0000 0.0000 -11.4000
C( 5) 2py 0.0000 0.0000 0.0000
C( 5) 2pz 0.0000 0.0000 0.0000
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 5) 2py C( 5) 2pz C( 6) 2s
C( 1) 2s -0.1489 0.1109 -15.3192
C( 1) 2px 0.1530 -0.1140 10.5340
C( 1) 2py -0.6834 -0.0050 6.7130
C( 1) 2pz -0.0050 -0.6864 -0.3870
C( 2) 2s -0.9725 0.0560 -3.2708
C( 2) 2px 0.8591 -0.0495 1.5812
C( 2) 2py 0.2403 -0.0315 3.0392
C( 2) 2pz -0.0315 -0.3053 -0.0728
C( 3) 2s -3.0392 0.0729 -1.6522
C( 3) 2px 1.4432 -0.0346 -0.0790
C( 3) 2py 2.0838 -0.0665 1.8082
C( 3) 2pz -0.0665 -0.6886 -0.0106
C( 4) 2s -12.4867 0.0735 -3.2710
C( 4) 2px -0.5022 0.0030 -1.8405
C( 4) 2py 6.5739 -0.0676 2.8904
C( 4) 2pz -0.0676 -4.9171 0.0380
C( 5) 2s 0.0000 0.0000 -15.3212
C( 5) 2px 0.0000 0.0000 -11.0805
C( 5) 2py -11.4000 0.0000 5.7732
C( 5) 2pz 0.0000 -11.4000 0.3136
C( 6) 2s 0.0000 0.0000 -21.4000
C( 6) 2px 0.0000 0.0000 0.0000
C( 6) 2py 0.0000 0.0000 0.0000
C( 6) 2pz 0.0000 0.0000 0.0000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
C( 6) 2px C( 6) 2py C( 6) 2pz
C( 1) 2s -10.5340 -6.7130 0.3870
C( 1) 2px 3.2636 5.2126 -0.3005
C( 1) 2py 5.2126 -1.5942 -0.1915
C( 1) 2pz -0.3005 -0.1915 -4.9050
C( 2) 2s -1.5812 -3.0392 0.0728
C( 2) 2px 0.0607 1.4433 -0.0346
C( 2) 2py 1.4433 2.0839 -0.0664
C( 2) 2pz -0.0346 -0.0664 -0.6886
C( 3) 2s 0.0790 -1.8082 0.0106
C( 3) 2px -0.3034 -0.0827 0.0005
C( 3) 2py -0.0827 1.5864 -0.0111
C( 3) 2pz 0.0005 -0.0111 -0.3070
C( 4) 2s 1.8405 -2.8904 -0.0380
C( 4) 2px 0.3271 -1.5976 -0.0210
C( 4) 2py -1.5976 1.8188 0.0330
C( 4) 2pz -0.0210 0.0330 -0.6898
C( 5) 2s 11.0805 -5.7732 -0.3136
C( 5) 2px 4.1325 -4.7150 -0.2561
C( 5) 2py -4.7150 -2.4603 0.1334
C( 5) 2pz -0.2561 0.1334 -4.9097
C( 6) 2s 0.0000 0.0000 0.0000
C( 6) 2px -11.4000 0.0000 0.0000
C( 6) 2py 0.0000 -11.4000 0.0000
C( 6) 2pz 0.0000 0.0000 -11.4000
H( 7) 1s 0.0000 0.0000 0.0000
H( 8) 1s 0.0000 0.0000 0.0000
H( 9) 1s 0.0000 0.0000 0.0000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
H( 7) 1s H( 8) 1s H( 9) 1s
C( 1) 2s -15.5501 -3.2693 -0.3144
C( 1) 2px -9.5955 -1.1571 0.1214
C( 1) 2py 4.9990 -2.6759 -0.2819
C( 1) 2pz 0.2709 0.0566 -0.0019
C( 2) 2s -3.2695 -15.5482 -3.2691
C( 2) 2px -1.3865 -9.1218 1.7377
C( 2) 2py 2.5652 -5.8137 -2.3410
C( 2) 2pz 0.0259 0.3356 -0.0387
C( 3) 2s -0.3144 -3.2694 -15.5497
C( 3) 2px -0.2041 -2.9133 0.4731
C( 3) 2py 0.2293 0.0819 -10.8123
C( 3) 2pz 0.0049 0.0928 0.0627
C( 4) 2s -0.1186 -0.3144 -3.2692
C( 4) 2px -0.1045 -0.3005 -1.5268
C( 4) 2py 0.0544 -0.0622 -2.4832
C( 4) 2pz 0.0030 0.0101 0.0670
C( 5) 2s -0.3144 -0.1186 -0.3144
C( 5) 2px -0.3047 -0.0994 -0.0964
C( 5) 2py 0.0358 -0.0633 -0.2914
C( 5) 2pz 0.0095 0.0036 0.0052
C( 6) 2s -3.2690 -0.3144 -0.1186
C( 6) 2px -2.8948 -0.1833 0.0051
C( 6) 2py -0.3348 -0.2461 -0.1177
C( 6) 2pz 0.0953 0.0077 0.0007
H( 7) 1s -13.6000 -1.0442 -0.0301
H( 8) 1s 0.0000 -13.6000 -1.0442
H( 9) 1s 0.0000 0.0000 -13.6000
H( 10) 1s 0.0000 0.0000 0.0000
H( 11) 1s 0.0000 0.0000 0.0000
H( 12) 1s 0.0000 0.0000 0.0000
H( 10) 1s H( 11) 1s H( 12) 1s
C( 1) 2s -0.1186 -0.3144 -3.2690
C( 1) 2px 0.1045 0.3004 1.5268
C( 1) 2py -0.0544 0.0622 2.4829
C( 1) 2pz -0.0030 -0.0101 -0.0670
C( 2) 2s -0.3144 -0.1186 -0.3144
C( 2) 2px 0.3047 0.0994 0.0964
C( 2) 2py -0.0358 0.0633 0.2914
C( 2) 2pz -0.0095 -0.0036 -0.0052
C( 3) 2s -3.2690 -0.3144 -0.1186
C( 3) 2px 2.8947 0.1833 -0.0051
C( 3) 2py 0.3348 0.2461 0.1177
C( 3) 2pz -0.0954 -0.0077 -0.0007
C( 4) 2s -15.5484 -3.2691 -0.3144
C( 4) 2px 9.5951 1.1572 -0.1214
C( 4) 2py -4.9982 2.6756 0.2820
C( 4) 2pz -0.2719 -0.0566 0.0019
C( 5) 2s -3.2695 -15.5482 -3.2691
C( 5) 2px 1.3865 9.1219 -1.7377
C( 5) 2py -2.5652 5.8137 2.3410
C( 5) 2pz -0.0259 -0.3346 0.0388
C( 6) 2s -0.3144 -3.2694 -15.5497
C( 6) 2px 0.2041 2.9133 -0.4731
C( 6) 2py -0.2292 -0.0819 10.8123
C( 6) 2pz -0.0049 -0.0928 -0.0627
H( 7) 1s -0.0076 -0.0301 -1.0442
H( 8) 1s -0.0301 -0.0076 -0.0301
H( 9) 1s -1.0442 -0.0301 -0.0076
H( 10) 1s -13.6000 -1.0442 -0.0301
H( 11) 1s 0.0000 -13.6000 -1.0442
H( 12) 1s 0.0000 0.0000 -13.6000
# ******* Energies (in eV) and Occupation Numbers *******
1:---> -29.6302 [2.000 Electrons]
2:---> -25.9874 [2.000 Electrons]
3:---> -25.9871 [2.000 Electrons]
4:---> -20.3719 [2.000 Electrons]
5:---> -20.3713 [2.000 Electrons]
6:---> -17.4138 [2.000 Electrons]
7:---> -16.6094 [2.000 Electrons]
8:---> -14.9472 [2.000 Electrons]
9:---> -14.9471 [2.000 Electrons]
10:---> -14.5301 [2.000 Electrons]
11:---> -14.2938 [2.000 Electrons]
12:---> -13.4081 [2.000 Electrons]
13:---> -13.4076 [2.000 Electrons]
14:---> -12.8042 [2.000 Electrons]
15:---> -12.8038 [2.000 Electrons]
16:---> -8.30729 [0.000 Electrons]
17:---> -8.30635 [0.000 Electrons]
18:---> -4.7058 [0.000 Electrons]
19:---> 3.67608 [0.000 Electrons]
20:---> 3.68046 [0.000 Electrons]
21:---> 10.4728 [0.000 Electrons]
22:---> 10.4983 [0.000 Electrons]
23:---> 10.4994 [0.000 Electrons]
24:---> 14.0807 [0.000 Electrons]
25:---> 15.3177 [0.000 Electrons]
26:---> 32.5886 [0.000 Electrons]
27:---> 32.5998 [0.000 Electrons]
28:---> 47.5602 [0.000 Electrons]
29:---> 47.5706 [0.000 Electrons]
30:---> 67.0404 [0.000 Electrons]
Total_Energy: -535.026
; Net Atomic Charges for 30.000 electrons:
1 C: -0.026034
2 C: -0.025962
3 C: -0.026026
4 C: -0.025974
5 C: -0.025981
6 C: -0.026033
7 H: 0.026026
8 H: 0.025975
9 H: 0.026021
10 H: 0.025984
11 H: 0.025984
12 H: 0.026020
; Total Charge is: 0.000000