Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
Functions
unrestricted.cpp File Reference
#include <electronsystems/gaussian/gaussiancore.h>
#include <electronsystems/gaussian/gaussiansystem.h>
#include <solvers/unrestrictedhartreefocksolver.h>
#include <iostream>
#include <unittest++/UnitTest++.h>
Include dependency graph for unrestricted.cpp:

Go to the source code of this file.

Functions

 SUITE (Unrestricted)
 

Function Documentation

SUITE ( Unrestricted  )

Definition at line 12 of file unrestricted.cpp.

12  {
13  TEST(HydrogenMolecule) {
14  vector<GaussianCore> cores;
15  cores.push_back(GaussianCore({0,0,0}, "atom_1_basis_3-21G.tm"));
16  cores.push_back(GaussianCore({1.4,0.0,0}, "atom_1_basis_3-21G.tm"));
17  GaussianSystem system;
18  for(const GaussianCore &core : cores) {
19  system.addCore(core);
20  }
21  UnrestrictedHartreeFockSolver solver(&system);
22  solver.setConvergenceTreshold(1e-12);
23  solver.setNIterationsMax(1e3);
24  solver.setDensityMixFactor(0.5);
25  solver.solve();
26  CHECK_CLOSE(-1.122933363617109, solver.energy(), 1e-6);
27  }
28 
29  TEST(HydrogenMoleculeLongDistance) {
30  vector<GaussianCore> cores;
31  cores.push_back(GaussianCore({0,0,0}, "atom_1_basis_4-31G.tm"));
32  cores.push_back(GaussianCore({100.0,0,0}, "atom_1_basis_4-31G.tm"));
33  GaussianSystem system;
34  for(const GaussianCore &core : cores) {
35  system.addCore(core);
36  }
37  UnrestrictedHartreeFockSolver solver(&system);
38  solver.setConvergenceTreshold(1e-9);
39  solver.setNIterationsMax(1e3);
40  solver.setDensityMixFactor(0.5);
41  solver.solve();
42  CHECK_CLOSE(-0.9964658189712963, solver.energy(), 1e-6);
43  }
44  TEST(Water) {
45  vector<GaussianCore> cores;
46  cores.push_back(GaussianCore({0,0,0}, "atom_8_basis_4-31G.tm"));
47  cores.push_back(GaussianCore({-1.43,1.108,0}, "atom_1_basis_4-31G.tm"));
48  cores.push_back(GaussianCore({1.43,1.108,0}, "atom_1_basis_4-31G.tm"));
49  GaussianSystem system;
50  for(const GaussianCore &core : cores) {
51  system.addCore(core);
52  }
53  UnrestrictedHartreeFockSolver solver(&system);
54  solver.setConvergenceTreshold(1e-12);
55  solver.setNIterationsMax(1e3);
56  solver.setDensityMixFactor(0.5);
57  solver.solve();
58  CHECK_CLOSE(-75.90736859918989, solver.energy(), 1e-6);
59  }
60 }