MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
taclscf.hpp
1//
2// taclscf.hpp
3//
4// Copyright (C) 2013 Drew Lewis
5//
6// Authors: Drew Lewis
7// Maintainer: Drew Lewis and Edward Valeev
8//
9// This file is part of the MPQC Toolkit.
10//
11// The MPQC Toolkit is free software; you can redistribute it and/or modify
12// it under the terms of the GNU Library General Public License as published by
13// the Free Software Foundation; either version 2, or (at your option)
14// any later version.
15//
16// The MPQC Toolkit is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU Library General Public License for more details.
20//
21// You should have received a copy of the GNU Library General Public License
22// along with the MPQC Toolkit; see the file COPYING.LIB. If not, write to
23// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24//
25// The U.S. Government is granted a limited license as per AL 91-7.
26//
27
28#ifndef _MPQC_CHEMISTRY_QC_SCF_TACLSCF_HPP_
29#define _MPQC_CHEMISTRY_QC_SCF_TACLSCF_HPP_
30
31#include <chemistry/qc/scf/tascf.hpp>
32
33namespace mpqc{
34namespace TA {
35
39 class CLSCF : public SCF {
40 public :
41 typedef SCF::TAMatrix TAMatrix;
42
45 virtual ~CLSCF();
46
47 virtual void compute() override;
48
50 virtual const TAMatrix& rdm1() override final;
51
53 virtual double scf_energy() override final;
54
55 virtual const TAMatrix& rdm1(sc::SpinCase1 s);
56
57 protected:
58
59 // Will call Wavefunction::ao_density() and check for initialization
60 // if not initialized it will use SOAD guess to initialize
61 virtual TAMatrix& ao_density() final;
62
63 // Computes the energy of a given scf iteration
64 double iter_energy();
65
66 TAMatrix Coeff_; // Coefficients for density matrix
67
68 private:
69 static sc::ClassDesc class_desc_;
70 }; // Class CLSCF
71
72} // namespace TA
73} // namespace mpqc
74
75#endif /* _MPQC_CHEMISTRY_QC_SCF_TACLSCF_HPP_ */
The taclscf class is the base class for implementing self-consistent proceedure for closed-shell mole...
Definition taclscf.hpp:39
virtual void compute() override
Recompute at least the results that have compute true and are not already computed.
virtual const TAMatrix & rdm1() override final
Return the computed AO density.
CLSCF(const sc::Ref< sc::KeyVal > &kval)
Key Value constructor .
virtual double scf_energy() override final
Return the scf enengy computed to the desired accuracy level.
virtual TAMatrix & ao_density() final
Returns reference to rdm1_.result_noupdate(), but guarantees nothing about its computed status.
Definition tascf.hpp:39
A template class that maintains references counts.
Definition ref.h:361
Contains new MPQC code since version 3.
Definition integralenginepool.hpp:37
Contains all MPQC code up to version 3.
Definition mpqcin.h:14

Generated at Wed Sep 25 2024 02:45:30 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.