21 vector<GaussianCore> cores;
22 string basis =
"6-311++Gdsds";
23 cores.push_back(
GaussianCore({0,0,0},
"atom_8_basis_" + basis +
".tm"));
24 cores.push_back(
GaussianCore({1.8, 0, 0},
"atom_1_basis_" + basis +
".tm"));
25 cores.push_back(
GaussianCore({-0.44916, 1.743056, 0.0},
"atom_1_basis_" + basis +
".tm"));
36 solver.setInitialCoefficientMatrices(coefficientsUp, coefficientsDown);
37 solver.setConvergenceTreshold(1e-9);
38 solver.setNIterationsMax(1e4);
39 solver.setDensityMixFactor(0.95);
42 cout <<
"Ground state energy: " << solver.energy() << endl;
44 vector<GaussianCore> cores2;
45 cores2.push_back(
GaussianCore({0,0,0},
"atom_8_basis_" + basis +
".tm"));
46 cores2.push_back(
GaussianCore({8,0,0},
"atom_1_basis_" + basis +
".tm"));
47 cores2.push_back(
GaussianCore({-7.999999999971834,2.122871834682184e-5,0},
"atom_1_basis_" + basis +
".tm"));
53 solver2.setDiisEnabled(
true);
54 solver2.setDiisSampleCount(10);
55 solver2.setDiisStartingIteration(20);
56 solver2.setInitialCoefficientMatrices(solver.coeffcientMatrixUp(), solver.coeffcientMatrixDown());
57 solver2.setConvergenceTreshold(1e-9);
58 solver2.setNIterationsMax(1e3);
59 solver2.setDensityMixFactor(0.0);
61 cout << std::setprecision(20);
62 cout <<
"Energy: " << solver2.energy() << endl;
63 cout <<
"Iterations: " << solver2.iterationsUsed() << endl;