21 xoperators.push_back(fx);
23 xoperators.push_back(fy);
25 xoperators.push_back(fz);
27 else if(exop ==
"dipole+"){
29 xoperators.push_back(fr);
31 xoperators.push_back(fx);
33 xoperators.push_back(fy);
35 xoperators.push_back(fz);
37 else if(exop ==
"quadrupole"){
39 xoperators.push_back(fx);
41 xoperators.push_back(fy);
43 xoperators.push_back(fz);
45 xoperators.push_back(fxy);
47 xoperators.push_back(fyz);
49 xoperators.push_back(fzz);
51 xoperators.push_back(fyy);
53 xoperators.push_back(fxx);
55 xoperators.push_back(fxz);
57 else if(exop ==
"quadrupole"){
59 xoperators.push_back(fr);
61 xoperators.push_back(fx);
63 xoperators.push_back(fy);
65 xoperators.push_back(fz);
67 xoperators.push_back(fxy);
69 xoperators.push_back(fyz);
71 xoperators.push_back(fxz);
73 else if(exop ==
"C2v"){
79 else if(exop ==
"C2h"){
86 else if(exop ==
"D2h"){
97 else if(exop ==
"C2"){
101 else if(exop ==
"D3"){
107 else if(exop==
"C3v"){
113 else if(exop==
"benzene"){
122 else if(exop==
"D2d"){
131 std::cout <<
"exop keyword " << exop <<
"is not known" << std::endl;
142 static double x_function(
const coord_3d &r){
return r[0];}
143 static double y_function(
const coord_3d &r){
return r[1];}
144 static double z_function(
const coord_3d &r){
return r[2];}
146 static double xy_function(
const coord_3d &r){
return r[0]*r[1];}
147 static double xz_function(
const coord_3d &r){
return r[0]*r[2];}
148 static double yz_function(
const coord_3d &r){
return r[1]*r[2];}
149 static double xx_yy_function(
const coord_3d &r){
return r[0]*r[0]-r[1]*r[1];}
150 static double xx_yy_2zz_function(
const coord_3d &r){
return r[0]*r[0]+r[1]*r[1]-2.0*r[3]*r[3];}
151 static double zz_function(
const coord_3d &r){
return r[2]*r[2];}
152 static double xx_function(
const coord_3d &r){
return r[0]*r[0];}
153 static double yy_function(
const coord_3d &r){
return r[1]*r[1];}
155 static double r_function(
const coord_3d &r){
return sqrt(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]);}
156 static double rr_function(
const coord_3d &r){
return r[0]*r[0]+r[1]*r[1]+r[2]*r[2];}
158 static double sp30(
const coord_3d &r){
return r_function(r)+r[0]+r[1]+r[2];}
159 static double sp31(
const coord_3d &r){
return r_function(r)+r[0]-r[1]-r[2];}
160 static double sp32(
const coord_3d &r){
return r_function(r)-r[0]+r[1]-r[2];}
161 static double sp33(
const coord_3d &r){
return r_function(r)-r[0]-r[1]+r[2];}
163 static double f_seqop(
const coord_3d &r) {
return (x_function(r)+y_function(r)+z_function(r)+r_function(r));}
165 static double xxx_function(
const coord_3d &r){
return r[0]*r[0]*r[0]; }
166 static double yyy_function(
const coord_3d &r){
return r[1]*r[1]*r[1]; }
167 static double zzz_function(
const coord_3d &r){
return r[2]*r[2]*r[2]; }
168 static double xyy_function(
const coord_3d &r){
return r[0]*r[1]*r[1]; }
169 static double xxy_function(
const coord_3d &r){
return r[0]*r[0]*r[1]; }
170 static double xzz_function(
const coord_3d &r){
return r[0]*r[2]*r[2]; }
171 static double xxz_function(
const coord_3d &r){
return r[0]*r[0]*r[2]; }
172 static double yzz_function(
const coord_3d &r){
return r[1]*r[2]*r[2]; }
173 static double yyz_function(
const coord_3d &r){
return r[1]*r[1]*r[2]; }
174 static double xyz_function(
const coord_3d &r){
return r[0]*r[1]*r[2]; }
181 static double c2v_Ag(
const coord_3d &r){
return rr_function(r)+xy_function(r);}
182 static double c2v_Bg(
const coord_3d &r){
return xy_function(r)+yz_function(r);}
183 static double c2v_Au(
const coord_3d &r){
return z_function(r)+zzz_function(r)+xyz_function(r)+xxz_function(r)+yyz_function(r);}
184 static double c2v_Bu(
const coord_3d &r){
return x_function(r)+y_function(r)+xzz_function(r)+yzz_function(r)+xxy_function(r)+xyy_function(r)+xxx_function(r)+yyy_function(r);}
188 static double d2h_Ag (
const coord_3d &r){
return rr_function(r) ;}
189 static double d2h_B1g (
const coord_3d &r){
return xy_function(r) ;}
190 static double d2h_B2g (
const coord_3d &r){
return xz_function(r) ;}
191 static double d2h_B3g (
const coord_3d &r){
return yz_function(r) ;}
192 static double d2h_Au (
const coord_3d &r){
return xyz_function(r);}
193 static double d2h_B1u (
const coord_3d &r){
return x_function(r)+zzz_function(r)+yyz_function(r)+xzz_function(r) ;}
194 static double d2h_B2u (
const coord_3d &r){
return y_function(r)+yzz_function(r)+xxy_function(r)+yyy_function(r) ;}
195 static double d2h_B3u (
const coord_3d &r){
return z_function(r)+xzz_function(r)+xyy_function(r)+xxx_function(r) ;}
201 static double c2_A(
const coord_3d &r){
return z_function(r)+rr_function(r)+xy_function(r)+zzz_function(r)+xyz_function(r)+yyz_function(r)+xxz_function(r);}
202 static double c2_B(
const coord_3d &r){
return x_function(r)+y_function(r)+yz_function(r)+xz_function(r)+xzz_function(r)+yzz_function(r)+xxy_function(r)+xyy_function(r)+xxx_function(r)+yyy_function(r);}
205 static double c2v_A1(
const coord_3d &r){
return z_function(r)+xx_function(r)+yy_function(r)+zz_function(r)+xxz_function(r)+yyz_function(r)+zzz_function(r) ;}
206 static double c2v_A2(
const coord_3d &r){
return xy_function(r)+xyz_function(r) ;}
207 static double c2v_B1(
const coord_3d &r){
return x_function(r)+xz_function(r)+xzz_function(r)+xxx_function(r)+xyy_function(r);}
208 static double c2v_B2(
const coord_3d &r){
return y_function(r)+yz_function(r)+yzz_function(r)+yyy_function(r)+xxy_function(r);}
213 static double d3_A1(
const coord_3d &r){
return rr_function(r)+xxx_function(r)-3.0*xyy_function(r);}
214 static double d3_A2(
const coord_3d &r){
return z_function(r)+zzz_function(r)+3.0*xxy_function(r)-yyy_function(r)+xxz_function(r)+yyz_function(r);}
215 static double d3_E1(
const coord_3d &r){
return x_function(r)+xx_function(r)-yy_function(r)+xz_function(r)+xzz_function(r)+xyz_function(r)+xxx_function(r)+xyy_function(r);}
216 static double d3_E2(
const coord_3d &r){
return y_function(r)+xy_function(r)+yz_function(r)+yzz_function(r)+xxz_function(r)-yyz_function(r)+xxy_function(r)+yyy_function(r);}
219 static double c3v_A1 (
const coord_3d &r){
return z_function(r)+rr_function(r)+zzz_function(r)+xxx_function(r)-3.0*xyy_function(r)+xxz_function(r)+yyz_function(r) ;}
220 static double c3v_A2 (
const coord_3d &r){
return 3.0*xxy_function(r)-yyy_function(r) ;}
221 static double c3v_E11(
const coord_3d &r){
return x_function(r)+xx_function(r)-yy_function(r)+xz_function(r)+xzz_function(r)+xyz_function(r)+xxx_function(r)+xyy_function(r);}
222 static double c3v_E12(
const coord_3d &r){
return y_function(r)+xy_function(r)+yz_function(r)+xxz_function(r)-yyz_function(r)+xxy_function(r)+yyy_function(r);}
225 static double benzene_0(
const coord_3d &r){
return xxx_function(r) -3.0*xyy_function(r) ;}
226 static double benzene_1(
const coord_3d &r){
return 3.0*xxy_function(r) -yyy_function(r);}
227 static double benzene_2(
const coord_3d &r){
return xz_function(r);}
228 static double benzene_3(
const coord_3d &r){
return yz_function(r);}
229 static double benzene_4(
const coord_3d &r){
return z_function(r);}
230 static double benzene_5(
const coord_3d &r){
return xyz_function(r);}
231 static double benzene_6(
const coord_3d &r){
return xxz_function(r) - yyz_function(r);}
234 static double d2d_A1(
const coord_3d &r){
return rr_function(r) +xyz_function(r) ;}
235 static double d2d_A2(
const coord_3d &r){
return xxz_function(r) - yyz_function(r) ;}
236 static double d2d_B1(
const coord_3d &r){
return xx_function(r) -yy_function(r) ;}
237 static double d2d_B2(
const coord_3d &r){
return z_function(r) +xy_function(r) +zzz_function(r) + xxz_function(r) +yyz_function(r) ;}
238 static double d2d_E1(
const coord_3d &r){x_function(r)+xz_function(r)+xzz_function(r)+xyy_function(r)+xxx_function(r);}
239 static double d2d_E2(
const coord_3d &r){y_function(r)+yz_function(r)+yzz_function(r)+xxy_function(r)+yyy_function(r);}
::std::string string
Definition: gtest-port.h:872
Definition: TDA_exops.h:12
Vector< double, 3 > coord_3d
Definition: funcplot.h:634
exoperators()
Definition: TDA_exops.h:15
vector< functionT > vecfuncT
Definition: chem/corepotential.cc:61
tensorT sqrt(const tensorT &s, double tol=1e-8)
Computes matrix square root (not used any more?)
Definition: DFcode/moldft.cc:446
A parallel world with full functionality wrapping an MPI communicator.
Definition: worldfwd.h:416
FunctionFactory< double, 3 > real_factory_3d
Definition: functypedefs.h:93
#define MADNESS_EXCEPTION(msg, value)
Definition: worldexc.h:88
Holds machinery to set up Functions/FuncImpls using various Factories and Interfaces.
Definition: chem/atomutil.cc:45
vecfuncT get_exops(World &world, const std::string exop)
Definition: TDA_exops.h:17