|
18 | 18 | from pyscf import gto
|
19 | 19 | from pyscf import lib
|
20 | 20 | from pyscf import dft
|
| 21 | +from pyscf import scf |
21 | 22 | try:
|
22 | 23 | from pyscf.dispersion import dftd3, dftd4
|
23 | 24 | except ImportError:
|
@@ -639,6 +640,88 @@ def test_init(self):
|
639 | 640 | self.assertTrue(isinstance(mol_u.DKS(), dft.dks.UDKS))
|
640 | 641 | #TODO: self.assertTrue(isinstance(dft.X2C(mol_r), x2c.dft.UKS))
|
641 | 642 |
|
| 643 | + def test_to_hf(self): |
| 644 | + self.assertEqual(dft.RKS(h2o).to_rhf().__class__, scf.rhf.RHF) |
| 645 | + self.assertEqual(dft.RKS(h2o).to_uhf().__class__, scf.uhf.UHF) |
| 646 | + self.assertEqual(dft.RKS(h2o).to_ghf().__class__, scf.ghf.GHF) |
| 647 | + self.assertEqual(dft.RKS(h2o).to_hf() .__class__, scf.rhf.RHF) |
| 648 | + self.assertEqual(dft.RKS(h2o).to_rks().__class__, dft.rks.RKS) |
| 649 | + self.assertEqual(dft.RKS(h2o).to_uks().__class__, dft.uks.UKS) |
| 650 | + self.assertEqual(dft.RKS(h2o).to_gks().__class__, dft.gks.GKS) |
| 651 | + |
| 652 | + self.assertEqual(dft.UKS(h2o).to_rhf().__class__, scf.rhf.RHF) |
| 653 | + self.assertEqual(dft.UKS(h2o).to_uhf().__class__, scf.uhf.UHF) |
| 654 | + self.assertEqual(dft.UKS(h2o).to_ghf().__class__, scf.ghf.GHF) |
| 655 | + self.assertEqual(dft.UKS(h2o).to_hf() .__class__, scf.uhf.UHF) |
| 656 | + self.assertEqual(dft.UKS(h2o).to_rks().__class__, dft.rks.RKS) |
| 657 | + self.assertEqual(dft.UKS(h2o).to_uks().__class__, dft.uks.UKS) |
| 658 | + self.assertEqual(dft.UKS(h2o).to_gks().__class__, dft.gks.GKS) |
| 659 | + |
| 660 | + self.assertEqual(dft.GKS(h2o).to_ghf().__class__, scf.ghf.GHF) |
| 661 | + self.assertEqual(dft.GKS(h2o).to_hf() .__class__, scf.ghf.GHF) |
| 662 | + self.assertEqual(dft.GKS(h2o).to_gks().__class__, dft.gks.GKS) |
| 663 | + |
| 664 | + self.assertEqual(dft.RKS(h2o).density_fit().to_rhf().__class__, scf.rhf.RHF(h2o).density_fit().__class__) |
| 665 | + self.assertEqual(dft.RKS(h2o).density_fit().to_uhf().__class__, scf.uhf.UHF(h2o).density_fit().__class__) |
| 666 | + self.assertEqual(dft.RKS(h2o).density_fit().to_ghf().__class__, scf.ghf.GHF(h2o).density_fit().__class__) |
| 667 | + self.assertEqual(dft.RKS(h2o).density_fit().to_hf() .__class__, scf.rhf.RHF(h2o).density_fit().__class__) |
| 668 | + self.assertEqual(dft.RKS(h2o).density_fit().to_rks().__class__, dft.rks.RKS(h2o).density_fit().__class__) |
| 669 | + self.assertEqual(dft.RKS(h2o).density_fit().to_uks().__class__, dft.uks.UKS(h2o).density_fit().__class__) |
| 670 | + self.assertEqual(dft.RKS(h2o).density_fit().to_gks().__class__, dft.gks.GKS(h2o).density_fit().__class__) |
| 671 | + |
| 672 | + self.assertEqual(dft.UKS(h2o).density_fit().to_rhf().__class__, scf.rhf.RHF(h2o).density_fit().__class__) |
| 673 | + self.assertEqual(dft.UKS(h2o).density_fit().to_uhf().__class__, scf.uhf.UHF(h2o).density_fit().__class__) |
| 674 | + self.assertEqual(dft.UKS(h2o).density_fit().to_ghf().__class__, scf.ghf.GHF(h2o).density_fit().__class__) |
| 675 | + self.assertEqual(dft.UKS(h2o).density_fit().to_hf() .__class__, scf.uhf.UHF(h2o).density_fit().__class__) |
| 676 | + self.assertEqual(dft.UKS(h2o).density_fit().to_rks().__class__, dft.rks.RKS(h2o).density_fit().__class__) |
| 677 | + self.assertEqual(dft.UKS(h2o).density_fit().to_uks().__class__, dft.uks.UKS(h2o).density_fit().__class__) |
| 678 | + self.assertEqual(dft.UKS(h2o).density_fit().to_gks().__class__, dft.gks.GKS(h2o).density_fit().__class__) |
| 679 | + |
| 680 | + self.assertEqual(dft.GKS(h2o).density_fit().to_ghf().__class__, scf.ghf.GHF(h2o).density_fit().__class__) |
| 681 | + self.assertEqual(dft.GKS(h2o).density_fit().to_hf() .__class__, scf.ghf.GHF(h2o).density_fit().__class__) |
| 682 | + self.assertEqual(dft.GKS(h2o).density_fit().to_gks().__class__, dft.gks.GKS(h2o).density_fit().__class__) |
| 683 | + |
| 684 | + def test_to_ks(self): |
| 685 | + self.assertEqual(scf.RHF(h2o).to_rhf().__class__, scf.rhf.RHF) |
| 686 | + self.assertEqual(scf.RHF(h2o).to_uhf().__class__, scf.uhf.UHF) |
| 687 | + self.assertEqual(scf.RHF(h2o).to_ghf().__class__, scf.ghf.GHF) |
| 688 | + self.assertEqual(scf.RHF(h2o).to_ks() .__class__, dft.rks.RKS) |
| 689 | + self.assertEqual(scf.RHF(h2o).to_rks().__class__, dft.rks.RKS) |
| 690 | + self.assertEqual(scf.RHF(h2o).to_uks().__class__, dft.uks.UKS) |
| 691 | + self.assertEqual(scf.RHF(h2o).to_gks().__class__, dft.gks.GKS) |
| 692 | + |
| 693 | + self.assertEqual(scf.UHF(h2o).to_rhf().__class__, scf.rhf.RHF) |
| 694 | + self.assertEqual(scf.UHF(h2o).to_uhf().__class__, scf.uhf.UHF) |
| 695 | + self.assertEqual(scf.UHF(h2o).to_ghf().__class__, scf.ghf.GHF) |
| 696 | + self.assertEqual(scf.UHF(h2o).to_ks() .__class__, dft.uks.UKS) |
| 697 | + self.assertEqual(scf.UHF(h2o).to_rks().__class__, dft.rks.RKS) |
| 698 | + self.assertEqual(scf.UHF(h2o).to_uks().__class__, dft.uks.UKS) |
| 699 | + self.assertEqual(scf.UHF(h2o).to_gks().__class__, dft.gks.GKS) |
| 700 | + |
| 701 | + self.assertEqual(scf.GHF(h2o).to_ghf().__class__, scf.ghf.GHF) |
| 702 | + self.assertEqual(scf.GHF(h2o).to_ks() .__class__, dft.gks.GKS) |
| 703 | + self.assertEqual(scf.GHF(h2o).to_gks().__class__, dft.gks.GKS) |
| 704 | + |
| 705 | + self.assertEqual(scf.RHF(h2o).density_fit().to_rhf().__class__, scf.rhf.RHF(h2o).density_fit().__class__) |
| 706 | + self.assertEqual(scf.RHF(h2o).density_fit().to_uhf().__class__, scf.uhf.UHF(h2o).density_fit().__class__) |
| 707 | + self.assertEqual(scf.RHF(h2o).density_fit().to_ghf().__class__, scf.ghf.GHF(h2o).density_fit().__class__) |
| 708 | + self.assertEqual(scf.RHF(h2o).density_fit().to_ks() .__class__, dft.rks.RKS(h2o).density_fit().__class__) |
| 709 | + self.assertEqual(scf.RHF(h2o).density_fit().to_rks().__class__, dft.rks.RKS(h2o).density_fit().__class__) |
| 710 | + self.assertEqual(scf.RHF(h2o).density_fit().to_uks().__class__, dft.uks.UKS(h2o).density_fit().__class__) |
| 711 | + self.assertEqual(scf.RHF(h2o).density_fit().to_gks().__class__, dft.gks.GKS(h2o).density_fit().__class__) |
| 712 | + |
| 713 | + self.assertEqual(scf.UHF(h2o).density_fit().to_rhf().__class__, scf.rhf.RHF(h2o).density_fit().__class__) |
| 714 | + self.assertEqual(scf.UHF(h2o).density_fit().to_uhf().__class__, scf.uhf.UHF(h2o).density_fit().__class__) |
| 715 | + self.assertEqual(scf.UHF(h2o).density_fit().to_ghf().__class__, scf.ghf.GHF(h2o).density_fit().__class__) |
| 716 | + self.assertEqual(scf.UHF(h2o).density_fit().to_ks() .__class__, dft.uks.UKS(h2o).density_fit().__class__) |
| 717 | + self.assertEqual(scf.UHF(h2o).density_fit().to_rks().__class__, dft.rks.RKS(h2o).density_fit().__class__) |
| 718 | + self.assertEqual(scf.UHF(h2o).density_fit().to_uks().__class__, dft.uks.UKS(h2o).density_fit().__class__) |
| 719 | + self.assertEqual(scf.UHF(h2o).density_fit().to_gks().__class__, dft.gks.GKS(h2o).density_fit().__class__) |
| 720 | + |
| 721 | + self.assertEqual(scf.GHF(h2o).density_fit().to_ghf().__class__, scf.ghf.GHF(h2o).density_fit().__class__) |
| 722 | + self.assertEqual(scf.GHF(h2o).density_fit().to_ks() .__class__, dft.gks.GKS(h2o).density_fit().__class__) |
| 723 | + self.assertEqual(scf.GHF(h2o).density_fit().to_gks().__class__, dft.gks.GKS(h2o).density_fit().__class__) |
| 724 | + |
642 | 725 | if __name__ == "__main__":
|
643 | 726 | print("Full Tests for H2O")
|
644 | 727 | unittest.main()
|
0 commit comments