MADNESS
0.10.1
|
#include <znemo.h>
Classes | |
struct | landau_wave_function |
following Doucot Pascier 2005 More... | |
struct | p_orbital |
struct | potentials |
struct | s_orbital |
struct | timer |
Public Member Functions | |
Znemo (World &w, const commandlineparser &parser) | |
double | analyze () |
analyse the results only More... | |
void | canonicalize (std::vector< complex_function_3d > &amo, std::vector< complex_function_3d > &vnemo, potentials &pot, XNonlinearSolver< std::vector< complex_function_3d >, double_complex, vector_function_allocator< double_complex, 3 > > &solver, Tensor< double_complex > fock, Tensor< double_complex > ovlp) const |
std::vector< real_function_3d > | compute_current_density (const std::vector< complex_function_3d > &alpha_mo, const std::vector< complex_function_3d > &beta_mo) const |
compute the current density More... | |
real_function_3d | compute_density (const std::vector< complex_function_3d > &amo, const std::vector< complex_function_3d > &bmo) const |
double | compute_energy (const std::vector< complex_function_3d > &amo, const potentials &apot, const std::vector< complex_function_3d > &bmo, const potentials &bpot, const bool do_print, const bool no_confinement) const |
Tensor< double > | compute_kinetic_momentum () const |
compute the expectation value of the kinetic momentum p More... | |
Tensor< double > | compute_linear_moment () const |
compute the expectation value of the linear moment r More... | |
Tensor< double > | compute_magnetic_potential_expectation (const std::vector< real_function_3d > &A) const |
compute the expectation value of the magnetic vector potential A More... | |
real_function_3d | compute_nemo_density (const std::vector< complex_function_3d > &amo, const std::vector< complex_function_3d > &bmo) const |
real_function_3d | compute_nemo_spin_density (const std::vector< complex_function_3d > &amo, const std::vector< complex_function_3d > &bmo) const |
potentials | compute_potentials (const std::vector< complex_function_3d > &mo, const real_function_3d &density, const std::vector< complex_function_3d > &rhs) const |
compute the potential operators applied on the orbitals More... | |
std::vector< complex_function_3d > | compute_residuals (const std::vector< complex_function_3d > &Vpsi, const std::vector< complex_function_3d > &psi, Tensor< double > &eps, const double levelshift=0.0) const |
real_function_3d | compute_spin_density (const std::vector< complex_function_3d > &amo, const std::vector< complex_function_3d > &bmo) const |
Tensor< double > | compute_standard_gauge_shift (const Tensor< double > &p_exp) const |
compute the shift of the molecule such that the kinetic momentum vanishes More... | |
Tensor< double_complex > | compute_vmat (const std::vector< complex_function_3d > &mo, const potentials &pot) const |
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > | custom_guess () const |
void | do_step_restriction (const std::vector< complex_function_3d > &mo, std::vector< complex_function_3d > &mo_new) const |
const CalculationParameters & | get_cparam () const |
void | get_initial_orbitals () |
get initial orbitals from guesses More... | |
Tensor< double > | gradient () |
Tensor< double > | gradient (const Tensor< double > &x) override |
Should return the derivative of the function. More... | |
bool | have_beta () const |
are there explicit beta orbitals More... | |
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > | hcore_guess () const |
hcore guess including the magnetic field More... | |
void | invalidate_factors_and_potentials () override |
void | iterate () |
std::vector< complex_function_3d > | make_bra (const std::vector< complex_function_3d > &mo) const |
const Molecule & | molecule () const |
Molecule & | molecule () override |
return the molecule of the target More... | |
std::string | name () const override |
bool | need_recompute_factors_and_potentials (const double thresh) const override |
std::vector< complex_function_3d > | normalize (const std::vector< complex_function_3d > &mo) const |
std::vector< complex_function_3d > | orthonormalize (const std::vector< complex_function_3d > &mo) const |
void | output_calc_info_schema (const double &energy) const |
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > | read_complex_guess () const |
read the guess orbitals from a previous nemo or moldft calculation More... | |
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > | read_explicit_guess_functions () const |
read a list of functions for the guess More... | |
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > | read_real_guess () const |
read the guess orbitals from a previous nemo or moldft calculation More... | |
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > | read_reference () const |
read orbitals from a znemo calculation More... | |
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > | read_restartaodata () const |
read guess as projection of the orbitals onto an AO basis set (for geometry optimization) More... | |
void | recompute_factors_and_potentials (const double thresh) |
adapt the thresholds consistently to a common value More... | |
template<typename solverT > | |
void | rotate_subspace (const Tensor< double_complex > &U, solverT &solver) const |
rotate the KAIN subspace (cf. SCF.cc) More... | |
void | save_orbitals () const |
void | save_orbitals (std::string suffix) const |
bool | selftest () override |
bool | test () const |
void | test_compute_current_density () const |
void | test_landau_wave_function () |
bool | test_U_potentials () const |
test the identity <F| f (T + Vdia ) f |F> = <F|f^2 (T + Udia) |F> More... | |
double | value () |
compute the molecular energy More... | |
double | value (const Tensor< double > &x) override |
compute the molecular energy More... | |
Public Member Functions inherited from madness::NemoBase | |
NemoBase (World &w) | |
virtual | ~NemoBase () |
bool | check_convergence (const std::vector< double > energies, const std::vector< double > oldenergies, const double bsh_norm, const double delta_density, const CalculationParameters ¶m, const double econv, const double dconv) const |
template<typename T , std::size_t NDIM> | |
Function< typename Tensor< T >::scalar_type, NDIM > | compute_density (const std::vector< Function< T, NDIM > > nemo) const |
Tensor< double > | compute_gradient (const real_function_3d &rhonemo, const Molecule &molecule) const |
compute the nuclear gradients More... | |
template<typename T , std::size_t NDIM> | |
double | compute_kinetic_energy (const std::vector< Function< T, NDIM > > &nemo) const |
compute kinetic energy as square of the "analytical" expectation value More... | |
template<typename T , std::size_t NDIM> | |
double | compute_kinetic_energy1 (const std::vector< Function< T, NDIM > > &nemo) const |
compute kinetic energy as square of the "analytical" derivative of the orbitals More... | |
template<typename T , std::size_t NDIM> | |
double | compute_kinetic_energy1a (const std::vector< Function< T, NDIM > > &nemo) const |
compute kinetic energy as square of the "analytical" derivative of the orbitals More... | |
template<typename T , std::size_t NDIM> | |
double | compute_kinetic_energy2 (const std::vector< Function< T, NDIM > > &nemo) const |
compute kinetic energy as direct derivative of the orbitals (probably imprecise) More... | |
void | construct_nuclear_correlation_factor (const Molecule &molecule, const std::shared_ptr< PotentialManager > pm, const std::pair< std::string, double > ncf_parameter) |
std::shared_ptr< NuclearCorrelationFactor > | get_ncf_ptr () const |
create an instance of the derived object based on the input parameters More... | |
virtual std::shared_ptr< Fock< double, 3 > > | make_fock_operator () const |
template<typename T , std::size_t NDIM> | |
void | orthonormalize (std::vector< Function< T, NDIM > > &nemo, const Function< double, NDIM > metric=Function< double, NDIM >(), const double trantol=FunctionDefaults< NDIM >::get_thresh() *0.01) const |
orthonormalize the vectors More... | |
Public Member Functions inherited from madness::OptimizationTargetInterface | |
virtual | ~OptimizationTargetInterface () |
virtual bool | provides_gradient () const |
Override this to return true if the derivative is implemented. More... | |
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. More... | |
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. More... | |
Static Public Member Functions | |
static std::vector< real_function_3d > | compute_magnetic_vector_potential (World &world, const coord_3d &Bvec) |
compute the magnetic vector potential A More... | |
static void | help () |
static void | print_parameters () |
Static Public Member Functions inherited from madness::NemoBase | |
template<typename T , std::size_t NDIM> | |
static void | normalize (std::vector< Function< T, NDIM > > &nemo, const Function< double, NDIM > metric=Function< double, NDIM >()) |
normalize the nemos More... | |
template<typename T > | |
static Tensor< T > | Q2 (const Tensor< T > &s) |
Public Attributes | |
std::vector< complex_function_3d > | amo |
the molecular orbitals – alpha More... | |
std::vector< complex_function_3d > | bmo |
Public Attributes inherited from madness::NemoBase | |
std::shared_ptr< NuclearCorrelationFactor > | ncf |
the nuclear correlation factor More... | |
real_function_3d | R |
the nuclear correlation factor More... | |
real_function_3d | R_square |
the square of the nuclear correlation factor More... | |
World & | world |
Protected Attributes | |
Tensor< double > | aeps |
the orbital energies More... | |
AtomicBasisSet | aobasis |
coord_3d | B |
the magnetic field B=rot(A) More... | |
Tensor< double > | beps |
std::shared_ptr< real_convolution_3d > | coulop |
Nemo::NemoCalculationParameters | cparam |
standard calculation parameters More... | |
std::shared_ptr< Diamagnetic_potential_factor > | diafac |
Molecule | mol |
Nemo_complex_Parameters | param |
std::shared_ptr< PotentialManager > | potentialmanager |
nuclear potential More... | |
printleveler | print_info =printleveler(2) |
std::vector< real_function_3d > | rvec |
the linear moments r={x,y,z} More... | |
real_function_3d | sbox |
the spherical damping box More... | |
Friends | |
class | Zcis |
madness::Znemo::Znemo | ( | World & | w, |
const commandlineparser & | parser | ||
) |
References madness::CalculationParameters::aobasis(), aobasis, madness::CoulombOperatorPtr(), coulop, cparam, madness::CalculationParameters::econv(), madness::CalculationParameters::k(), madness::CalculationParameters::L(), madness::CalculationParameters::lo(), mol, param, madness::Nemo_complex_Parameters::physical_B(), madness::Molecule::print(), madness::QCCalculationParametersBase::print(), print_info, madness::printleveler::print_setup(), madness::Nemo_complex_Parameters::printlevel(), madness::World::rank(), madness::AtomicBasisSet::read_file(), madness::CalculationParameters::read_input_and_commandline_options(), rvec, madness::FunctionDefaults< NDIM >::set_cubic_cell(), madness::QCCalculationParametersBase::set_derived_value(), madness::Nemo_complex_Parameters::set_derived_values(), madness::CalculationParameters::set_derived_values(), madness::FunctionDefaults< NDIM >::set_initial_level(), madness::FunctionDefaults< NDIM >::set_k(), madness::FunctionDefaults< NDIM >::set_refine(), madness::FunctionDefaults< NDIM >::set_thresh(), madness::FunctionDefaults< NDIM >::set_truncate_mode(), and madness::NemoBase::world.
double madness::Znemo::analyze | ( | ) |
analyse the results only
References aeps, amo, madness::SCF::analyze_vectors(), aobasis, beps, bmo, compute_current_density(), compute_density(), compute_energy(), compute_kinetic_momentum(), compute_magnetic_potential_expectation(), compute_magnetic_vector_potential(), compute_potentials(), compute_spin_density(), compute_standard_gauge_shift(), cparam, madness::QCPropertyInterface::density(), madness::CalculationParameters::econv(), energy, have_beta(), madness::imag(), madness::inner(), mol, molecule(), need_recompute_factors_and_potentials(), madness::print(), madness::CalculationParameters::print_level(), madness::SCF::project_ao_basis_only(), madness::World::rank(), madness::real(), recompute_factors_and_potentials(), madness::save(), save_orbitals(), madness::scale(), madness::Znemo::potentials::spin_zeeman_mo, madness::QCPropertyInterface::spindensity(), v, and madness::NemoBase::world.
Referenced by value().
void madness::Znemo::canonicalize | ( | std::vector< complex_function_3d > & | amo, |
std::vector< complex_function_3d > & | vnemo, | ||
potentials & | pot, | ||
XNonlinearSolver< std::vector< complex_function_3d >, double_complex, vector_function_allocator< double_complex, 3 > > & | solver, | ||
Tensor< double_complex > | fock, | ||
Tensor< double_complex > | ovlp | ||
) | const |
References madness::_(), amo, madness::real(), rotate_subspace(), madness::Tensor< T >::scale(), madness::sygv(), madness::Znemo::potentials::transform(), madness::transform(), and madness::NemoBase::world.
Referenced by iterate().
std::vector< real_function_3d > madness::Znemo::compute_current_density | ( | const std::vector< complex_function_3d > & | alpha_mo, |
const std::vector< complex_function_3d > & | beta_mo | ||
) | const |
compute the current density
following Lazzeretti, J. Mol. Struct, 313 (1994)
see also the first three terms of Eq. (47) of Hodge, Am. J. Phys., 82 (2014)
References madness::abs_square(), compute_magnetic_vector_potential(), madness::conj(), madness::QCPropertyInterface::density(), madness::div(), madness::dot(), madness::grad(), madness::imag(), madness::print(), madness::NemoBase::R_square, madness::rot(), madness::save(), madness::truncate(), and madness::NemoBase::world.
Referenced by analyze(), and test_compute_current_density().
real_function_3d madness::Znemo::compute_density | ( | const std::vector< complex_function_3d > & | amo, |
const std::vector< complex_function_3d > & | bmo | ||
) | const |
References amo, bmo, compute_nemo_density(), diafac, madness::NemoBase::R_square, and madness::Function< T, NDIM >::truncate().
Referenced by analyze(), compute_energy(), and iterate().
double madness::Znemo::compute_energy | ( | const std::vector< complex_function_3d > & | amo, |
const potentials & | apot, | ||
const std::vector< complex_function_3d > & | bmo, | ||
const potentials & | bpot, | ||
const bool | do_print, | ||
const bool | no_confinement | ||
) | const |
References amo, madness::apply(), axis, bmo, compute_density(), cparam, madness::QCPropertyInterface::density(), diafac, madness::Znemo::potentials::diamagnetic_mo, madness::Znemo::timer::end(), energy, madness::imag(), madness::inner(), madness::Znemo::potentials::J_mo, madness::Znemo::potentials::K_mo, madness::Znemo::potentials::lz_commutator, madness::Znemo::potentials::lz_mo, MADNESS_EXCEPTION, make_bra(), mol, nuclear_potential(), madness::Molecule::nuclear_repulsion_energy(), madness::print(), print_info, madness::printleveler::print_timings(), madness::World::rank(), madness::real(), madness::CalculationParameters::spin_restricted(), madness::Znemo::potentials::spin_zeeman_mo, madness::Znemo::potentials::vnuc_mo, madness::NemoBase::world, and madness::Znemo::potentials::zeeman_R_comm.
|
inline |
compute the expectation value of the kinetic momentum p
References amo, bmo, madness::grad(), madness::imag(), madness::inner(), and madness::NemoBase::world.
Referenced by analyze().
|
inline |
compute the expectation value of the linear moment r
References amo, bmo, madness::inner(), madness::real(), and madness::NemoBase::world.
|
inline |
compute the expectation value of the magnetic vector potential A
References amo, bmo, madness::inner(), madness::real(), and madness::NemoBase::world.
Referenced by analyze().
|
inlinestatic |
compute the magnetic vector potential A
References A(), and madness::NemoBase::world.
Referenced by analyze(), and compute_current_density().
|
inline |
|
inline |
Znemo::potentials madness::Znemo::compute_potentials | ( | const std::vector< complex_function_3d > & | mo, |
const real_function_3d & | density, | ||
const std::vector< complex_function_3d > & | rhs | ||
) | const |
compute the potential operators applied on the orbitals
References madness::conj(), cparam, madness::QCPropertyInterface::density(), diafac, madness::Znemo::potentials::diamagnetic_mo, madness::Znemo::timer::end(), madness::Znemo::potentials::J_mo, K(), madness::Znemo::potentials::K_mo, madness::CalculationParameters::lo(), madness::Znemo::potentials::lz_commutator, madness::Znemo::potentials::lz_mo, MADNESS_ASSERT, make_bra(), print_info, madness::printleveler::print_timings(), rvec, madness::World::size(), madness::Znemo::potentials::spin_zeeman_mo, madness::truncate(), madness::Znemo::potentials::vnuc_mo, madness::NemoBase::world, and madness::Znemo::potentials::zeeman_R_comm.
std::vector< complex_function_3d > madness::Znemo::compute_residuals | ( | const std::vector< complex_function_3d > & | Vpsi, |
const std::vector< complex_function_3d > & | psi, | ||
Tensor< double > & | eps, | ||
const double | levelshift = 0.0 |
||
) | const |
References madness::apply(), madness::BSHOperatorPtr3D(), cparam, madness::Znemo::timer::end(), madness::inner(), madness::CalculationParameters::lo(), make_bra(), madness::print(), madness::printleveler::print_convergence(), print_info, madness::printleveler::print_timings(), psi(), madness::World::rank(), madness::real(), madness::BaseTensor::size(), madness::truncate(), and madness::NemoBase::world.
Referenced by iterate().
real_function_3d madness::Znemo::compute_spin_density | ( | const std::vector< complex_function_3d > & | amo, |
const std::vector< complex_function_3d > & | bmo | ||
) | const |
References amo, bmo, compute_nemo_spin_density(), diafac, madness::NemoBase::R_square, and madness::Function< T, NDIM >::truncate().
Referenced by analyze().
|
inline |
compute the shift of the molecule such that the kinetic momentum vanishes
References amo, bmo, param, and madness::Nemo_complex_Parameters::physical_B().
Referenced by analyze().
Tensor< double_complex > madness::Znemo::compute_vmat | ( | const std::vector< complex_function_3d > & | mo, |
const potentials & | pot | ||
) | const |
References madness::Znemo::potentials::diamagnetic_mo, madness::Znemo::potentials::J_mo, madness::Znemo::potentials::K_mo, madness::Znemo::potentials::lz_commutator, madness::Znemo::potentials::lz_mo, make_bra(), madness::matrix_inner(), madness::Znemo::potentials::spin_zeeman_mo, madness::truncate(), madness::Znemo::potentials::vnuc_mo, madness::NemoBase::world, and madness::Znemo::potentials::zeeman_R_comm.
Referenced by iterate().
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > madness::Znemo::custom_guess | ( | ) | const |
References copy(), cparam, madness::g, madness::Molecule::get_atoms(), madness::Nemo_complex_Parameters::guess(), guess(), madness::inner(), MADNESS_ASSERT, molecule(), madness::CalculationParameters::nalpha(), madness::CalculationParameters::nbeta(), madness::detail::norm(), param, madness::print(), madness::MolecularOrbitals< T, NDIM >::set_mos(), and madness::NemoBase::world.
Referenced by get_initial_orbitals().
void madness::Znemo::do_step_restriction | ( | const std::vector< complex_function_3d > & | mo, |
std::vector< complex_function_3d > & | mo_new | ||
) | const |
References cparam, madness::WorldGopInterface::fence(), madness::World::gop, madness::CalculationParameters::maxrotn(), madness::norm2s(), madness::printleveler::print_convergence(), print_info, PROFILE_MEMBER_FUNC, madness::World::rank(), madness::sub(), and madness::NemoBase::world.
Referenced by iterate().
|
inline |
References cparam.
void madness::Znemo::get_initial_orbitals | ( | ) |
get initial orbitals from guesses
References aeps, amo, beps, bmo, cparam, custom_guess(), madness::Nemo_complex_Parameters::guess(), madness::Nemo_complex_Parameters::guess_functions(), hcore_guess(), MADNESS_EXCEPTION, madness::CalculationParameters::nalpha(), madness::CalculationParameters::nbeta(), orthonormalize(), param, madness::print(), read_explicit_guess_functions(), read_real_guess(), read_reference(), read_restartaodata(), madness::set_thresh(), and madness::NemoBase::world.
Referenced by value().
|
inline |
References madness::Molecule::get_all_coords(), and mol.
Should return the derivative of the function.
Reimplemented from madness::OptimizationTargetInterface.
References amo, bmo, madness::NemoBase::compute_gradient(), compute_nemo_density(), madness::Nemo_complex_Parameters::explicit_B(), madness::Molecule::get_atom(), madness::grad(), MADNESS_ASSERT, mol, madness::Molecule::natom(), param, madness::print(), madness::World::rank(), madness::NemoBase::world, madness::Atom::x, madness::Atom::y, and madness::Atom::z.
|
inline |
are there explicit beta orbitals
References cparam, madness::CalculationParameters::nbeta(), and madness::CalculationParameters::spin_restricted().
Referenced by analyze(), compute_nemo_density(), compute_nemo_spin_density(), and iterate().
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > madness::Znemo::hcore_guess | ( | ) | const |
hcore guess including the magnetic field
References madness::_(), amo, aobasis, bmo, c, madness::conj(), madness::conj_transpose(), cparam, diafac, e(), madness::f, madness::CalculationParameters::have_beta(), madness::matrix_inner(), mol, madness::CalculationParameters::nmo_alpha(), madness::CalculationParameters::nmo_beta(), normalize(), param, madness::Nemo_complex_Parameters::physical_B(), potential(), potentialmanager, madness::print(), madness::SCF::project_ao_basis_only(), madness::sygvp(), T(), madness::transform(), madness::truncate(), and madness::NemoBase::world.
Referenced by get_initial_orbitals().
|
inlinestatic |
References madness::print(), and madness::print_header2().
Referenced by main().
|
overridevirtual |
Reimplemented from madness::NemoBase.
References diafac, madness::NemoBase::invalidate_factors_and_potentials(), and potentialmanager.
Referenced by value().
void madness::Znemo::iterate | ( | ) |
References std::abs(), aeps, amo, beps, bmo, canonicalize(), compute_density(), compute_energy(), compute_potentials(), compute_residuals(), compute_vmat(), cparam, madness::CalculationParameters::dconv(), madness::QCPropertyInterface::density(), madness::Znemo::potentials::diamagnetic_mo, madness::BaseTensor::dim(), do_step_restriction(), madness::CalculationParameters::econv(), energy, madness::FunctionDefaults< NDIM >::get_thresh(), have_beta(), madness::inner(), madness::Znemo::potentials::J_mo, madness::Znemo::potentials::K_mo, madness::Znemo::potentials::lz_commutator, madness::Znemo::potentials::lz_mo, make_bra(), madness::matrix_inner(), maxiter, madness::CalculationParameters::maxiter(), madness::CalculationParameters::maxsub(), orthonormalize(), param, madness::Nemo_complex_Parameters::physical_B(), madness::print(), madness::printleveler::print_convergence(), madness::printleveler::print_energies(), print_info, madness::Nemo_complex_Parameters::printlevel(), madness::World::rank(), madness::real(), save_orbitals(), sbox, madness::scale(), madness::Nemo_complex_Parameters::shift(), madness::Znemo::potentials::spin_zeeman_mo, madness::Tensor< T >::sumsq(), T(), thresh, madness::truncate(), madness::Znemo::potentials::vnuc_mo, madness::wall_time(), madness::NemoBase::world, and madness::Znemo::potentials::zeeman_R_comm.
Referenced by value().
std::vector< complex_function_3d > madness::Znemo::make_bra | ( | const std::vector< complex_function_3d > & | mo | ) | const |
References diafac, madness::NemoBase::R_square, and madness::truncate().
Referenced by compute_energy(), compute_potentials(), compute_residuals(), compute_vmat(), and iterate().
|
inlineoverridevirtual |
return the molecule of the target
Reimplemented from madness::MolecularOptimizationTargetInterface.
References mol.
Referenced by analyze(), custom_guess(), read_complex_guess(), read_real_guess(), and recompute_factors_and_potentials().
|
inlineoverridevirtual |
Implements madness::QCPropertyInterface.
Referenced by read_reference(), and save_orbitals().
|
overridevirtual |
Reimplemented from madness::NemoBase.
References diafac, madness::NemoBase::need_recompute_factors_and_potentials(), potentialmanager, and thresh.
std::vector< complex_function_3d > madness::Znemo::normalize | ( | const std::vector< complex_function_3d > & | mo | ) | const |
References madness::copy(), diafac, madness::NemoBase::normalize(), madness::NemoBase::R, and madness::NemoBase::world.
Referenced by hcore_guess().
std::vector< complex_function_3d > madness::Znemo::orthonormalize | ( | const std::vector< complex_function_3d > & | mo | ) | const |
References madness::copy(), diafac, madness::NemoBase::orthonormalize(), madness::NemoBase::R, and madness::NemoBase::world.
Referenced by get_initial_orbitals(), and iterate().
void madness::Znemo::output_calc_info_schema | ( | const double & | energy | ) | const |
|
inlinestatic |
References param, madness::QCCalculationParametersBase::print(), madness::print(), and madness::Molecule::print_parameters().
Referenced by main().
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > madness::Znemo::read_complex_guess | ( | ) | const |
read the guess orbitals from a previous nemo or moldft calculation
References cparam, molecule(), madness::CalculationParameters::nalpha(), madness::CalculationParameters::nbeta(), madness::print(), madness::MolecularOrbitals< T, NDIM >::read_restartdata(), and madness::NemoBase::world.
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > madness::Znemo::read_explicit_guess_functions | ( | ) | const |
read a list of functions for the guess
References cparam, madness::filename, madness::Nemo_complex_Parameters::guess_functions(), madness::load(), MADNESS_EXCEPTION, max, madness::CalculationParameters::nalpha(), madness::CalculationParameters::nbeta(), param, madness::print(), madness::MolecularOrbitals< T, NDIM >::set_mos(), and madness::NemoBase::world.
Referenced by get_initial_orbitals().
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > madness::Znemo::read_real_guess | ( | ) | const |
read the guess orbitals from a previous nemo or moldft calculation
References amo, bmo, cparam, diafac, madness::Nemo_complex_Parameters::explicit_B(), madness::FunctionDefaults< NDIM >::get_k(), madness::CalculationParameters::have_beta(), k1, k2, MADNESS_CHECK_THROW, molecule(), madness::CalculationParameters::nalpha(), madness::CalculationParameters::nbeta(), madness::CalculationParameters::nmo_beta(), param, madness::print(), madness::MolecularOrbitals< T, NDIM >::read_restartdata(), madness::truncate(), and madness::NemoBase::world.
Referenced by get_initial_orbitals().
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > madness::Znemo::read_reference | ( | ) | const |
read orbitals from a znemo calculation
read a list of functions for the guess
References a, aeps, beps, name(), madness::print(), and madness::NemoBase::world.
Referenced by get_initial_orbitals().
std::pair< MolecularOrbitals< double_complex, 3 >, MolecularOrbitals< double_complex, 3 > > madness::Znemo::read_restartaodata | ( | ) | const |
read guess as projection of the orbitals onto an AO basis set (for geometry optimization)
read a list of functions for the guess
References cparam, madness::CalculationParameters::have_beta(), mol, madness::print(), madness::MolecularOrbitals< T, NDIM >::read_restartaodata(), and madness::NemoBase::world.
Referenced by get_initial_orbitals().
void madness::Znemo::recompute_factors_and_potentials | ( | const double | thresh | ) |
adapt the thresholds consistently to a common value
References madness::Nemo_complex_Parameters::box(), madness::NemoBase::construct_nuclear_correlation_factor(), madness::CoulombOperatorPtr(), coulop, cparam, diafac, madness::CalculationParameters::econv(), madness::Nemo_complex_Parameters::explicit_B(), madness::Molecule::get_all_coords_vec(), madness::CalculationParameters::lo(), MADNESS_EXCEPTION, mol, molecule(), madness::Nemo::NemoCalculationParameters::ncf(), madness::Molecule::GeometryParameters::no_orient(), madness::NuclearCorrelationFactor::None, param, madness::Molecule::parameters, potentialmanager, madness::print(), sbox, and madness::NemoBase::world.
Referenced by analyze(), test_landau_wave_function(), and value().
|
inline |
rotate the KAIN subspace (cf. SCF.cc)
References madness::WorldGopInterface::fence(), madness::FunctionDefaults< NDIM >::get_thresh(), madness::World::gop, madness::transform(), v, and madness::NemoBase::world.
Referenced by canonicalize().
|
inline |
void madness::Znemo::save_orbitals | ( | std::string | suffix | ) | const |
References madness::abs(), amo, bmo, diafac, madness::imag(), madness::real(), madness::save(), and madness::stringify().
|
inlineoverridevirtual |
Implements madness::QCPropertyInterface.
bool madness::Znemo::test | ( | ) | const |
References diafac, madness::print(), and test_U_potentials().
void madness::Znemo::test_compute_current_density | ( | ) | const |
void madness::Znemo::test_landau_wave_function | ( | ) |
bool madness::Znemo::test_U_potentials | ( | ) | const |
test the identity <F| f (T + Vdia ) f |F> = <F|f^2 (T + Udia) |F>
References std::abs(), diafac, madness::test_output::end(), madness::error(), madness::FunctionDefaults< NDIM >::get_thresh(), madness::inner(), madness::test_output::logger, T(), thresh, and madness::NemoBase::world.
Referenced by test().
|
inline |
compute the molecular energy
References madness::Molecule::get_all_coords(), mol, and value().
Referenced by value().
|
overridevirtual |
compute the molecular energy
Implements madness::OptimizationTargetInterface.
References analyze(), cparam, madness::CalculationParameters::econv(), energy, madness::Molecule::get_all_coords(), get_initial_orbitals(), invalidate_factors_and_potentials(), iterate(), mol, madness::Molecule::natom(), need_recompute_factors_and_potentials(), output_calc_info_schema(), recompute_factors_and_potentials(), madness::Tensor< T >::reshape(), save_orbitals(), and madness::Molecule::set_all_coords().
|
friend |
|
protected |
the orbital energies
Referenced by analyze(), get_initial_orbitals(), iterate(), output_calc_info_schema(), read_reference(), and save_orbitals().
std::vector<complex_function_3d> madness::Znemo::amo |
the molecular orbitals – alpha
Referenced by analyze(), canonicalize(), compute_density(), compute_energy(), compute_kinetic_momentum(), compute_linear_moment(), compute_magnetic_potential_expectation(), compute_nemo_density(), compute_nemo_spin_density(), compute_spin_density(), compute_standard_gauge_shift(), get_initial_orbitals(), gradient(), hcore_guess(), iterate(), read_real_guess(), save_orbitals(), and test_compute_current_density().
|
protected |
Referenced by Znemo(), analyze(), hcore_guess(), and save_orbitals().
|
protected |
Referenced by output_calc_info_schema().
|
protected |
Referenced by analyze(), get_initial_orbitals(), iterate(), output_calc_info_schema(), read_reference(), and save_orbitals().
std::vector<complex_function_3d> madness::Znemo::bmo |
Referenced by analyze(), compute_density(), compute_energy(), compute_kinetic_momentum(), compute_linear_moment(), compute_magnetic_potential_expectation(), compute_nemo_density(), compute_nemo_spin_density(), compute_spin_density(), compute_standard_gauge_shift(), get_initial_orbitals(), gradient(), hcore_guess(), iterate(), read_real_guess(), and save_orbitals().
|
protected |
Referenced by Znemo(), and recompute_factors_and_potentials().
|
protected |
standard calculation parameters
Referenced by Znemo(), analyze(), compute_energy(), compute_nemo_density(), compute_nemo_spin_density(), compute_potentials(), compute_residuals(), custom_guess(), do_step_restriction(), get_cparam(), get_initial_orbitals(), have_beta(), hcore_guess(), iterate(), output_calc_info_schema(), read_complex_guess(), read_explicit_guess_functions(), read_real_guess(), read_restartaodata(), recompute_factors_and_potentials(), test_landau_wave_function(), and value().
|
protected |
Referenced by compute_density(), compute_energy(), compute_potentials(), compute_spin_density(), hcore_guess(), invalidate_factors_and_potentials(), make_bra(), need_recompute_factors_and_potentials(), normalize(), orthonormalize(), read_real_guess(), recompute_factors_and_potentials(), save_orbitals(), test(), test_landau_wave_function(), and test_U_potentials().
|
protected |
Referenced by Znemo(), analyze(), compute_energy(), gradient(), hcore_guess(), molecule(), read_restartaodata(), recompute_factors_and_potentials(), save_orbitals(), and value().
|
protected |
|
protected |
nuclear potential
Referenced by hcore_guess(), invalidate_factors_and_potentials(), need_recompute_factors_and_potentials(), and recompute_factors_and_potentials().
|
protected |
Referenced by Znemo(), compute_energy(), compute_potentials(), compute_residuals(), do_step_restriction(), and iterate().
|
protected |
the linear moments r={x,y,z}
Referenced by Znemo(), and compute_potentials().
|
protected |
the spherical damping box
Referenced by iterate(), and recompute_factors_and_potentials().