MADNESS 0.10.1
|
#include <zcis.h>
Classes | |
struct | root |
Public Member Functions | |
Zcis (World &w, const commandlineparser &parser, std::shared_ptr< Znemo > n) | |
virtual | ~Zcis () |
std::vector< complex_function_3d > | active_mo (const std::vector< complex_function_3d > &mo) const |
return the active orbitals only | |
void | canonicalize (const std::vector< complex_function_3d > &mo, const real_function_3d &density, std::vector< complex_function_3d > &virtuals, Tensor< double > &veps) const |
void | compare_to_file (const std::vector< complex_function_3d > &rhs, const std::string name) const |
Tensor< double_complex > | compute_fock_pt (const std::vector< root > &roots) const |
void | compute_potentials (std::vector< root > &roots, const real_function_3d &totdens) const |
std::vector< complex_function_3d > | compute_residuals (root &root) const |
void | iterate (std::vector< root > &roots) const |
iterate the roots | |
Tensor< double_complex > | make_CIS_matrix (const Tensor< double > &veps, const Tensor< double > &oeps) const |
std::vector< root > | make_guess () const |
std::string | name () const |
Tensor< double > | noct (const Tensor< double > &eps) const |
return the active orbitals only | |
void | normalize (std::vector< root > &roots) const |
void | orthonormalize (std::vector< root > &roots) const |
void | orthonormalize (std::vector< root > &roots, const Tensor< double_complex > &fock_pt_a) const |
std::vector< root > | read_guess () const |
void | save_guess (const std::vector< root > &roots) const |
virtual bool | selftest () |
double | value () |
Static Public Member Functions | |
template<typename T > | |
static Tensor< T > | concatenate (const Tensor< T > &t1, const Tensor< T > &t2) |
little helper function | |
static void | help () |
static void | print_parameters () |
static std::tuple< std::vector< complex_function_3d >, std::vector< complex_function_3d > > | split (const std::vector< complex_function_3d > &rhs, int dim1) |
template<typename T > | |
static std::tuple< Tensor< T >, Tensor< T > > | split (const Tensor< T > &rhs, int dim1) |
static std::vector< root > | transform (World &world, const std::vector< root > &v, const Tensor< double_complex > &c, bool fence=true) |
Public Attributes | |
Complex_CIS_Parameters | cis_param |
the parameters | |
std::shared_ptr< Znemo > | nemo |
the reference | |
QProjector< double_complex, 3 > | Qa |
orthogonality projector | |
QProjector< double_complex, 3 > | Qb |
std::vector< root > | roots |
the x vectors | |
World & | world |
the world | |
|
inline |
|
inlinevirtual |
|
inline |
return the active orbitals only
References cis_param, and madness::Complex_CIS_Parameters::freeze().
Referenced by compute_potentials(), iterate(), and make_guess().
void madness::Zcis::canonicalize | ( | const std::vector< complex_function_3d > & | mo, |
const real_function_3d & | density, | ||
std::vector< complex_function_3d > & | virtuals, | ||
Tensor< double > & | veps | ||
) | const |
References madness::QCPropertyInterface::density(), madness::matrix_inner(), nemo, madness::sygvp(), T(), madness::transform(), and world.
Referenced by make_guess().
|
inline |
References madness::load_function(), name(), nemo, madness::norm2s(), madness::print(), madness::save_function(), madness::World::size(), and world.
Tensor< double_complex > madness::Zcis::compute_fock_pt | ( | const std::vector< root > & | roots | ) | const |
References madness::BaseTensor::dim(), madness::inner(), p(), roots, madness::BaseTensor::size(), T(), and world.
Referenced by iterate().
void madness::Zcis::compute_potentials | ( | std::vector< root > & | roots, |
const real_function_3d & | totdens | ||
) | const |
zeroth order Fock operator acting on the x functions
References a, madness::abs_square(), active_mo(), madness::Zcis::root::afunction, madness::Zcis::root::apot, madness::Zcis::root::bfunction, madness::Zcis::root::bpot, cis_param, madness::Coulomb< T, NDIM >::compute_potential(), madness::conj(), madness::copy(), madness::Complex_CIS_Parameters::dconv(), madness::Zcis::root::delta, madness::Znemo::potentials::diamagnetic_mo, madness::dot(), madness::Complex_CIS_Parameters::freeze(), madness::Complex_CIS_Parameters::guess_excitations(), madness::Znemo::potentials::J_mo, madness::Znemo::potentials::K_mo, madness::Znemo::potentials::lz_mo, madness::mul(), nemo, noct(), madness::Function< T, NDIM >::print_size(), Q(), Qa, Qb, roots, madness::save(), madness::Function< T, NDIM >::scale(), madness::scale(), madness::Exchange< T, NDIM >::set_bra_and_ket(), madness::BaseTensor::size(), madness::Znemo::potentials::spin_zeeman_mo, madness::stringify(), madness::Function< T, NDIM >::truncate(), madness::truncate(), madness::Znemo::potentials::vnuc_mo, and world.
Referenced by iterate().
std::vector< complex_function_3d > madness::Zcis::compute_residuals | ( | root & | root | ) | const |
References madness::Zcis::root::afunction, madness::Zcis::root::apot, madness::append(), madness::apply(), madness::Zcis::root::bfunction, madness::Zcis::root::bpot, madness::BSHOperatorPtr3D(), cis_param, concatenate(), madness::copy(), madness::Zcis::root::energy_change, madness::Complex_CIS_Parameters::freeze(), madness::inner(), MADNESS_ASSERT, nemo, noct(), madness::Zcis::root::omega, p(), madness::print(), Qa, Qb, madness::real(), residual(), shift, split(), madness::Complex_CIS_Parameters::thresh(), madness::truncate(), and world.
Referenced by iterate().
|
inlinestatic |
little helper function
References MADNESS_ASSERT, madness::BaseTensor::ndim(), and madness::BaseTensor::size().
Referenced by compute_residuals(), and make_guess().
|
inlinestatic |
References madness::print(), and madness::print_header2().
Referenced by main().
void madness::Zcis::iterate | ( | std::vector< root > & | roots | ) | const |
iterate the roots
References madness::abs_square(), active_mo(), madness::Zcis::root::afunction, madness::append(), madness::Zcis::root::bfunction, cis_param, madness::XNonlinearSolver< T, C, Alloc >::clear_subspace(), compute_fock_pt(), compute_potentials(), compute_residuals(), madness::conj(), madness::Complex_CIS_Parameters::dconv(), delta, madness::Zcis::root::delta, madness::dot(), madness::f, madness::Complex_CIS_Parameters::guess_excitations(), madness::Complex_CIS_Parameters::guess_maxiter(), madness::inner(), MADNESS_ASSERT, madness::Complex_CIS_Parameters::maxiter(), nemo, noct(), madness::norm2(), madness::norm2s(), normalize(), omega, madness::Complex_CIS_Parameters::omega(), madness::Zcis::root::omega, orthonormalize(), madness::print(), madness::Function< T, NDIM >::print_size(), madness::print_size(), madness::Complex_CIS_Parameters::printlevel(), madness::real(), roots, madness::save(), madness::Function< T, NDIM >::scale(), madness::World::size(), split(), madness::stringify(), madness::Function< T, NDIM >::trace(), madness::Function< T, NDIM >::truncate(), madness::truncate(), madness::XNonlinearSolver< T, C, Alloc >::update(), madness::wall_time(), and world.
Referenced by value().
Tensor< double_complex > madness::Zcis::make_CIS_matrix | ( | const Tensor< double > & | veps, |
const Tensor< double > & | oeps | ||
) | const |
References a, I, and madness::BaseTensor::size().
Referenced by make_guess().
std::vector< Zcis::root > madness::Zcis::make_guess | ( | ) | const |
References madness::_(), active_mo(), madness::append(), madness::guessfactory::apply_trigonometric_exop(), b, canonicalize(), cis_param, madness::guessfactory::compute_centroids(), concatenate(), madness::conj(), madness::copy(), madness::QCPropertyInterface::density(), madness::BaseTensor::dim(), madness::dot(), madness::WorldGopInterface::fence(), madness::World::gop, guess(), madness::Complex_CIS_Parameters::guess_excitation_operators(), madness::Complex_CIS_Parameters::guess_excitations(), I, MADNESS_EXCEPTION, make_CIS_matrix(), madness::guessfactory::make_predefined_exop_strings(), nemo, noct(), orthonormalize(), madness::orthonormalize_canonical(), madness::print(), madness::Function< T, NDIM >::print_size(), madness::print_size(), Qa, Qb, madness::World::rank(), madness::real(), madness::Function< T, NDIM >::scale(), madness::BaseTensor::size(), madness::syev(), madness::Complex_CIS_Parameters::thresh(), madness::Function< T, NDIM >::truncate(), madness::truncate(), and world.
Referenced by value().
|
inlinevirtual |
Implements madness::QCPropertyInterface.
Referenced by compare_to_file(), read_guess(), and save_guess().
return the active orbitals only
References cis_param, madness::Complex_CIS_Parameters::freeze(), and madness::BaseTensor::size().
Referenced by compute_potentials(), compute_residuals(), iterate(), and make_guess().
void madness::Zcis::normalize | ( | std::vector< root > & | roots | ) | const |
References madness::Zcis::root::afunction, madness::Zcis::root::bfunction, madness::norm2(), roots, madness::scale(), and world.
Referenced by iterate(), orthonormalize(), and orthonormalize().
void madness::Zcis::orthonormalize | ( | std::vector< root > & | roots | ) | const |
References std::abs(), madness::inner(), normalize(), Q(), madness::NemoBase::Q2(), roots, transform(), and world.
void madness::Zcis::orthonormalize | ( | std::vector< root > & | roots, |
const Tensor< double_complex > & | fock_pt_a | ||
) | const |
References e(), madness::inner(), normalize(), roots, madness::sygv(), transform(), and world.
Referenced by iterate(), and make_guess().
|
inlinestatic |
References param, madness::print(), and madness::Molecule::print_parameters().
Referenced by main().
std::vector< Zcis::root > madness::Zcis::read_guess | ( | ) | const |
References a, cis_param, madness::g, guess(), madness::Complex_CIS_Parameters::guess_excitations(), name(), madness::print(), and world.
Referenced by value().
void madness::Zcis::save_guess | ( | const std::vector< root > & | roots | ) | const |
References a, madness::g, name(), madness::print(), roots, and world.
Referenced by value().
|
inlinevirtual |
Implements madness::QCPropertyInterface.
|
inlinestatic |
References madness::copy(), and MADNESS_ASSERT.
|
inlinestatic |
References MADNESS_ASSERT, and madness::BaseTensor::size().
Referenced by compute_residuals(), and iterate().
|
inlinestatic |
References c, madness::compress(), madness::WorldGopInterface::fence(), madness::gaxpy(), madness::World::gop, m, v, and world.
Referenced by orthonormalize(), and orthonormalize().
double madness::Zcis::value | ( | ) |
References cis_param, iterate(), make_guess(), nemo, Qa, Qb, read_guess(), roots, save_guess(), and madness::Complex_CIS_Parameters::swap_ab().
Referenced by main().
Complex_CIS_Parameters madness::Zcis::cis_param |
the parameters
Referenced by Zcis(), active_mo(), compute_potentials(), compute_residuals(), iterate(), make_guess(), noct(), read_guess(), and value().
std::shared_ptr<Znemo> madness::Zcis::nemo |
the reference
Referenced by canonicalize(), compare_to_file(), compute_potentials(), compute_residuals(), iterate(), make_guess(), and value().
QProjector<double_complex,3> madness::Zcis::Qa |
orthogonality projector
Referenced by Zcis(), compute_potentials(), compute_residuals(), make_guess(), and value().
QProjector<double_complex,3> madness::Zcis::Qb |
Referenced by Zcis(), compute_potentials(), compute_residuals(), make_guess(), and value().
std::vector<root> madness::Zcis::roots |
the x vectors
Referenced by compute_fock_pt(), compute_potentials(), iterate(), normalize(), orthonormalize(), orthonormalize(), save_guess(), and value().
World& madness::Zcis::world |
the world
Referenced by canonicalize(), compare_to_file(), compute_fock_pt(), compute_potentials(), compute_residuals(), iterate(), make_guess(), normalize(), orthonormalize(), orthonormalize(), read_guess(), save_guess(), and transform().