MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
r12technology.h
1//
2// r12technology.h
3//
4// Copyright (C) 2007 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 _chemistry_qc_mbptr12_r12technology_h
29#define _chemistry_qc_mbptr12_r12technology_h
30
31#include <util/state/state.h>
32#include <chemistry/qc/basis/intdescr.h>
33#include <math/optimize/gaussianfit.h>
34
35namespace sc {
36
37// //////////////////////////////////////////////////////////////////////////
38
40class R12Technology: virtual public SavableState {
41 public:
42
50 enum Projector {Projector_0 = 0,
51 Projector_1 = 1,
52 Projector_2 = 2,
53 Projector_3 = 3};
54 enum StandardApproximation {
55 //StdApprox_A = 0, // is now obsolete
56 StdApprox_Ap = 1,
57 StdApprox_App = 2,
58 StdApprox_B = 3,
59 StdApprox_C = 4,
60 StdApprox_Cp = 5
61 };
62 enum ABSMethod {ABS_CABS = 2,
63 ABS_CABSPlus = 3};
64
67 OrbProdGG_ij = 0,
68 OrbProdGG_pq = 1,
69 };
70
73 OrbProdgg_ij = 0,
74 OrbProdgg_pq = 1,
75 };
76
77 enum PositiveDefiniteB {
78 PositiveDefiniteB_no = 0,
79 PositiveDefiniteB_yes = 1,
80 PositiveDefiniteB_weak = 2
81 };
82
83 enum GeminalAmplitudeAnsatz {
84 GeminalAmplitudeAnsatz_fullopt = 0,
85 GeminalAmplitudeAnsatz_fixed = 1,
86 GeminalAmplitudeAnsatz_scaledfixed = 2
87 };
88
89 enum H0_dk_approx_pauli {
90 H0_dk_approx_pauli_true = 0,
91 H0_dk_approx_pauli_fHf = 1,
92 H0_dk_approx_pauli_fHf_Q = 2,
93 H0_dk_approx_pauli_false = 3
94 };
95
99 class R12Ansatz : virtual public SavableState {
100 public:
145 ~R12Ansatz();
146
148 void print(std::ostream& o =ExEnv::out0()) const;
149
150 R12Technology::Projector projector() const;
151 bool diag() const;
152 R12Technology::GeminalAmplitudeAnsatz amplitudes() const;
153 bool wof() const;
154 R12Technology::OrbitalProduct_GG orbital_product_GG() const;
155 R12Technology::OrbitalProduct_gg orbital_product_gg() const;
156
157 private:
158 R12Technology::Projector projector_;
159 bool diag_;
160 R12Technology::GeminalAmplitudeAnsatz amplitudes_;
161 bool scaled_; //<
162 bool wof_;
163 R12Technology::OrbitalProduct_GG orbital_product_GG_;
164 R12Technology::OrbitalProduct_gg orbital_product_gg_;
165 }; // end of R12Ansatz declaration
166
167
169 private:
170 std::string type_;
176 std::vector<std::string> params_;
177 public:
180 GeminalDescriptor(const std::string& type, const std::vector<std::string> &params);
182 std::string type() const;
183 std::vector<std::string> params() const;
184 void print(std::ostream &o=ExEnv::out0());
185 };
186
187 static bool invalid(const Ref<GeminalDescriptor>& gdesc);
188 static bool R12(const Ref<GeminalDescriptor>& gdesc);
189 static bool STG(const Ref<GeminalDescriptor>& gdesc);
190 static bool G12(const Ref<GeminalDescriptor>& gdesc);
193
199 public:
201 //typedef IntParamsG12::PrimitiveGeminal PrimitiveGeminal;
202 //typedef IntParamsG12::ContractedGeminal ContractedGeminal;
204 //typedef std::vector<ContractedGeminal> CorrelationParameters;
205
206 CorrelationFactor(const std::string& label, const Ref<GeminalDescriptor> &geminaldescriptor);
208 virtual ~CorrelationFactor();
209
210 // return true if this is equivalent to cf
211 virtual bool equiv(const Ref<CorrelationFactor>& cf) const =0;
212
214 const std::string& label() const;
216 virtual unsigned int nfunctions() const;
218 virtual unsigned int nprimitives(unsigned int c) const;
219
221 virtual double value(unsigned int c, double r12) const =0;
222
226 virtual Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int f) const;
230 virtual Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int fbra, unsigned int fket) const;
232 virtual unsigned int max_num_tbint_types() const =0;
233
234 //
235 // These functions are used to map the logical type of integrals ([T1,F12], etc.) to concrete types as produced by TwoBodyInt
236 //
237
255
257 void print(std::ostream& os = ExEnv::out0()) const;
258 Ref<GeminalDescriptor> geminaldescriptor();
259
260 protected:
261 std::string label_;
262 Ref<GeminalDescriptor> geminaldescriptor_;
263
265 virtual void print_params(std::ostream& os, unsigned int f) const;
266
267 };
268
271 public:
273
275 bool equiv(const Ref<CorrelationFactor>& cf) const;
277 unsigned int max_num_tbint_types() const { return 1; }
279 double value(unsigned int c, double r12) const;
281 Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int f) const;
283 Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int fbra, unsigned int fket) const;
284 };
285
288 public:
290
292 bool equiv(const Ref<CorrelationFactor>& cf) const;
294 unsigned int max_num_tbint_types() const { return 4; }
301 Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int f) const;
302 Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int f, unsigned int g) const;
304 double value(unsigned int c, double r12) const;
305 };
306
308 template<class IntParam>
310 typedef typename IntParam::PrimitiveGeminal PrimitiveGeminal;
311 typedef typename IntParam::ContractedGeminal ContractedGeminal;
312 typedef std::vector<ContractedGeminal> ContractedGeminals;
313
314 // 2 parameters are equivalent if their values differ by less than epsilon
315 static double epsilon;
316 static bool equiv(const ContractedGeminals& A,
317 const ContractedGeminals& B);
318
319 private:
320 static bool equiv(const PrimitiveGeminal& A,
321 const PrimitiveGeminal& B);
322 };
323
327 public:
330 typedef IntParamsG12::ContractedGeminal ContractedGeminal;
332 typedef std::vector<ContractedGeminal> CorrelationParameters;
333
334 G12CorrelationFactor(const CorrelationParameters& params, const Ref<GeminalDescriptor> &geminaldescriptor = 0);
335
337 bool equiv(const Ref<CorrelationFactor>& cf) const;
339 unsigned int nfunctions() const;
341 const ContractedGeminal& function(unsigned int c) const;
343 unsigned int nprimitives(unsigned int c) const;
345 const PrimitiveGeminal& primitive(unsigned int c, unsigned int p) const;
347 unsigned int max_num_tbint_types() const { return 6; }
361 Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int f) const;
363 Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int fbra, unsigned int fket) const;
365 double value(unsigned int c, double r12) const;
366
367 private:
368 CorrelationParameters params_;
369
371 void print_params(std::ostream& os, unsigned int f) const;
372
373 };
374
378 public:
381 typedef IntParamsG12::ContractedGeminal ContractedGeminal;
383 typedef std::vector<ContractedGeminal> CorrelationParameters;
384
385 G12NCCorrelationFactor(const CorrelationParameters& params, const Ref<GeminalDescriptor> &geminaldescriptor = 0);
386
388 bool equiv(const Ref<CorrelationFactor>& cf) const;
390 unsigned int nfunctions() const;
392 const ContractedGeminal& function(unsigned int c) const;
394 unsigned int nprimitives(unsigned int c) const;
396 const PrimitiveGeminal& primitive(unsigned int c, unsigned int p) const;
398 unsigned int max_num_tbint_types() const { return 6; }
410 Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int f) const;
412 Ref<TwoBodyIntDescr> tbintdescr(const Ref<Integral>& IF, unsigned int fbra, unsigned int fket) const;
414 double value(unsigned int c, double r12) const;
415
416 static ContractedGeminal product(const ContractedGeminal& A,
417 const ContractedGeminal& B);
418
419 private:
420 CorrelationParameters params_;
421
423 void print_params(std::ostream& os, unsigned int f) const;
424
425 };
426
428 private:
429 const char* invalid_id_; // = "invalid"
430 const char* r12_id_; // = "R12"
431 const char* stg_id_; // = "STG"
432 const char* g12_id_; // = "G12"
433 public:
435 Ref<GeminalDescriptor> null_geminal();
436 Ref<GeminalDescriptor> r12_geminal();
437 Ref<GeminalDescriptor> slater_geminal(double gamma);
438 Ref<GeminalDescriptor> slater_geminal(const std::vector<double> &gamma);
439 Ref<GeminalDescriptor> gaussian_geminal(double gamma);
440 Ref<GeminalDescriptor> contracted_gaussian_geminal(const std::vector<double> &coeff,
441 const std::vector<double> &gamma);
443 };
444
445 template<class CF>
446 static Ref<CF> direct_product(const Ref<CF>& A, const Ref<CF>& B) {
447 const unsigned int nf_A = A->nfunctions();
448 const unsigned int nf_B = B->nfunctions();
449 typedef typename CF::CorrelationParameters CorrParams;
450 CorrParams corrparams;
451 for (int f = 0; f < nf_A; ++f) {
452 for (int g = 0; g < nf_B; ++g) {
453 corrparams.push_back(CF::product(A->function(f), B->function(g)));
454 }
455 }
456 return new CF(corrparams);
457 }
458
459 private:
460
461 // implements KeyVal constructor
462 void init_from_kv(const Ref<KeyVal>& keyval,
463 bool abs_eq_obs = true,
464 bool vbs_eq_obs = true);
465
466 bool abs_eq_obs_;
467 bool vbs_eq_obs_;
468
469 Ref<CorrelationFactor> corrfactor_;
470 StandardApproximation stdapprox_;
471 Ref<R12Ansatz> ansatz_;
472 ABSMethod abs_method_;
473 double abs_lindep_tol_;
474 int abs_nlindep_;
475 unsigned int maxnabs_;
476 bool gbc_;
477 bool ebc_;
478 bool coupling_;
479 bool compute_1rdm_; // compute mp2r12 1e density
480 bool coupling_1rdm_f12b_; // compute coupling contri. to ccsd-f12b 1e density
481 bool omit_P_;
482 H0_dk_approx_pauli H0_dk_approx_pauli_;
483 bool H0_dk_keep_;
484 bool safety_check_;
485 PositiveDefiniteB posdef_B_;
486
487 // for debugging purposes only
488 bool omit_B_;
489
490 // no need to store this guy
491#if 0
492 // determines the weight function used to fit the correlation factor
493 struct GTGFitWeight {
494 typedef enum {TewKlopper, Cusp} Type;
495 };
496 GTGFitWeight::Type gtg_fit_weight_;
497#endif
498
499 public:
500 R12Technology(StateIn&);
656 const Ref<GaussianBasisSet>& bs,
657 const Ref<GaussianBasisSet>& vbs,
658 const Ref<GaussianBasisSet>& abs
659 );
661
663
664 const Ref<CorrelationFactor>& corrfactor() const;
667 unsigned int maxnabs() const;
668 bool gbc() const;
669 bool ebc() const;
670 bool coupling() const;
671 bool compute_1rdm() const;
672 bool coupling_1rdm_f12b() const;
673 ABSMethod abs_method() const;
674 int abs_nlindep() const;
675 double abs_lindep_tol() const;
676 StandardApproximation stdapprox() const;
677 const Ref<R12Ansatz>& ansatz() const;
678 bool spinadapted() const;
679 bool omit_P() const;
680 H0_dk_approx_pauli H0_dk_approx() const;
681 bool H0_dk_keep() const;
682 bool safety_check() const;
683 PositiveDefiniteB posdef_B() const;
684
685 //
686 // these are for debugging only
687 //
688 // omit expensive parts of B
689 bool omit_B() const;
690
691 // This checks if ints is suitable for R12 calculations. Throws, if false.
692 void check_integral_factory(const Ref<Integral>& ints);
693
694 void print(std::ostream&o=ExEnv::out0()) const;
695
696 static Ref<GaussianBasisSet> make_auto_cabs(const Ref<GaussianBasisSet>& bs);
701 static std::string default_cabs_name(const std::string& obs_name);
707 static double default_stg_exponent(const std::string& obs_name);
708};
709
710template <class IntParam> double R12Technology::CorrParamCompare<IntParam>::epsilon(1e-6);
711
712template<class IntParam>
714 const ContractedGeminals& A,
715 const ContractedGeminals& B) {
716 unsigned int nf = A.size();
717 if (nf != B.size())
718 return false;
719
720 for (unsigned int f = 0; f < nf; ++f) {
721 const ContractedGeminal& Af = A[f];
722 const ContractedGeminal& Bf = B[f];
723 unsigned int np = Af.size();
724 if (np != Bf.size())
725 return false;
726 for (unsigned int p = 0; p < np; ++p) {
727 if (!equiv(Af[p], Bf[p]))
728 return false;
729 }
730 }
731
732 return true;
733 }
734
735}
736
737#endif
738
739// Local Variables:
740// mode: c++
741// c-file-style: "CLJ"
742// End:
static std::ostream & out0()
Return an ostream that writes from node 0.
std::pair< double, double > PrimitiveGeminal
std::pair< g, c > as in c * exp( - g*r12^2)
Definition intparams.h:147
CorrelationFactor is a set of one or more two-particle functions of the interparticle distance.
Definition r12technology.h:198
virtual unsigned int nprimitives(unsigned int c) const
Returns the number of primitive functions in contraction c.
virtual void print_params(std::ostream &os, unsigned int f) const
Print out parameters of function f. Base implementation prints nothing.
virtual TwoBodyOper::type tbint_type_t2f12() const
Returns TwoBodyOper::type corresponding to integrals over [T2,f12].
CorrelationFactor(const std::string &label, const Ref< GeminalDescriptor > &geminaldescriptor)
Definitions of primitive and contracted Geminals.
virtual TwoBodyOper::type tbint_type_f12f12_anti() const
Returns TwoBodyOper::type corresponding to integrals over f12*f12' antisymmetrized wrt exponents,...
virtual Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int fbra, unsigned int fket) const
Returns TwoBodyIntDescr needed to compute matrix elements where correlation functions fbra and fket a...
const std::string & label() const
Returns label.
virtual TwoBodyOper::type tbint_type_f12t1f12() const
Returns TwoBodyOper::type corresponding to integrals over [f12,[T1,f12]].
virtual unsigned int nfunctions() const
Returns the number of contracted two-particle functions in the set.
virtual double value(unsigned int c, double r12) const =0
Computes value of function c when electrons are at distance r12.
virtual TwoBodyOper::type tbint_type_t1f12() const
Returns TwoBodyOper::type corresponding to integrals over [T1,f12].
virtual TwoBodyOper::type tbint_type_f12eri() const
Returns TwoBodyOper::type corresponding to integrals over f12/r12.
void print(std::ostream &os=ExEnv::out0()) const
print the correlation factor
virtual TwoBodyOper::type tbint_type_f12f12() const
Returns TwoBodyOper::type corresponding to integrals over f12^2.
virtual Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int f) const
Returns TwoBodyIntDescr needed to compute matrix elements where correlation function f appears in eit...
virtual TwoBodyOper::type tbint_type_eri() const
Returns TwoBodyOper::type corresponding to electron repulsion integrals.
virtual unsigned int max_num_tbint_types() const =0
Returns the maximum number of two-body integral types produced by the appropriate integral evaluator.
virtual TwoBodyOper::type tbint_type_f12() const
Returns TwoBodyOper::type corresponding to integrals over correlation operator.
G12CorrelationFactor stands for Gaussian geminals correlation factor, usable with methods that requir...
Definition r12technology.h:326
IntParamsG12::PrimitiveGeminal PrimitiveGeminal
Definitions of primitive and contracted Geminals.
Definition r12technology.h:329
Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int f) const
Overload of CorrelationFactor::tbintdescr(f)
double value(unsigned int c, double r12) const
Implementation of CorrelationFactor::value()
const PrimitiveGeminal & primitive(unsigned int c, unsigned int p) const
Returns std::pair<primitive_parameter,coefficient> in primitive p of contraction c.
TwoBodyOper::type tbint_type_f12t1f12() const
Reimplementation of CorrelationFactor::tbint_type_f12t1f12()
TwoBodyOper::type tbint_type_f12f12() const
Reimplementation of CorrelationFactor::tbint_type_f12f12()
unsigned int max_num_tbint_types() const
Implementation of CorrelationFactor::max_num_tbint_types()
Definition r12technology.h:347
TwoBodyOper::type tbint_type_t1f12() const
Reimplementation of CorrelationFactor::tbint_type_t1f12()
unsigned int nfunctions() const
Reimplementation of CorrelationFactor::nfunctions()
TwoBodyOper::type tbint_type_f12() const
Reimplementation of CorrelationFactor::tbint_type_f12()
std::vector< ContractedGeminal > CorrelationParameters
Vector of contracted 2 particle functions.
Definition r12technology.h:332
const ContractedGeminal & function(unsigned int c) const
Returns contracted function c.
Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int fbra, unsigned int fket) const
Overload of CorrelationFactor::tbintdescr(fbra,fket)
TwoBodyOper::type tbint_type_t2f12() const
Reimplementation of CorrelationFactor::tbint_type_t2f12()
unsigned int nprimitives(unsigned int c) const
Reimplementation of CorrelationFactor::nprimitives()
TwoBodyOper::type tbint_type_f12eri() const
Reimplementation of CorrelationFactor::tbint_type_f12eri()
bool equiv(const Ref< CorrelationFactor > &cf) const
Implementation of CorrelationFactor::equiv()
G12NCCorrelationFactor stands for Gaussian geminals correlation factor, usable with methods that do n...
Definition r12technology.h:377
TwoBodyOper::type tbint_type_f12f12_anti() const
Reimplementation of CorrelationFactor::tbint_type_f12f12_anti()
TwoBodyOper::type tbint_type_f12() const
Reimplementation of CorrelationFactor::tbint_type_f12()
std::vector< ContractedGeminal > CorrelationParameters
Vector of contracted 2 particle functions.
Definition r12technology.h:383
TwoBodyOper::type tbint_type_f12eri() const
Reimplementation of CorrelationFactor::tbint_type_f12eri()
unsigned int nfunctions() const
Reimplementation of CorrelationFactor::nfunctions()
const PrimitiveGeminal & primitive(unsigned int c, unsigned int p) const
Returns std::pair<primitive_parameter,coefficient> in primitive p of contraction c.
TwoBodyOper::type tbint_type_f12f12() const
Reimplementation of CorrelationFactor::tbint_type_f12f12()
TwoBodyOper::type tbint_type_f12t1f12() const
Reimplementation of CorrelationFactor::tbint_type_f12t1f12()
const ContractedGeminal & function(unsigned int c) const
Returns contracted function c.
bool equiv(const Ref< CorrelationFactor > &cf) const
Implementation of CorrelationFactor::equiv()
double value(unsigned int c, double r12) const
Implementation of CorrelationFactor::value()
Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int f) const
Overload of CorrelationFactor::tbintdescr(f)
Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int fbra, unsigned int fket) const
Overload of CorrelationFactor::tbintdescr(fbra,fket)
unsigned int max_num_tbint_types() const
Implementation of CorrelationFactor::max_num_tbint_types()
Definition r12technology.h:398
unsigned int nprimitives(unsigned int c) const
Reimplementation of CorrelationFactor::nprimitives()
IntParamsG12::PrimitiveGeminal PrimitiveGeminal
Definitions of primitive and contracted Geminals.
Definition r12technology.h:380
Definition r12technology.h:427
Definition r12technology.h:168
NullCorrelationFactor stands for no correlation factor; only for test.
Definition r12technology.h:270
bool equiv(const Ref< CorrelationFactor > &cf) const
Implementation of CorrelationFactor::equiv()
Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int fbra, unsigned int fket) const
Overload of CorrelationFactor::tbintdescr(fbra,fket)
unsigned int max_num_tbint_types() const
Implementation of CorrelationFactor::max_num_tbint_types()
Definition r12technology.h:277
Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int f) const
Overload of CorrelationFactor::tbintdescr(f)
double value(unsigned int c, double r12) const
Implementation of CorrelationFactor::value()
R12Ansatz specifies the manner in which the R12 geminals are constructed.
Definition r12technology.h:99
void print(std::ostream &o=ExEnv::out0()) const
Print the object.
R12Ansatz(const Ref< KeyVal > &)
The KeyVal constructor.
R12Ansatz(StateIn &)
The StateIn constructor.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
R12Ansatz()
The default constructor creates orbital-invariant ansatz with projector 2.
R12CorrelationFactor stands for no correlation factor.
Definition r12technology.h:287
Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int f, unsigned int g) const
Returns TwoBodyIntDescr needed to compute matrix elements where correlation functions fbra and fket a...
TwoBodyOper::type tbint_type_f12() const
Reimplementation of CorrelationFactor::tbint_type_f12()
double value(unsigned int c, double r12) const
Implementation of CorrelationFactor::value()
bool equiv(const Ref< CorrelationFactor > &cf) const
Implementation of CorrelationFactor::equiv()
unsigned int max_num_tbint_types() const
Implementation of CorrelationFactor::max_num_tbint_types()
Definition r12technology.h:294
TwoBodyOper::type tbint_type_t2f12() const
Reimplementation of CorrelationFactor::tbint_type_t2f12()
TwoBodyOper::type tbint_type_t1f12() const
Reimplementation of CorrelationFactor::tbint_type_t1f12()
Ref< TwoBodyIntDescr > tbintdescr(const Ref< Integral > &IF, unsigned int f) const
Returns TwoBodyIntDescr needed to compute matrix elements where correlation function f appears in eit...
R12Technology describes technical features of the R12 approach.
Definition r12technology.h:40
OrbitalProduct_GG
geminal generating space
Definition r12technology.h:66
void print(std::ostream &o=ExEnv::out0()) const
Print the object.
static std::string default_cabs_name(const std::string &obs_name)
tries to translate a library basis set label to the corresponding default value for the CABS
Projector
Projector of R12 methods: 0: Q_{12} = 1 1: Q_{12} = (1 - P_1)(1 - P_2) 2: Q_{12} = (1 - V_1 V_2)(1 - ...
Definition r12technology.h:50
static double single_slater_exponent(const Ref< GeminalDescriptor > &gdesc)
Returns a single Slater type geminal exponent. Throws if geminal is not of Slater type and if there i...
static double default_stg_exponent(const std::string &obs_name)
tries to translate a library basis set label to the corresponding default value for the F12 exponent
OrbitalProduct_gg
space of orbital products from which geminal substitutions are allowed
Definition r12technology.h:72
R12Technology(const Ref< KeyVal > &)
The KeyVal constructor.
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
void corrfactor(const Ref< CorrelationFactor > &)
this changes the correlation factor
The base class for all reference counted objects.
Definition ref.h:192
A template class that maintains references counts.
Definition ref.h:361
Base class for objects that can save/restore state.
Definition state.h:45
Restores fundamental and user-defined types from images created with StateOut.
Definition statein.h:79
Serializes fundamental and user-defined types.
Definition stateout.h:71
Contains all MPQC code up to version 3.
Definition mpqcin.h:14
Compares CorrelationParamaters corresponding to IntParam.
Definition r12technology.h:309
type
types of known two-body operators
Definition operator.h:318

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