MADNESS  0.10.1
Classes | Functions | Variables
hatom_sf_dirac.cc File Reference
#include <fstream>
#include <iostream>
#include <algorithm>
#include <madness/mra/mra.h>
#include <madness/mra/operator.h>
#include <madness/mra/lbdeux.h>
#include <madness/mra/nonlinsol.h>
#include <madness/chem/atomutil.h>
Include dependency graph for hatom_sf_dirac.cc:

Classes

struct  allocator
 
struct  F
 
struct  LBCost
 
class  Vderiv
 

Functions

std::tuple< double, double, double, double > compute_energy (World &world, real_function_3d &V, real_function_3d &psi, real_function_3d &phi)
 
double exact_energy (double Z)
 
double inner (const F &a, const F &b)
 
template<typename solverT >
std::tuple< real_function_3d, real_function_3d, double > iterate (World &world, const real_function_3d &V, const real_function_3d gradV[3], const real_function_3d &mask, const real_function_3d &psi, const real_function_3d &phi, const double energy, const int iter, solverT &solver)
 
int main (int argc, char **argv)
 
double mask1 (double x)
 
static double mask3 (const coord_3d &ruser)
 
static double phi_guess (const coord_3d &r)
 
static double psi_guess (const coord_3d &r)
 
real_function_3d pVp (World &world, const real_function_3d &V, const real_function_3d &phi)
 
real_function_3d pVp (World &world, const real_function_3d &V, const real_function_3d gradV[3], const real_function_3d &phi)
 
void run (World &world)
 
static double V (const coord_3d &r)
 

Variables

static const double c = 137.035999679
 
static const double eprec = 0.0
 
static const long k = 8
 
static const double L = 40.0/Z
 
static const double rcut = 1e-4
 
static const double thresh = 1e-6
 
static const double v = std::sqrt(1.0 - Z*Z/(c*c)) - 1.0
 
static const int Vtruncmode = (Z<=10 && thresh>1e-10) ? 1 : 0
 
static const double Z = 80.0
 

Function Documentation

◆ compute_energy()

std::tuple<double,double,double,double> compute_energy ( World world,
real_function_3d V,
real_function_3d psi,
real_function_3d phi 
)

References axis, madness::inner(), psi(), and V().

Referenced by run().

◆ exact_energy()

double exact_energy ( double  Z)

References a2, c, and Z.

Referenced by phi_guess(), psi_guess(), and run().

◆ inner()

double inner ( const F a,
const F b 
)

References a, b, and madness::inner().

◆ iterate()

template<typename solverT >
std::tuple<real_function_3d, real_function_3d, double> iterate ( World world,
const real_function_3d V,
const real_function_3d  gradV[3],
const real_function_3d mask,
const real_function_3d psi,
const real_function_3d phi,
const double  energy,
const int  iter,
solverT &  solver 
)

◆ main()

int main ( int  argc,
char **  argv 
)

◆ mask1()

double mask1 ( double  x)
inline

◆ mask3()

static double mask3 ( const coord_3d ruser)
static

◆ phi_guess()

static double phi_guess ( const coord_3d r)
static

References c, exact_energy(), madness::constants::pi, R, and Z.

Referenced by run().

◆ psi_guess()

static double psi_guess ( const coord_3d r)
static

References c, exact_energy(), madness::constants::pi, pow(), R, rcut, v, and Z.

Referenced by run().

◆ pVp() [1/2]

real_function_3d pVp ( World world,
const real_function_3d V,
const real_function_3d phi 
)

References axis, c, and V().

◆ pVp() [2/2]

real_function_3d pVp ( World world,
const real_function_3d V,
const real_function_3d  gradV[3],
const real_function_3d phi 
)

References axis, c, and V().

Referenced by iterate().

◆ run()

void run ( World world)

◆ V()

static double V ( const coord_3d r)
static

References rcut, madness::smoothed_potential(), and Z.

Referenced by compute_energy(), iterate(), pVp(), and run().

Variable Documentation

◆ c

const double c = 137.035999679
static

◆ eprec

const double eprec = 0.0
static

◆ k

const long k = 8
static

Referenced by run().

◆ L

const double L = 40.0/Z
static

Referenced by run().

◆ rcut

const double rcut = 1e-4
static

◆ thresh

const double thresh = 1e-6
static

Referenced by iterate(), and run().

◆ v

const double v = std::sqrt(1.0 - Z*Z/(c*c)) - 1.0
static

Referenced by madness::CC_vecfunction::CC_vecfunction(), Fred::Fred(), madness::Future< std::vector< Future< T > > >::Future(), madness::LBDeuxPmap< NDIM >::LBDeuxPmap(), matrix< FLOAT >::matrix(), madness::MyPmap< D >::MyPmap(), madness::WorldContainerIterator< internal_iteratorT >::WorldContainerIterator(), a(), madness::abssq(), madness::scf_data::add_data(), madness::FunctionImpl< R, NDIM >::add_scalar_inplace(), madness::Znemo::analyze(), madness::append(), madness::apply(), KPeriodicBSHOperator::apply(), apply_mask(), apply_potential(), madness::projector_irrep::apply_symmetry_operators(), apply_U_mix(), madness::Group::Impl::begin(), madness::FunctionImpl< T, NDIM >::broaden_op(), madness::MyPmap< D >::build_tree_map(), c_uks_vwn5__(), madness::c_uks_vwn5__(), madness::TDHF::canonicalize(), madness::change_tree_state(), madness::LowRankFunction< T, NDIM, LDIM >::check_orthonormality(), madness::PNO::check_orthonormality(), madness::CCPair::cloud_load(), custom_serialize_tester::cloud_load(), madness::CCPair::cloud_store(), custom_serialize_tester::cloud_store(), madness::compress(), madness::F12Potentials::compute_fQc_integrals_ij(), compute_madelung_energy(), compute_madelung_energy_PWSCF(), madness::WorldGopInterface::concat0(), madness::conj(), madness::convert(), madness::copy(), madness::Batch_1D::copy_batch(), diag_and_transform(), madness::div(), EwaldNuclearPotentialFunctor::do_G_sum_v1(), EwaldNuclearPotentialFunctor::do_G_sum_v2(), EwaldNuclearPotentialFunctor::do_R_sum_v1(), Node::do_sum(), Node::do_sum_spawn(), MiniDFT::doit(), doit(), madness::FunctionImpl< T, NDIM >::downsample(), madness::Group::Impl::end(), energy(), madness::Key< NDIM >::extract_complement_key(), madness::BasisFunctions::fill_up(), geev_(), madness::Future< std::vector< Future< T > > >::get(), Fred::get(), madness::PNO::get_average_rank(), madness::FunctionImpl< T, NDIM >::get_contraction_node_lists(), madness::get_impl(), madness::get_size(), madness::Random::getbytes(), madness::Random::getv(), Test2::gradient(), hamiltonian_matrix(), madness::hash_combine(), HO_vphi_3d(), madness::imag(), madness::impl2function(), initial_guess(), madness::Batch_1D::insert_batch(), madness::Batch::insert_result_batch(), madness::BoundaryConditions< NDIM >::is_periodic(), std::isnan(), iterate(), jacobi(), kinetic_energy_matrix(), madness::SCF::kinetic_energy_matrix(), madness::Kinetic< T, NDIM >::kinetic_energy_matrix(), MiniDFT::kinetic_energy_matrix(), kinetic_energy_matrix2(), kinetic_energy_matrix_slow(), line_plot(), linspace(), madness::archive::ArchiveLoadImpl< Archive, std::array< T, N >, std::enable_if_t< is_serializable_v< Archive, T > > >::load(), madness::archive::ArchiveLoadImpl< Archive, std::string >::load(), madness::archive::ArchiveLoadImpl< Archive, std::vector< bool, Alloc > >::load(), madness::archive::ArchiveLoadImpl< Archive, std::vector< Future< T > > >::load(), madness::archive::ArchiveLoadImpl< Archive, std::vector< T, Alloc >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > >::load(), LSQ(), main(), madness::TDHF::make_bra(), madness::SCF::make_density(), make_density(), MiniDFT::make_density(), make_exp(), madness::FunctionImpl< T, NDIM >::make_key_vec_map(), make_kinetic_matrix(), madness::Solver< T, NDIM >::make_kinetic_matrix(), madness::make_nonstandard(), madness::make_redundant(), madness::FunctionImpl< T, NDIM >::make_redundant_op(), madness::SRConf< T >::make_vector_with_weights(), moments(), madness::mul(), madness::mul_sparse(), madness::Function< T, NDIM >::multiop_values(), madness::FunctionImpl< T, NDIM >::multiop_values(), madness::FunctionImpl< T, NDIM >::multiop_values_doit(), madness::multiply(), QuasiNewton::new_search_direction(), madness::QuasiNewton::new_search_direction(), madness::MolecularOptimizer::new_search_direction2(), madness::nonstandard(), norm(), madness::norm2(), madness::norm2s(), madness::norm2s_T(), madness::norm_tree(), madness::FunctionImpl< T, NDIM >::norm_tree_op(), madness::FunctionImpl< T, NDIM >::norm_tree_spawn(), madness::normalize(), normalize2(), Guess::operator()(), madness::R_times_arg_div_R::operator()(), QMtest::operator()(), YetAnotherWrapperClass::operator()(), madness::GenericConvolution1D< Q, opT >::Shmoo::operator()(), matrix< FLOAT >::operator()(), madness::operator*(), Fred::operator+=(), madness::operators::operator<<(), Fred::operator=(), madness::operator>>(), opt(), madness::MolecularOptimizer::optimize_quasi_newton(), orth(), madness::orthonormalize_canonical(), madness::orthonormalize_cd(), madness::orthonormalize_rrcd(), madness::orthonormalize_symmetric(), Array::owner(), madness::FunctionImpl< R, NDIM >::parent_to_child(), madness::FunctionImpl< T, NDIM >::partial_inner_contract(), periodic_sum_accelerated(), madness::plot_line_print_value(), Calculation::plot_p(), madness::ThreadPool::pool_thread_main(), DF::pop(), molresponse::pop(), madness::pop(), madness::WorldProfile::print(), AtomicBasisSet::print_anal(), madness::AtomicBasisSet::print_anal(), madness::print_size(), print_stats(), projector_external_dof(), madness::MolecularOptimizer::projector_external_dof(), psi_guess(), random_perm(), Array::read(), Plotter::read_cell(), madness::real(), madness::PNOPairs::reassemble(), madness::reconstruct(), madness::WorldProfile::recv_stats(), madness::reduce_rank(), madness::FunctionImpl< T, NDIM >::refine_to_common_level(), madness::permutation::remove_duplicates(), rk_v(), madness::GaussianConvolution1D< Q >::rnlp(), madness::rot(), madness::Znemo::rotate_subspace(), madness::Nemo::rotate_subspace(), madness::SCF::rotate_subspace(), run(), madness::scalar_result_shared_ptr_vector(), madness::scale(), Node::set(), Fred::set(), madness::CC_vecfunction::set_functions(), madness::set_impl(), madness::set_thresh(), madness::projector_irrep::set_verbosity(), madness::Group::Impl::size(), madness::FunctionImpl< R, NDIM >::sock_it_to_me(), madness::SpectralPropagator::solve(), madness::BinSorter< T, inserterT >::sorter(), MolecularMaskBase::special_points(), madness::square(), madness::standard(), madness::SpectralPropagatorGaussLobatto::step(), madness::SpectralPropagator::step(), madness::archive::ArchiveStoreImpl< Archive, std::array< T, N >, std::enable_if_t< is_serializable_v< Archive, T > > >::store(), madness::archive::ArchiveStoreImpl< Archive, std::string >::store(), madness::archive::ArchiveStoreImpl< Archive, std::vector< bool, Alloc > >::store(), madness::archive::ArchiveStoreImpl< Archive, std::vector< Future< T > > >::store(), madness::archive::ArchiveStoreImpl< Archive, std::vector< T, Alloc >, std::enable_if_t<!is_future< T >::value &&is_serializable_v< Archive, T > > >::store(), madness::archive::ArchiveStoreImpl< ParallelOutputArchive< ContainerRecordOutputArchive >, WorldContainer< keyT, valueT > >::store(), madness::Cloud::store_tuple(), madness::TDHF::symmetrize(), tabulate(), tensor2vec(), test13(), test8(), test9(), TEST_CASE(), test_chin_chen(), test_convolution(), test_florian(), test_immediate(), test_in(), test_lda(), test_out(), test_qm(), test_time(), test_trotter(), test_XCOperator(), madness::transform(), madness::Zcis::transform(), transform(), madness::transform_reconstructed(), madness::truncate(), madness::FunctionImpl< T, NDIM >::truncate_op(), madness::FunctionImpl< T, NDIM >::truncate_reconstructed_op(), madness::FunctionImpl< T, NDIM >::truncate_reconstructed_spawn(), madness::FunctionImpl< T, NDIM >::truncate_spawn(), madness::SpectralPropagator::u(), madness::SpectralPropagatorGaussLobatto::u(), Test2::value(), Fred::value_and_gradient(), vec2tensor(), madness::vector_factory(), madness::SCF::vector_stats(), madness::verify_tree(), madness::Function< T, NDIM >::vimpl(), madness::Function< T, NDIM >::vtransform(), and Array::write().

◆ Vtruncmode

const int Vtruncmode = (Z<=10 && thresh>1e-10) ? 1 : 0
static

Referenced by run().

◆ Z

const double Z = 80.0
static