MADNESS  version 0.9
response.h
Go to the documentation of this file.
1 /*
2  This file is part of MADNESS.
3 
4  Copyright (C) 2007,2010 Oak Ridge National Laboratory
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 
20  For more information please contact:
21 
22  Robert J. Harrison
23  Oak Ridge National Laboratory
24  One Bethel Valley Road
25  P.O. Box 2008, MS-6367
26 
27  email: harrisonrj@ornl.gov
28  tel: 865-241-3937
29  fax: 865-572-0680
30 
31 
32  $Id$
33 */
34 
35 
36 #ifndef MADNESS_RESPONSE_H
37 #define MADNESS_RESPONSE_H
38 
41 
42 #include <madness/mra/mra.h>
43 #include <vector>
44 #include <tkato/scf.h>
45 #include <tkato/molsys.h>
46 
48 {
51  int axis;
52  double freq;
53 
55  : world(world), op(op), axis(axis), freq(freq) {}
56 };
57 
59 {
61  SCF & calc;
62  double freq;
65  int nXY;
66 
67  CoupledPurturbation (madness::World & world, SCF& calc, double freq, bool enableTD = false)
68  : world(world), calc(calc), freq(freq), rmo(3), Vrmo(3), nXY(enableTD?1:2) {}
69 
70  void guess_excite (int axis);
71  void project_diag_space (int axis);
72  vecfuncT calcBSH (vecfuncT & rmo, double eval);
73  double max_norm (int axis);
74  void make_vpsi (int axis);
75  void solve (int axis, PurturbationOperator & purturb);
76  void dipole_response ();
77 };
78 
79 #endif
80 
double max_norm(int axis)
Definition: response.cc:59
madness::Function< double, 3 > & op
Definition: response.h:50
SCF & calc
SCF object including solved MOs with HF/DFT.
Definition: response.h:61
Main include file for MADNESS and defines Function interface.
MolecularSystem Vrsys
potential applied virtual orbitals
Definition: response.h:64
madness::World & world
Definition: response.h:49
double freq
Definition: response.h:52
vecfuncT calcBSH(vecfuncT &rmo, double eval)
Definition: response.cc:113
CoupledPurturbation(madness::World &world, SCF &calc, double freq, bool enableTD=false)
Definition: response.h:67
PurturbationOperator(madness::World &world, madness::Function< double, 3 > op, int axis, double freq)
Definition: response.h:54
void guess_excite(int axis)
Definition: response.cc:15
double freq
frequency
Definition: response.h:62
madness::World & world
World object.
Definition: response.h:60
int axis
Definition: response.h:51
void make_vpsi(int axis)
Definition: response.cc:79
Definition: molsys.h:46
A parallel world with full functionality wrapping an MPI communicator.
Definition: worldfwd.h:416
Definition: response.h:47
void dipole_response()
Definition: response.cc:136
void solve(int axis, PurturbationOperator &purturb)
Definition: response.cc:119
Definition: tkato/SCF.h:52
int nXY
Tamm-Dancoff 1: ON 2: OFF.
Definition: response.h:65
represents molecular system
MolecularSystem rsys
virtual orbitals
Definition: response.h:63
Definition: response.h:58
void project_diag_space(int axis)
Definition: response.cc:37
std::vector< Function< double, 3 > > vecfuncT
Definition: tdhf_CIS.h:75