MADNESS 0.10.1
|
#include <SCF.h>
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 |
|
inline |
References madness::SCF::amo, madness::SCF::aocc, madness::SCF::bmo, madness::SCF::bocc, calc, madness::SCF::current_energy, madness::SCF::derivatives(), energy, madness::Function< T, NDIM >::gaxpy(), gradient(), madness::SCF::make_density(), molecule, madness::SCF::param, madness::CalculationParameters::spin_restricted(), value(), and world.
|
inlinevirtual |
Should return the derivative of the function.
Reimplemented from madness::OptimizationTargetInterface.
References madness::SCF::amo, madness::SCF::aocc, madness::SCF::bmo, madness::SCF::bocc, calc, madness::SCF::derivatives(), madness::Function< T, NDIM >::gaxpy(), madness::SCF::make_density(), madness::SCF::param, madness::CalculationParameters::spin_restricted(), value(), and world.
Referenced by energy_and_gradient().
|
inlinevirtual |
Implements madness::QCPropertyInterface.
|
inline |
References madness::SCF::aeps, madness::SCF::beps, calc, madness::CalculationParameters::dconv(), madness::SCF::e_data, madness::CalculationParameters::econv(), madness::Molecule::GeometryParameters::eprec(), madness::Tensor< T >::flat(), madness::Molecule::get_all_coords(), madness::FunctionDefaults< NDIM >::get_k(), madness::FunctionDefaults< NDIM >::get_thresh(), madness::SCF::molecule, madness::Molecule::natom(), param, madness::SCF::param, madness::Molecule::parameters, InputParameters::prefix, madness::Molecule::to_json(), madness::scf_data::to_json(), madness::to_json(), and value().
Referenced by main().
|
inlinevirtual |
Override this to return true if the derivative is implemented.
Reimplemented from madness::OptimizationTargetInterface.
|
inlinevirtual |
Implements madness::QCPropertyInterface.
|
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().
|
private |
Referenced by energy_and_gradient(), gradient(), output_calc_info_schema(), and value().
|
mutableprivate |
Referenced by value().
|
private |
Referenced by energy_and_gradient(), gradient(), and value().