MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
extern_pt2r12.h
1//
2// extern_pt2r12.h
3//
4// Copyright (C) 2011 Edward Valeev
5//
6// Author: Edward Valeev <evaleev@vt.edu>
7// Maintainer: EV
8//
9// This file is part of the SC Toolkit.
10//
11// The SC 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 SC 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 SC 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_src_lib_chemistry_qc_mbptr12_externpt2r12_h
29#define _mpqc_src_lib_chemistry_qc_mbptr12_externpt2r12_h
30
31#include <chemistry/qc/mbptr12/pt2r12.h>
32#include <chemistry/qc/extern/moinfo.h>
33
34namespace sc {
35
37 class ExternPT2R12 : public Wavefunction {
38 public:
61
62 void compute();
63 int nelectron();
65 double magnetic_moment() const;
66 int value_implemented() const { return 1; }
68 void print(std::ostream& os=ExEnv::out0()) const;
69 void initialize();
70
71 void obsolete();
72
73 private:
74 static ClassDesc class_desc_;
75 static const unsigned int debug_print_ = 0; // set to 1 to print out some debugging info
76
77 // need to initialize with initialize()
78 Ref<PT2R12> pt2r12_;
79
80
81 protected:
82 // provided by the user
84 Ref<ExternMOInfo> orbs_info_;
86
87 std::string cabs_name_;
88 std::string obs_name_;
89 std::string dfbs_name_;
90 std::string f12exp_str_;
91 std::string r12_str_;
92
93 #if defined(MPQC_NEW_FEATURES)
94 std::string singles_str_;
95 std::string partition_str_;
96 std::string cabs_singles_name_;
97 #endif
98
99 bool cabs_contraction_;
100
101 };
102
103
104} // end of namespace sc
105
106#endif // end of header guard
107
108
109// Local Variables:
110// mode: c++
111// c-file-style: "CLJ-CONDENSED"
112// End:
This class is used to contain information about classes.
Definition class.h:147
static std::ostream & out0()
Return an ostream that writes from node 0.
ExternPT2R12 is a PT2R12 wave function computed from external MO info and 2-RDM.
Definition extern_pt2r12.h:37
void compute()
Recompute at least the results that have compute true and are not already computed.
void print(std::ostream &os=ExEnv::out0()) const
Print information about the object.
int value_implemented() const
Definition extern_pt2r12.h:66
void set_desired_value_accuracy(double acc)
Set the accuracy to which the value is to be computed.
ExternPT2R12(const Ref< KeyVal > &kv)
A KeyVal constructor is used to generate a ExternPT2R12 object from the input.
int nelectron()
Returns the number of electrons.
RefSymmSCMatrix density()
Returns the SO density.
void obsolete()
Marks all results as being out of date.
double magnetic_moment() const
Computes the S (or J) magnetic moment of the target state(s), in units of .
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.
Definition matrix.h:265
A template class that maintains references counts.
Definition ref.h:361
A Wavefunction is a MolecularEnergy that utilizies a GaussianBasisSet.
Definition wfn.h:52
Contains all MPQC code up to version 3.
Definition mpqcin.h:14

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