MADNESS 0.10.1
CC2.h
Go to the documentation of this file.
1/*
2 * CC2.h
3 *
4 * Created on: Aug 17, 2015
5 * Author: kottmanj
6 */
7
8#ifndef CC2_H_
9#define CC2_H_
10
12#include<madness/chem/SCF.h>
13#include<madness/chem/nemo.h>
15#include<madness/chem/mp3.h>
17#include <madness/mra/mra.h>
18#include <madness/mra/vmra.h>
19#include <madness/mra/lbdeux.h>
20#include <madness/misc/ran.h>
21#include<madness/chem/TDHF.h>
23
24#include "BSHApply.h"
25
26namespace madness {
27
29public:
30
31 CC2(World& world, const CCParameters& cc_param, const TDHFParameters& tdhf_param,
32 const std::shared_ptr<const Nemo> nemo)
33 : world(world),
34 parameters(cc_param),
35 nemo(nemo),
38 tdhf(new TDHF(world, tdhf_param, nemo)) {
39 initialize();
40 }
41
42 CC2(World& world_, const commandlineparser& parser, const std::shared_ptr<Nemo> nemo_)
43 : world(world_),
44 parameters(world_,parser),
45 nemo(nemo_),
48 tdhf(new TDHF(world, parser, nemo)) {
49 initialize();
50 }
51
52 void initialize() {
53 output.section("CC2 Class has been initialized with the following parameters");
54 // set the threshholds
55 // Set Protocoll
56 output("Set Protocol 3D");
57 nemo->get_calc()->set_protocol<3>(world, parameters.thresh_3D());
58 output("Set Protocol 6D");
59 nemo->get_calc()->set_protocol<6>(world, parameters.thresh_6D());
60
63 // Make sure that k is the same in 3d and 6d functions
65 // by default SCF sets the truncate_mode to 1
68 // set initial level to 3 (important to avoid undersampling issues)
69 // the "real initial level" is then 2 since the initial level gets substracted by one if refine is true (which is the default)
78 }
79
80 virtual ~CC2() {}
81
82
83 double value() {
84 return value(nemo->molecule().get_all_coords());
85 }
86
87 double value(const Tensor<double>& x) {
88 solve();
89 return 0.0;
90 }
91
92 void output_calc_info_schema(const std::string model, const double& energy) const;
93
94
95 std::string name() const {return "CC2";};
96
97 static void help() {
98 print_header2("help page for CC2");
99 print("The CC2 code computes correlated ground and excited state energies:\n");
100 print(" - MP2 ground state");
101 print(" - CC2 ground and excited states");
102 print(" - ADC(2) and CIS(D) excited states\n");
103 print("You need a SCF reference calculation from the nemo program. If there no such calculation can");
104 print("be found CC2 will perform its own. If excited states are requested also a CIS calculation is ");
105 print("necessary.\n");
106 print("Note that for correlated calculations the k parameter must be chosen small, typically k=5 or k=6 ");
107 print("because the curse of dimensions make higher k extremely expensive\n");
108 print("You can print all available calculation parameters by running\n");
109 print("cc2 --print_parameters\n");
110 print("You can perform a simple MP2 calculation by running\n");
111 print("cc2 --geometry=h2o.xyz\n");
112 print("provided you have an xyz file in your directory.\n");
113
114 }
115
116 static void print_parameters() {
118 print("\ndefault parameters for the cc2 program are\n");
119 param.print("cc2","end");
120 print("\n\nthe molecular geometry must be specified in a separate block:");
122 }
123
124 virtual bool selftest() {
125 return true;
126 };
127 void
128 plot(const real_function_3d& f, const std::string& msg = "unspecified function") const {
129 plot_plane(world, f, msg);
130 output("Plotted " + msg);
131 }
132
133 /// The World
135 /// Structure holds all the parameters used in the CC2 calculation
137 /// The SCF Calculation
138 std::shared_ptr<const Nemo> nemo;
139 /// The excited state cis calculation
140 std::shared_ptr<TDHF> tdhf;
141 /// The CC Operator Class
142 CCPotentials CCOPS;
143 /// Formated Output (same as used in CC2Potentials structure)
145 /// map Pair struct to vector
147
148 /// solve the CC2 ground state equations, returns the correlation energy
149 void solve();
150
151
152 std::vector<CC_vecfunction>
153 solve_ccs() const;
154
155 /// compute the MP2 correlation energy
156 static double compute_mp2_energy(const Pairs<CCPair>& pairs, const Info& info, const std::string msg="");
157 static double compute_mp2_energy(const std::vector<CCPair>& pairs, const Info& info, const std::string msg="");
158
159 /// compute the CC2 correlation energy
160 static double compute_cc2_energy(const CC_vecfunction& singles, const Pairs<CCPair>& pairs,
161 const Info& info, const std::string msg="");
162 static double compute_cc2_energy(const CC_vecfunction& singles, const std::vector<CCPair>& pairs,
163 const Info& info, const std::string msg="");
164
165 double compute_mp3(const Pairs<CCPair>& mp2pairs, const Info& info) const {
166
167 MP3 mp3(world, info);
168 double mp3_contribution=mp3.mp3_energy_contribution_macrotask_driver(mp2pairs);
169 return mp3_contribution;
170 }
171
172 double
173 solve_cc2(CC_vecfunction& tau, Pairs<CCPair>& u, Info& info) const;
174
175 /// solve the excited state LR-CC2 equations for a given excitation
176
177 /// @param[in] gs_doubles: the ground state doubles
178 /// @param[in] gs_singles: the ground state singles
179 /// @param[in] cis: the CIS singles
180 /// @param[in] excitation: the excitation number
181 /// @return a tuple with the excited state doubles, the excited state singles and the excitation energy
182 std::tuple<Pairs<CCPair>, CC_vecfunction, double>
183 solve_lrcc2(Pairs<CCPair>& gs_doubles, const CC_vecfunction& gs_singles, const CC_vecfunction& cis,
184 const std::size_t excitation, Info& info) const;
185
186 double
187 solve_cispd(Pairs<CCPair>& doubles, const Pairs<CCPair>& mp2_pairs, const CC_vecfunction& cis_singles);
188
189 /// convencience function to iterate the CC2 ground state singles,
190 /// makes the right call on the iterate_singles functions
191 static bool
193 // CCOPS.clear_potentials(singles);
195 Pairs<CCPair> empty;
196 return iterate_singles(world, singles, CC_vecfunction(RESPONSE), doubles,
197 empty, CT_CC2, info.parameters.iter_max_3D(), info);
198 }
199
200 bool
202 MADNESS_ASSERT(singles.type == RESPONSE);
203 // CCOPS.clear_potentials(singles);
205 return iterate_singles(world, singles, CC_vecfunction(UNDEFINED), mp2, x, CT_ADC2, parameters.iter_max_3D(), info);
206 }
207
208 static bool
210 MADNESS_ASSERT(cc2_s.type == PARTICLE);
211 MADNESS_ASSERT(lrcc2_s.type == RESPONSE);
213 // CCOPS.clear_potentials(lrcc2_s);
214 return iterate_singles(world, lrcc2_s, cc2_s, cc2_d, lrcc2_d,
215 CT_LRCC2, info.parameters.iter_max_3D(), info);
216 }
217
218 /// convenience function to iterate the CCS Response singles,
219 /// makes the right call on the iterate_singles functions
220 bool
222 Pairs<CCPair> empty;
223 // CCOPS.clear_potentials(x);
225 return iterate_singles(world, x, CC_vecfunction(PARTICLE), empty, empty, CT_LRCCS, info.parameters.iter_max_3D(), info);
226 }
227
228 /// Iterates the singles equations for CCS, CC2, LRCC2
229 /// The corresponding regulairzation tails of the doubles are updated in every iteration (therefore doubles are not marked as const)
230 /// @param[in] : singles, the singles that are iterated
231 /// @param[in] : singles2, additional set of singles for potential (in LRCC2 this are the Ground State singles)
232 /// @param[in] : gs_doubles, Ground State doubles (Needed for CC2 and LRCC2)
233 /// @param[in] : ex_doubles, Excited State doubles (Needed for LRCC2)
234 /// @param[in] : ctype: the calculation type: CCS, CC2, CC2_response_
235 /// @param[in] : maxiter: maxmial number of iterations
236 /// @param[out]: true if the overall change of the singles is below 10*donv_6D
237 static bool
238 iterate_singles(World& world, CC_vecfunction& singles, const CC_vecfunction singles2, const Pairs<CCPair>& gs_doubles,
239 const Pairs<CCPair>& ex_doubles, const CalcType ctype, const std::size_t maxiter, Info& info);
240
241 /// return the file name for singles
242 static std::string singles_name(const CalcType& ctype, const FuncType& type, int ex=-1) {
243 std::string fname=assign_name(ctype)+"_"+madness::name(type,ex);
244 return fname;
245 }
246
247 /// read singles from file or initialize new ones
248
249 /// type: PARTICLE (cc2) or RESPONSE (lrcc2)
250 /// default_to_zero: if true, initialize with zero functions, otherwise return empty vector
251 /// ex: if type is RESPONSE, the excitation number
252 static CC_vecfunction
253 initialize_singles(World&, const CalcType& ctype, const FuncType type, int ex=-1);
254
255 static CC_vecfunction
256 initialize_singles_to_zero(World& world, const CalcType& ctype, const FuncType type, const Info& info);
257
258 /// read pairs from file or initialize new ones
259 bool initialize_pairs(Pairs<CCPair>& pairs, const CCState ftype, const CalcType ctype, const CC_vecfunction& tau,
260 const CC_vecfunction& x, const size_t extitation, const Info& info) const;
261
262 /// Iterates a pair of the CC2 doubles equations
263 bool
264 iterate_pair(CCPair& pair, const CC_vecfunction& singles = CC_vecfunction(UNDEFINED)) const;
265
266 bool
268
269 static bool
270 iterate_lrcc2_pairs(World& world, const CC_vecfunction& cc2_s, const CC_vecfunction lrcc2_s,
271 Pairs<CCPair>& lrcc2_d, const Info& info);
272
276 MADNESS_ASSERT(pair.bsh_eps == CCOPS.get_epsilon(pair.i, pair.j) + ccs.omega);
277 if (pair.constant_part.is_initialized()) return false; // the CIS(D) constant part does not change because there is no singles iteration (like MP2)
278 // make screening Operator
279 real_convolution_6d Gscreen = BSHOperator<6>(world, sqrt(-2.0 * pair.bsh_eps), parameters.lo(),
281 Gscreen.modified() = true;
282
283 if (parameters.QtAnsatz()) pair.constant_part = CCOPS.make_constant_part_cispd_Qt(pair, ccs, &Gscreen);
284 else pair.constant_part = CCOPS.make_constant_part_cispd(pair, ccs, &Gscreen);
285 save(pair.constant_part, pair.name() + "_const");
286 return true;
287
288 }
289
291 std::cout << assign_name(pair.ctype);
294 MADNESS_ASSERT(pair.bsh_eps == CCOPS.get_epsilon(pair.i, pair.j) + ccs.omega);
295 // make screening Operator
296 real_convolution_6d Gscreen = BSHOperator<6>(world, sqrt(-2.0 * pair.bsh_eps), parameters.lo(),
298 Gscreen.modified() = true;
299
300 if (parameters.QtAnsatz()) pair.constant_part = CCOPS.make_constant_part_cispd_Qt(pair, ccs, &Gscreen);
301 else pair.constant_part = CCOPS.make_constant_part_cispd(pair, ccs, &Gscreen);
302 save(pair.constant_part, pair.name() + "_const");
303 return true;
304
305 }
306
307 /// forward to the other function (converting CCPair to real_function)
308 static Pairs<real_function_6d> compute_local_coupling(const std::vector<CCPair> &vpairs, const Info& info) {
309 // create new pairs structure
310 Pairs<CCPair> pairs;
311 for (auto& tmp_pair : vpairs) pairs.insert(tmp_pair.i, tmp_pair.j, tmp_pair);
312 auto ccpair2function = [](const CCPair& a) {return a.function();};
313 return compute_local_coupling(pairs.convert<real_function_6d>(pairs,ccpair2function), info);
314 };
315
316 /// compute the coupling of singles function if orbitals are localized
317
318 /// @return the coupling terms c_i = -\sum_(j\neq i) f_ij |\phi_j> (for whatever phi is)
319 static std::vector<real_function_3d> compute_local_coupling(const std::vector<real_function_3d>& singles,
320 const Info& info) {
321
322 MADNESS_CHECK_THROW(singles.size()>0,"compute_local_coupling: singles vector is empty");
323 World& world=singles.front().world();
324 auto active=Slice(info.parameters.freeze(),-1);
325 Tensor<double> Fact=info.fock(active,active);
326 for (int i=0; i<Fact.dim(0); ++i) Fact(i,i)=0.0;
327 vector_real_function_3d fock_coupling = madness::transform(world, singles, Fact);
328 return fock_coupling;
329 }
330
331 /// add the coupling terms for local MP2
332
333 /// \sum_{k\neq i} f_ki |u_kj> + \sum_{l\neq j} f_lj |u_il>
335
336
337 double solve_mp2_coupled(Pairs<CCPair> &doubles, Info& info);
338
339 bool check_core_valence_separation(const Tensor<double>& fmat) const;
340
341 /// make sure the orbitals are block diagonalized
342
343 /// changes the orbitals in member variable nemo
344 /// will throw if the fock matrix is not block diagonal
345 /// @return the new fock matrix
347};
348
349
350} /* namespace madness */
351
352#endif /* CC2_H_ */
long dim(int i) const
Returns the size of dimension i.
Definition basetensor.h:147
Definition CC2.h:28
double solve_cispd(Pairs< CCPair > &doubles, const Pairs< CCPair > &mp2_pairs, const CC_vecfunction &cis_singles)
Definition CC2.cc:608
CCMessenger & output
Formated Output (same as used in CC2Potentials structure)
Definition CC2.h:144
static CC_vecfunction initialize_singles_to_zero(World &world, const CalcType &ctype, const FuncType type, const Info &info)
Definition CC2.cc:1358
Tensor< double > enforce_core_valence_separation(const Tensor< double > &fmat)
make sure the orbitals are block diagonalized
Definition CC2.cc:325
bool iterate_ccs_singles(CC_vecfunction &x, Info &info) const
Definition CC2.h:221
static CC_vecfunction initialize_singles(World &, const CalcType &ctype, const FuncType type, int ex=-1)
read singles from file or initialize new ones
Definition CC2.cc:1341
static double compute_mp2_energy(const Pairs< CCPair > &pairs, const Info &info, const std::string msg="")
compute the MP2 correlation energy
Definition CC2.cc:779
static std::string singles_name(const CalcType &ctype, const FuncType &type, int ex=-1)
return the file name for singles
Definition CC2.h:242
virtual bool selftest()
Definition CC2.h:124
CC2(World &world, const CCParameters &cc_param, const TDHFParameters &tdhf_param, const std::shared_ptr< const Nemo > nemo)
Definition CC2.h:31
double solve_mp2_coupled(Pairs< CCPair > &doubles, Info &info)
Definition CC2.cc:390
void output_calc_info_schema(const std::string model, const double &energy) const
Definition CC2.cc:305
World & world
The World.
Definition CC2.h:134
static void help()
Definition CC2.h:97
CCParameters parameters
Structure holds all the parameters used in the CC2 calculation.
Definition CC2.h:136
void solve()
solve the CC2 ground state equations, returns the correlation energy
Definition CC2.cc:21
static bool iterate_cc2_singles(World &world, CC_vecfunction &singles, Pairs< CCPair > &doubles, Info &info)
Definition CC2.h:192
std::tuple< Pairs< CCPair >, CC_vecfunction, double > solve_lrcc2(Pairs< CCPair > &gs_doubles, const CC_vecfunction &gs_singles, const CC_vecfunction &cis, const std::size_t excitation, Info &info) const
solve the excited state LR-CC2 equations for a given excitation
Definition CC2.cc:917
bool update_constant_part_adc2(const CC_vecfunction &ccs, CCPair &pair)
Definition CC2.h:290
bool update_constant_part_cispd(const CC_vecfunction &ccs, CCPair &pair)
Definition CC2.h:273
double compute_mp3(const Pairs< CCPair > &mp2pairs, const Info &info) const
Definition CC2.h:165
CC2(World &world_, const commandlineparser &parser, const std::shared_ptr< Nemo > nemo_)
Definition CC2.h:42
bool iterate_adc2_singles(Pairs< CCPair > &mp2, CC_vecfunction &singles, Pairs< CCPair > &x, Info &info)
Definition CC2.h:201
static void print_parameters()
Definition CC2.h:116
static Pairs< real_function_6d > compute_local_coupling(const std::vector< CCPair > &vpairs, const Info &info)
forward to the other function (converting CCPair to real_function)
Definition CC2.h:308
static double compute_cc2_energy(const CC_vecfunction &singles, const Pairs< CCPair > &pairs, const Info &info, const std::string msg="")
compute the CC2 correlation energy
Definition CC2.cc:748
double value()
Definition CC2.h:83
double solve_cc2(CC_vecfunction &tau, Pairs< CCPair > &u, Info &info) const
Definition CC2.cc:790
std::vector< CC_vecfunction > solve_ccs() const
Definition CC2.cc:375
virtual ~CC2()
Definition CC2.h:80
PairVectorMap triangular_map
map Pair struct to vector
Definition CC2.h:146
static bool iterate_singles(World &world, CC_vecfunction &singles, const CC_vecfunction singles2, const Pairs< CCPair > &gs_doubles, const Pairs< CCPair > &ex_doubles, const CalcType ctype, const std::size_t maxiter, Info &info)
Definition CC2.cc:1118
static bool iterate_lrcc2_pairs(World &world, const CC_vecfunction &cc2_s, const CC_vecfunction lrcc2_s, Pairs< CCPair > &lrcc2_d, const Info &info)
Definition CC2.cc:663
void initialize()
Definition CC2.h:52
static std::vector< real_function_3d > compute_local_coupling(const std::vector< real_function_3d > &singles, const Info &info)
compute the coupling of singles function if orbitals are localized
Definition CC2.h:319
CCPotentials CCOPS
The CC Operator Class.
Definition CC2.h:142
bool check_core_valence_separation(const Tensor< double > &fmat) const
Definition CC2.cc:317
static bool iterate_lrcc2_singles(World &world, const CC_vecfunction &cc2_s, Pairs< CCPair > &cc2_d, CC_vecfunction &lrcc2_s, Pairs< CCPair > lrcc2_d, Info &info)
Definition CC2.h:209
double value(const Tensor< double > &x)
Should return the value of the objective function.
Definition CC2.h:87
bool iterate_pair(CCPair &pair, const CC_vecfunction &singles=CC_vecfunction(UNDEFINED)) const
Iterates a pair of the CC2 doubles equations.
Definition CC2.cc:1011
bool iterate_adc2_pairs(Pairs< CCPair > &cispd, const CC_vecfunction &ccs)
Definition CC2.cc:646
std::shared_ptr< const Nemo > nemo
The SCF Calculation.
Definition CC2.h:138
std::shared_ptr< TDHF > tdhf
The excited state cis calculation.
Definition CC2.h:140
std::string name() const
Definition CC2.h:95
void plot(const real_function_3d &f, const std::string &msg="unspecified function") const
Definition CC2.h:128
bool initialize_pairs(Pairs< CCPair > &pairs, const CCState ftype, const CalcType ctype, const CC_vecfunction &tau, const CC_vecfunction &x, const size_t extitation, const Info &info) const
read pairs from file or initialize new ones
Definition CC2.cc:1370
Definition CCStructures.h:991
std::string name() const
Definition CCStructures.h:1152
size_t i
Definition CCStructures.h:1008
real_function_6d constant_part
the constant part
Definition CCStructures.h:1136
size_t j
Definition CCStructures.h:1009
CCState type
Definition CCStructures.h:1006
double bsh_eps
Definition CCStructures.h:1142
CalcType ctype
Definition CCStructures.h:1007
FunctionDefaults holds default paramaters as static class members.
Definition funcdefaults.h:100
static void set_truncate_mode(int value)
Sets the default truncation mode.
Definition funcdefaults.h:235
static void set_thresh(double value)
Sets the default threshold.
Definition funcdefaults.h:183
static void set_special_level(int value)
Existing functions are unaffected.
Definition funcdefaults.h:206
static void set_k(int value)
Sets the default wavelet order.
Definition funcdefaults.h:170
static void set_initial_level(int value)
Sets the default initial projection level.
Definition funcdefaults.h:200
bool is_initialized() const
Returns true if the function is initialized.
Definition mra.h:167
Definition mp3.h:21
double mp3_energy_contribution_macrotask_driver(const Pairs< CCPair > &mp2pairs) const
compute the MP3 energy contribution, macrotask version
Definition mp3.cc:945
static void print_parameters()
Definition molecule.cc:115
class implementing properties of QC models
Definition QCPropertyInterface.h:11
Convolutions in separated form (including Gaussian)
Definition operator.h:139
bool & modified()
Definition operator.h:186
A slice defines a sub-range or patch of a dimension.
Definition slice.h:103
Definition TDHF.h:209
A tensor is a multidimensional array.
Definition tensor.h:317
A parallel world class.
Definition world.h:132
double(* energy)()
Definition derivatives.cc:58
const int maxiter
Definition gygi_soltion.cc:68
static double u(double r, double c)
Definition he.cc:20
Implements (2nd generation) static load/data balancing for functions.
#define MADNESS_ASSERT(condition)
Assert a condition that should be free of side-effects since in release builds this might be a no-op.
Definition madness_exception.h:134
#define MADNESS_CHECK_THROW(condition, msg)
Check a condition — even in a release build the condition is always evaluated so it can have side eff...
Definition madness_exception.h:207
Main include file for MADNESS and defines Function interface.
Namespace for all elements and tools of MADNESS.
Definition DFParameters.h:10
CalcType
Calculation Types used by CC2.
Definition CCParameters.h:14
@ CT_CC2
Definition CCParameters.h:15
@ CT_LRCC2
Definition CCParameters.h:15
@ CT_LRCCS
Definition CCParameters.h:15
@ CT_CISPD
Definition CCParameters.h:15
@ CT_ADC2
Definition CCParameters.h:15
void print_header2(const std::string &s)
medium section heading
Definition print.cc:54
CCState
Type of Pairs used by CC_Pair2 class.
Definition CCStructures.h:27
@ EXCITED_STATE
Definition CCStructures.h:28
FuncType
Definition ccpairfunction.h:26
@ RESPONSE
Definition ccpairfunction.h:26
@ UNDEFINED
Definition ccpairfunction.h:26
@ PARTICLE
Definition ccpairfunction.h:26
std::vector< Function< TENSOR_RESULT_TYPE(T, R), NDIM > > transform(World &world, const std::vector< Function< T, NDIM > > &v, const Tensor< R > &c, bool fence=true)
Transforms a vector of functions according to new[i] = sum[j] old[j]*c[j,i].
Definition vmra.h:707
std::vector< real_function_3d > vector_real_function_3d
Definition functypedefs.h:94
void plot_plane(World &world, const Function< double, NDIM > &function, const std::string name)
Definition funcplot.h:621
void print(const T &t, const Ts &... ts)
Print items to std::cout (items separated by spaces) and terminate with a new line.
Definition print.h:225
NDIM & f
Definition mra.h:2481
std::string type(const PairType &n)
Definition PNOParameters.h:18
std::string assign_name(const CCState &input)
Assigns strings to enums for formated output.
Definition CCStructures.cc:379
std::string name(const FuncType &type, const int ex=-1)
Definition ccpairfunction.h:28
void save(const Function< T, NDIM > &f, const std::string name)
Definition mra.h:2835
static const double a
Definition nonlinschro.cc:118
Implementation of Krylov-subspace nonlinear equation solver.
Implements most functionality of separated operators.
void clear_response()
clears only potentials of the response
Definition CCStructures.h:837
void clear_all()
deltes all stored potentials
Definition CCStructures.h:827
Definition CCStructures.h:86
void section(const std::string &msg) const
Definition CCStructures.cc:23
Definition CCParameters.h:20
std::size_t iter_max_3D() const
Definition CCParameters.h:138
double thresh_bsh_6D() const
Definition CCParameters.h:120
double thresh_3D() const
Definition CCParameters.h:110
double lo() const
Definition CCParameters.h:106
long freeze() const
Definition CCParameters.h:178
double thresh_6D() const
Definition CCParameters.h:114
bool QtAnsatz() const
Definition CCParameters.h:172
double dmin() const
Definition CCParameters.h:108
void information(World &world) const
print out the parameters
Definition CCStructures.cc:191
void sanity_check(World &world) const
check if parameters are set correct
Definition CCStructures.cc:202
A helper structure which holds a map of functions.
Definition CCStructures.h:334
FuncType type
Definition CCStructures.h:473
double omega
Definition CCStructures.h:474
POD holding some basic functions and some intermediates for the CC2 calculation.
Definition CCStructures.h:919
Tensor< double > fock
Definition CCStructures.h:925
CCIntermediatePotentials intermediate_potentials
Definition CCStructures.h:926
CCParameters parameters
Definition CCStructures.h:923
The interface to be provided by functions to be optimized.
Definition solvers.h:176
Definition CCStructures.h:206
Definition CCStructures.h:246
Pairs< R > convert(const Pairs< T > arg, const opT op) const
convert Pairs<T> to another type
Definition CCStructures.h:255
void insert(int i, int j, const T &pair)
Definition CCStructures.h:296
the TDHF parameter class
Definition TDHF.h:23
very simple command line parser
Definition commandlineparser.h:15
InputParameters param
Definition tdse.cc:203
Defines operations on vectors of Functions.