1#ifndef MADNESS_QCPROPERTYINTERFACE_H
2#define MADNESS_QCPROPERTYINTERFACE_H
13 virtual std::string
name()
const = 0;
19 const std::shared_ptr<NuclearCorrelationFactor>
ncf = 0)
const {
20 print(
"nuclear_derivative not implemented in ",
name());
26 print(
"density not implemented in ",
name());
31 print(
"no_cusp_density not implemented in ",
name());
37 print(
"spindensity not implemented in ",
name());
43 print(
"no_cusp_spindensity not implemented in ",
name());
49 const std::shared_ptr<NuclearCorrelationFactor>
ncf = 0)
const {
50 print(
"dipole moment not implemented in ",
name());
Definition molecule.h:124
class implementing properties of QC models
Definition QCPropertyInterface.h:11
virtual std::string name() const =0
virtual Tensor< double > nuclear_derivative(const real_function_3d &density, const Molecule &molecule, const std::shared_ptr< NuclearCorrelationFactor > ncf=0) const
Definition QCPropertyInterface.h:17
virtual real_function_3d spindensity(const int spin) const
Definition QCPropertyInterface.h:35
virtual real_function_3d no_cusp_density() const
Definition QCPropertyInterface.h:30
virtual bool selftest()=0
virtual std::vector< double > multipole_moment(const real_function_3d &density, const int l, const Molecule &molecule, const std::shared_ptr< NuclearCorrelationFactor > ncf=0) const
Definition QCPropertyInterface.h:47
virtual real_function_3d density() const
Definition QCPropertyInterface.h:25
virtual real_function_3d no_cusp_spindensity(const int spin) const
Definition QCPropertyInterface.h:41
A tensor is a multidimension array.
Definition tensor.h:317
#define MADNESS_EXCEPTION(msg, value)
Macro for throwing a MADNESS exception.
Definition madness_exception.h:119
#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
Main include file for MADNESS and defines Function interface.
Namespace for all elements and tools of MADNESS.
Definition DFParameters.h:10
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
Definition dirac-hatom.cc:108
static Molecule molecule
Definition testperiodicdft.cc:38