43 class ElectronicStructureAppParams;
55 template <
typename T,
int NDIM>
67 virtual bool is_od() {
return false;}
72 virtual bool is_rd() {
return true;}
76 virtual funcT
op_r(
const funcT& rho,
const funcT&
psi);
87 template <
typename T,
int NDIM>
100 virtual bool is_od() {
return false;}
109 virtual funcT
op_r(
const funcT& rho,
const funcT&
psi);
133 template <
typename T,
int NDIM>
146 virtual bool is_od() {
return false;}
155 virtual funcT
op_r(
const funcT& rho,
const funcT&
psi);
184 template <
typename T,
int NDIM>
197 virtual bool is_od() {
return false;}
206 virtual funcT
op_r(
const funcT& rho,
const funcT&
psi);
212 template <
typename T,
int NDIM>
220 double thresh,
bool periodic);
231 virtual bool is_od() {
return false;}
244 virtual funcT
op_r(
const funcT& rho,
const funcT&
psi);
259 template <
typename T,
int NDIM>
268 DFT(
World& world, funcT vnucrhon, std::vector<funcT>
phis,
281 void solve(
int maxits);
290 bool spinpol,
bool periodic =
false);
296 bool spinpol,
const double thresh,
bool periodic,
bool ispotential);
302 bool periodic =
false);
312 return _solver->matrix_element(phii, phij);
319 _solver->print_matrix_elements(phii, phij);
326 const int& iter,
bool periodic =
false);
332 return _solver->get_eig(indx);
339 return _solver->get_phi(indx);
344 const std::vector<double>&
eigs()
346 return _solver->eigs();
351 const std::vector<funcT>&
phis()
353 return _solver->phis();
386 World& world() {
return _world;}
const double thresh
Definition: dielectric.cc:185
Definition: eigsolver.h:52
T matrix_element(const funcT &phii, const funcT &phij)
Definition: dft.h:310
double thresh()
Definition: eigsolver.h:194
virtual void iterateOutput(const std::vector< funcT > &phis, const std::vector< double > &eigs, const Function< double, NDIM > &rho, const int &iter, bool periodic=false)
Definition: dft.cc:364
virtual funcT op_r(const funcT &rho, const funcT &psi)
Density-dependent portion of operator.
Definition: dft.cc:145
Main include file for MADNESS and defines Function interface.
virtual funcT op_r(const funcT &rho, const funcT &psi)
Density-dependent portion of operator.
Definition: dft.cc:182
SeparatedConvolution< T, NDIM > * _cop
Definition: dft.h:118
Definition: electronicstructureparams.h:45
DFTCoulombPeriodicOp(World &world, funcT rhon, double coeff, double thresh)
Definition: dft.cc:102
double coeff()
Definition: eigsolver.h:178
DFTNuclearChargeDensityOp(World &world, funcT rhon, double coeff, double thresh, bool periodic)
Definition: dft.cc:47
static double calculate_tot_pe_sp(const World &world, const Function< double, NDIM > &rho, const Function< double, NDIM > &vnucrhon, bool spinpol, const double thresh, bool periodic, bool ispotential)
Definition: dft.cc:295
const std::vector< funcT > & phis()
Definition: dft.h:351
void solve(int maxits)
Definition: dft.cc:254
DFTCoulombOp(World &world, double coeff, double thresh)
Definition: dft.cc:85
virtual funcT op_r(const funcT &rho, const funcT &psi)
Density-dependent portion of operator.
Definition: dft.cc:154
double V(const Vector< double, 3 > &r)
Definition: apps/ii/hatom_energy.cc:46
virtual bool is_rd()
Is there a density-dependent term?
Definition: dft.h:151
virtual bool is_rd()
Is there a density-dependent term?
Definition: dft.h:236
This header should include pretty much everything needed for the parallel runtime.
virtual ~DFT()
Definition: dft.cc:246
static double calculate_ke_sp(funcT psi, bool periodic=false)
Definition: dft.cc:262
virtual bool is_od()
Is there an orbitally-dependent term?
Definition: dft.h:231
virtual void prepare_op(Function< double, NDIM > rho)
Definition: dft.cc:128
virtual bool is_od()
Is there an orbitally-dependent term?
Definition: dft.h:197
const std::vector< double > & eigs()
Definition: dft.h:344
virtual funcT op_r(const funcT &rho, const funcT &psi)
Density-dependent portion of operator.
Definition: dft.cc:163
const T1 &f1 return GTEST_2_TUPLE_() T(f0, f1)
~DFTNuclearChargeDensityOp()
Definition: dft.h:224
static double calculate_tot_coulomb_energy(const World &world, const Function< double, NDIM > &rho, bool spinpol, const double thresh, bool periodic=false)
Definition: dft.cc:326
funcT get_phi(int indx)
Definition: dft.h:337
virtual bool is_rd()
Is there a density-dependent term?
Definition: dft.h:72
double psi(const Vector< double, 3 > &r)
Definition: apps/ii/hatom_energy.cc:42
Definition: eigsolver.h:99
virtual bool is_od()
Is there an orbitally-dependent term?
Definition: dft.h:67
A parallel world with full functionality wrapping an MPI communicator.
Definition: worldfwd.h:416
double get_eig(int indx)
Definition: dft.h:330
void prepare_op(Function< double, NDIM > rho)
Definition: dft.h:240
DFTNuclearPotentialOp(World &world, funcT V, double coeff, double thresh)
Definition: dft.cc:74
A multiresolution adaptive numerical function.
Definition: derivative.h:61
virtual bool is_od()
Is there an orbitally-dependent term?
Definition: dft.h:100
Definition: eigsolver.h:226
virtual bool is_od()
Is there an orbitally-dependent term?
Definition: dft.h:146
static double calculate_tot_ke_sp(const std::vector< funcT > &phis, bool spinpol, bool periodic=false)
Definition: dft.cc:277
virtual void prepare_op(Function< double, NDIM > rho)
Definition: dft.cc:120
SeparatedConvolution< T, NDIM > * _cop
Definition: dft.h:164
XCFunctionalLDA(World &world, double coeff, double thresh)
Definition: dft.cc:172
static double calculate_tot_xc_energy(const Function< double, NDIM > &rho)
Definition: dft.cc:353
Function< T, NDIM > funcT
Definition: dft.h:59
Holds machinery to set up Functions/FuncImpls using various Factories and Interfaces.
Definition: chem/atomutil.cc:45
Function< T, NDIM > funcT
Definition: dft.h:216
virtual funcT op_r(const funcT &rho, const funcT &psi)
Density-dependent portion of operator.
Definition: dft.cc:136
virtual bool is_rd()
Is there a density-dependent term?
Definition: dft.h:105
virtual bool is_rd()
Is there a density-dependent term?
Definition: dft.h:202
void print_matrix_elements(const funcT &phii, const funcT &phij)
Definition: dft.h:317