MADNESS 0.10.1
Public Member Functions | Private Attributes | List of all members
madness::MolecularEnergy Class Reference

#include <SCF.h>

Inheritance diagram for madness::MolecularEnergy:
Inheritance graph
[legend]
Collaboration diagram for madness::MolecularEnergy:
Collaboration graph
[legend]

Public Member Functions

 MolecularEnergy (World &world, SCF &calc)
 
void energy_and_gradient (const Molecule &molecule, double &energy, Tensor< double > &gradient)
 
madness::Tensor< double > gradient (const Tensor< double > &x)
 Should return the derivative of the function.
 
std::string name () const
 
void output_calc_info_schema ()
 
bool provides_gradient () const
 Override this to return true if the derivative is implemented.
 
bool selftest ()
 
double value (const Tensor< double > &x)
 Should return the value of the objective function.
 
- Public Member Functions inherited from madness::OptimizationTargetInterface
virtual ~OptimizationTargetInterface ()
 
double test_gradient (Tensor< double > &x, double value_precision, bool doprint=true)
 Numerical test of the derivative ... optionally prints to stdout, returns max abs error.
 
virtual void value_and_gradient (const Tensor< double > &x, double &value, Tensor< double > &gradient)
 Reimplement if more efficient to evaluate both value and gradient in one call.
 

Private Attributes

SCFcalc
 
double coords_sum
 
Worldworld
 

Constructor & Destructor Documentation

◆ MolecularEnergy()

madness::MolecularEnergy::MolecularEnergy ( World world,
SCF calc 
)
inline

Member Function Documentation

◆ energy_and_gradient()

void madness::MolecularEnergy::energy_and_gradient ( const Molecule molecule,
double &  energy,
Tensor< double > &  gradient 
)
inline

◆ gradient()

madness::Tensor< double > madness::MolecularEnergy::gradient ( const Tensor< double > &  x)
inlinevirtual

◆ name()

std::string madness::MolecularEnergy::name ( ) const
inlinevirtual

◆ output_calc_info_schema()

void madness::MolecularEnergy::output_calc_info_schema ( )
inline

◆ provides_gradient()

bool madness::MolecularEnergy::provides_gradient ( ) const
inlinevirtual

Override this to return true if the derivative is implemented.

Reimplemented from madness::OptimizationTargetInterface.

◆ selftest()

bool madness::MolecularEnergy::selftest ( )
inlinevirtual

◆ value()

double madness::MolecularEnergy::value ( const Tensor< double > &  x)
inlinevirtual

Should return the value of the objective function.

Implements madness::OptimizationTargetInterface.

References madness::SCF::amo, madness::SCF::ao, madness::CalculationParameters::aobasis(), madness::SCF::aobasis, madness::SCF::aocc, madness::SCF::bmo, madness::SCF::bocc, calc, coords_sum, madness::SCF::current_energy, madness::WorldGopInterface::fence(), madness::World::gop, madness::SCF::initial_guess(), madness::SCF::load_mos(), madness::SCF::make_nuclear_potential(), madness::SCF::molecule, madness::CalculationParameters::nalpha(), madness::Molecule::natom(), madness::CalculationParameters::nbeta(), madness::CalculationParameters::nmo_alpha(), madness::CalculationParameters::nmo_beta(), madness::CalculationParameters::no_compute(), madness::CalculationParameters::nv_factor(), madness::SCF::param, madness::SCF::pcm, madness::CalculationParameters::pcm_data(), madness::SCF::project(), madness::SCF::project_ao_basis(), madness::CalculationParameters::protocol(), madness::World::rank(), madness::SCF::reset_aobasis(), madness::Tensor< T >::reshape(), madness::CalculationParameters::restart(), madness::SCF::restart_aos(), madness::CalculationParameters::restartao(), madness::CalculationParameters::save(), madness::SCF::save_mos(), madness::Molecule::set_all_coords(), madness::SCF::set_protocol(), madness::QCCalculationParametersBase::set_user_defined_value(), madness::SCF::solve(), madness::CalculationParameters::spin_restricted(), madness::Tensor< T >::sumsq(), and world.

Referenced by energy_and_gradient(), gradient(), main(), output_calc_info_schema(), run_all_calculations(), test_read_restartaodata(), and test_read_restartdata().

Member Data Documentation

◆ calc

SCF& madness::MolecularEnergy::calc
private

◆ coords_sum

double madness::MolecularEnergy::coords_sum
mutableprivate

Referenced by value().

◆ world

World& madness::MolecularEnergy::world
private

The documentation for this class was generated from the following file: