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

SCF & calc
 
double coords_sum
 
World & world
 

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::aeps, madness::RestartCapabilities::all(), madness::SCF::amo, madness::SCF::ao, madness::CalculationParameters::aobasis(), madness::SCF::aobasis, madness::SCF::aocc, madness::SCF::aset, madness::automatic, madness::SCF::beps, madness::SCF::bmo, madness::SCF::bocc, madness::SCF::bset, calc, madness::SCF::converged_for_dconv, madness::SCF::converged_for_thresh, coords_sum, madness::copy(), madness::SCF::current_energy, madness::CalculationParameters::dconv(), madness::WorldGopInterface::fence(), madness::CalculationParameters::freeze_occupied(), madness::SCF::get_initial_orbitals(), madness::World::gop, madness::CalculationParameters::have_beta(), madness::initial_guess, MADNESS_CHECK_THROW, madness::SCF::make_nuclear_potential(), madness::make_restart_plan(), madness::CalculationParameters::maxiter(), madness::SCF::molecule, madness::CalculationParameters::nalpha(), madness::Molecule::natom(), madness::CalculationParameters::nbeta(), madness::CalculationParameters::nmo_alpha(), madness::CalculationParameters::nmo_beta(), madness::nonlinear_vector_solver(), madness::CalculationParameters::nv_extra(), madness::CalculationParameters::nv_its(), madness::CalculationParameters::nv_step(), madness::SCF::param, madness::SCF::pcm, madness::CalculationParameters::pcm_data(), madness::SCF::pcm_param, madness::print(), 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::restart_mode_from_string(), madness::SCF::restart_ncf, madness::SCF::restart_representation, madness::restartdata, 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::SCF::solve_virtuals(), madness::Tensor< T >::sumsq(), and world.

Referenced by energy_and_gradient(), gradient(), and main().

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: